diff --git a/openjdk.pro b/openjdk.pro index 14bb9f91f8..2393930fff 100644 --- a/openjdk.pro +++ b/openjdk.pro @@ -312,3 +312,23 @@ *** match; *** next; } + +# These classes are accessed via bytecode generated on the fly. +-keepclassmembers class java.lang.reflect.Proxy { + ; +} + +-keepclassmembers class java.lang.reflect.InvocationHandler { + ; +} + +# Don't strip special enum members. +-keepclassmembers,allowoptimization enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +-keepclassmembers class java.lang.reflect.Executable { + ; +} + diff --git a/vm.pro b/vm.pro index 0eee875cfe..ebc6f7c7e0 100644 --- a/vm.pro +++ b/vm.pro @@ -129,3 +129,7 @@ -keepclassmembers class java.lang.ClassLoader { public java.lang.Class loadClass(java.lang.String); } + + -keepclassmembers class avian.Classes { + public java.security.ProtectionDomain getProtectionDomain(avian.VMClass); + }