corda/sgx-jvm/avian/vm.pro
Chris Rankin 9411c223af Squashed commit of the following: (#15)
commit fabf4dd0cca19118c59c925f572a655d1d9c4092
Author: Joel Dice <joel.dice@gmail.com>
Date:   Sun Jul 9 17:36:06 2017 -0600

    reserve a little more stack space for worst-case lambda expressions

commit 24b95016dd6f62fa4a82312310fcb5c55cc22f93
Author: Joel Dice <joel.dice@gmail.com>
Date:   Sun Jul 9 17:33:39 2017 -0600

    support constructor references

commit a329416f4f37840d2a5d7976874585413cd4c6af
Author: Joel Dice <joel.dice@gmail.com>
Date:   Sun Jul 9 17:11:19 2017 -0600

    normalize class name in Classes.forName

    This fixes a Tomcat classloading issue when using the OpenJDK class library.

commit ecafdf40baf2f3cde4835620e9af4380b1081fe7
Author: Joel Dice <joel.dice@gmail.com>
Date:   Sun Jul 9 16:58:04 2017 -0600

    fix some lambda bugs

commit 552dfd779baf077cc6445b4042588e4b6e34f3d2
Merge: 63dda56 aa2f25d
Author: Joel Dice <joel.dice@gmail.com>
Date:   Sat Jul 8 10:57:59 2017 -0600

    Merge remote-tracking branch 'corda/chrisr3-invoking-extension'

commit 63dda560f8648a793bdb609879076ab729b17e19
Merge: 3ec983d e589f10
Author: Joel Dice <joel.dice@gmail.com>
Date:   Sat Jul 8 10:54:53 2017 -0600

    Merge pull request #538 from dicej/master

    avoid definePackage infinite recursion with OpenJDK class library

commit aa2f25da404b2fc168a672392df939b52ea250ab
Author: Chris Rankin <chris.rankin@r3.com>
Date:   Mon Jul 3 17:26:41 2017 +0100

    Add support for "invokevirtual" and "invokeinterface".
    The "invokeinterface" support seems to be broken for lambdas that require native types to be boxed/unboxed.

commit e589f105741ea36d07bba1e300c7ed69c33a22d1
Author: Joel Dice <joel.dice@gmail.com>
Date:   Sun Jul 2 19:43:36 2017 -0600

    avoid definePackage infinite recursion with OpenJDK class library

commit 3ec983dd82e01b36fb96411df345a54119a68181
Merge: 6f6bdd7 78881d4
Author: Joel Dice <joel.dice@gmail.com>
Date:   Tue Jun 13 09:50:49 2017 -0600

    Merge pull request #534 from lwahlmeier/fileGetParentFile

    fixed File.getParent when getting parent returns root

commit 78881d427cd474c14f5ce94484f5253de564074b
Author: Luke Wahlmeier <lwahlmeier@gmail.com>
Date:   Tue May 30 13:42:56 2017 -0600

    fixed File.getParent when getting parent returns root

commit 6f6bdd7d5c171e0c4c807d0a4f3aa676461307de
Merge: 8b694f9 b22343e
Author: Joel Dice <joel.dice@gmail.com>
Date:   Mon May 22 12:58:09 2017 -0600

    Merge pull request #529 from mikehearn/proguard-fixes

    Some fixes to the ProGuard files

commit 8b694f961496f2d47a377254f61153b0338335fd
Merge: dfae414 61c82e1
Author: Joel Dice <joel.dice@gmail.com>
Date:   Mon May 22 12:57:54 2017 -0600

    Merge pull request #531 from mikehearn/fileinputstream-compat

    FileInputStream has wrapped some more native methods

commit dfae414da8da57049076c16c43472cc32bdeb07c
Merge: 16dd804 d7a6f68
Author: Joel Dice <joel.dice@gmail.com>
Date:   Mon May 22 12:57:38 2017 -0600

    Merge pull request #532 from mikehearn/use-symlinks

    Symlink OpenJDK files rather than hardlink

commit d7a6f68235b2d42c03aba36f1bb48d173adb4fa6
Author: Mike Hearn <mike@plan99.net>
Date:   Sun May 14 21:42:06 2017 +0200

    Symlink OpenJDK files rather than hardlink

commit 61c82e1070d857bcdc7a4f086d13836d9608da00
Author: Mike Hearn <mike@plan99.net>
Date:   Sun May 14 21:40:52 2017 +0200

    FileInputStream has wrapped some more native methods in recent OpenJDK releases

commit b22343eb6731f1df2631635e2fcf9d51817273fe
Author: Mike Hearn <mike@plan99.net>
Date:   Sun May 14 21:38:09 2017 +0200

    Some fixes to the ProGuard files

commit 16dd804f392168497fa17ab682978f938e291bfb
Merge: e2d3270 19deadd
Author: Joel Dice <joel.dice@gmail.com>
Date:   Wed Mar 22 16:00:30 2017 -0600

    Merge pull request #526 from MaartenR/arrays-binsearch

    Added integer array binary search methods to Arrays class

commit e2d3270fe8e92203b6107b95f862ff5bd245c37a
Merge: dee99d6 545b9c8
Author: Joel Dice <joel.dice@gmail.com>
Date:   Wed Mar 22 16:00:20 2017 -0600

    Merge pull request #527 from MaartenR/integer-nolz

    Added numberOfLeadingZeros method to Integer class

commit 545b9c8732a6ea026285b1edf976a79eb541ef2e
Author: Maarten Raaphorst <mwraaphorst@gmail.com>
Date:   Tue Mar 14 11:23:36 2017 +0100

    Tested more negative numbers

commit b45bcf09535daef99ed31451ae55db8bec83164c
Author: Maarten Raaphorst <mwraaphorst@gmail.com>
Date:   Tue Mar 14 10:47:27 2017 +0100

    Added unit test for numberOfLeadingZeros method of the Integer class

commit 19deadd36bbfc02a8c13e6d91963e41f5125057f
Author: Maarten Raaphorst <mwraaphorst@gmail.com>
Date:   Mon Mar 13 12:19:17 2017 +0100

    Fixed mistake with end index being exclusive

commit 7271c0b7077ae3bef473e036aa0f0298a9eb0601
Author: Maarten Raaphorst <mwraaphorst@gmail.com>
Date:   Fri Mar 10 11:17:13 2017 +0100

    Added numberOfLeadingZeros method to Integer class

commit 023bb69acd071348f29cd43ff954d3dcf2856c7c
Author: Maarten Raaphorst <mwraaphorst@gmail.com>
Date:   Thu Mar 9 13:43:03 2017 +0100

    Added integer array binary search methods to Arrays class

commit dee99d6dd60b743a870d1a2c58183649c8a6449c
Merge: f7a651d 6c90953
Author: Joel Dice <joel.dice@gmail.com>
Date:   Wed Mar 1 08:39:32 2017 -0700

    Merge pull request #525 from MaartenR/master

    Added functionality to HttpURLConnection for obtaining content length

commit 6c90953745be5451ac9a028639f94e3fcc43d7f3
Author: Maarten Raaphorst <raaphorst@serviceplanet.nl>
Date:   Wed Mar 1 14:19:51 2017 +0100

    Made http headers case insensitive

commit 2c3a82d2b387251a8932ddb6575e718c2c1785a7
Author: Maarten Raaphorst <mwraaphorst@gmail.com>
Date:   Fri Feb 3 05:42:56 2017 -0800

    Added functionality to HttpURLConnection for obtaining content length
2017-07-10 17:01:56 +01:00

137 lines
5.6 KiB
Prolog

# proguard include file (http://proguard.sourceforge.net)
# Enums have methods and members that are called reflectively in both Avian and OpenJDK.
-keepclassmembers enum * {
**[] $VALUES;
public *;
public static **[] values();
}
# the VM depends on the fixed layout of the following classes:
-keepclassmembers class java.lang.Class { !static <fields>; }
-keepclassmembers class java.lang.ClassLoader { !static <fields>; }
-keepclassmembers class java.lang.String { !static <fields>; }
-keepclassmembers class java.lang.Thread { !static <fields>; }
-keepclassmembers class java.lang.ThreadGroup { !static <fields>; }
-keepclassmembers class java.lang.StackTraceElement { !static <fields>; }
-keepclassmembers class java.lang.Throwable { !static <fields>; }
-keepclassmembers class java.lang.Byte { !static <fields>; }
-keepclassmembers class java.lang.Boolean { !static <fields>; }
-keepclassmembers class java.lang.Short { !static <fields>; }
-keepclassmembers class java.lang.Character { !static <fields>; }
-keepclassmembers class java.lang.Integer { !static <fields>; }
-keepclassmembers class java.lang.Long { !static <fields>; }
-keepclassmembers class java.lang.Float { !static <fields>; }
-keepclassmembers class java.lang.Double { !static <fields>; }
-keepclassmembers class java.lang.ref.Reference { !static <fields>; }
-keepclassmembers class java.lang.ref.ReferenceQueue { !static <fields>; }
-keepclassmembers class java.lang.ref.WeakReference { !static <fields>; }
-keepclassmembers class java.lang.ref.PhantomReference { !static <fields>; }
-keepclassmembers class java.lang.reflect.Field { !static <fields>; }
-keepclassmembers class java.lang.reflect.Method { !static <fields>; }
-keepclassmembers class java.lang.reflect.Constructor { !static <fields>; }
-keepclassmembers class java.lang.reflect.AccessibleObject { !static <fields>; }
-keepclassmembers class sun.reflect.ConstantPool { !static <fields>; }
-keepclassmembers class avian.VMClass { !static <fields>; }
-keepclassmembers class avian.VMMethod { !static <fields>; }
-keepclassmembers class avian.VMField { !static <fields>; }
-keepclassmembers class avian.ClassAddendum { !static <fields>; }
-keepclassmembers class avian.MethodAddendum { !static <fields>; }
-keepclassmembers class avian.FieldAddendum { !static <fields>; }
-keepclassmembers class avian.Continuations$Continuation { !static <fields>; }
-keepclassmembers class avian.Continuations$UnwindResult { !static <fields>; }
# the VM may throw instances of the following:
-keep public class avian.IncompatibleContinuationException
-keep public class java.lang.Exception
-keep public class java.lang.RuntimeException
-keep public class java.lang.IllegalStateException
-keep public class java.lang.IllegalArgumentException
-keep public class java.lang.IllegalMonitorStateException
-keep public class java.lang.IllegalThreadStateException
-keep public class java.lang.IndexOutOfBoundsException
-keep public class java.lang.ArrayIndexOutOfBoundsException
-keep public class java.lang.ArrayStoreException
-keep public class java.lang.NegativeArraySizeException
-keep public class java.lang.CloneNotSupportedException
-keep public class java.lang.ClassCastException
-keep public class java.lang.ClassNotFoundException
-keep public class java.lang.NullPointerException
-keep public class java.lang.ArithmeticException
-keep public class java.lang.InterruptedException
-keep public class java.lang.StackOverflowError
-keep public class java.lang.NoSuchFieldError
-keep public class java.lang.NoSuchMethodError
-keep public class java.lang.AbstractMethodError
-keep public class java.lang.UnsatisfiedLinkError
-keep public class java.lang.ExceptionInInitializerError
-keep public class java.lang.OutOfMemoryError
-keep public class java.lang.IncompatibleClassChangeError
-keep public class java.lang.reflect.InvocationTargetException
-keep public class java.io.IOException
-keep public class java.io.FileNotFoundException
-keep public class java.net.SocketException
-keep public class java.net.UnknownHostException
-keep public class java.util.Locale
# ClassLoader.getSystemClassloader() depends on the existence of this class:
-keep class avian.SystemClassLoader
# the VM references these classes by name, so protect them from obfuscation:
-keepnames public class java.lang.**
-keepnames public class avian.**
# Don't optimize calls to ResourceBundle
-keep,allowshrinking,allowobfuscation public class java.util.ResourceBundle {
public static java.util.ResourceBundle getBundle(...);
}
# musn't obfuscate native method names:
-keepclasseswithmembernames class * {
native <methods>;
}
# Thread.run is called by name in the VM
-keepclassmembers class java.lang.Thread {
private static void run(java.lang.Thread);
public void run();
}
# when continuations are enabled, the VM may call these methods by name:
-keepclassmembers class avian.Continuations {
*** wind(...);
*** rewind(...);
}
-keepclassmembernames class avian.CallbackReceiver {
*** receive(...);
}
# the above methods include these classes in their signatures:
-keepnames public class avian.Callback
-keepnames public class java.util.concurrent.Callable
# Proguard gets confused about clone() and array classes (http://sourceforge.net/tracker/index.php?func=detail&aid=2851344&group_id=54750&atid=474704):
-keepclassmembers class java.lang.Object {
protected java.lang.Object clone();
}
# called by name in the VM:
-keepclassmembers class java.lang.ClassLoader {
public java.lang.Class loadClass(java.lang.String);
}
-keepclassmembers class avian.Classes {
public java.security.ProtectionDomain getProtectionDomain(avian.VMClass);
}