diff options
author | jfrijters <jfrijters> | 2011-08-10 16:03:23 +0400 |
---|---|---|
committer | jfrijters <jfrijters> | 2011-08-10 16:03:23 +0400 |
commit | ad86240f0e6823459984976280ac93dc10b8af11 (patch) | |
tree | a122320ddae95c30f6a1ca929eb20e0cec571cc0 | |
parent | 7786fc87b82051caf03657184704775f1dabeabe (diff) |
Prevent inlining of the reflective invoke/invokeExact methods into the reflection dispatch DynamicMethod (as that screws up the exception location detection in the reflection dispatch method).
-rw-r--r-- | openjdk/map.xml | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/openjdk/map.xml b/openjdk/map.xml index 016bac28..7a904d47 100644 --- a/openjdk/map.xml +++ b/openjdk/map.xml @@ -2774,6 +2774,9 @@ <!-- NOTE Modifiers.Final and MethodAttributes.NewSlot is recognized by AotTypeWrapper.MapModifiers() as a magic combination that generates a non-virtual method --> <method name="reflectionInvoke" sig="([Ljava.lang.Object;)Ljava.lang.Object;" modifiers="final" attributes="NewSlot"> <throws class="java.lang.Throwable" /> + <attribute type="System.Runtime.CompilerServices.MethodImplAttribute" sig="(Lcli.System.Runtime.CompilerServices.MethodImplOptions;)V"> + <parameter>NoInlining</parameter> + </attribute> <attribute type="IKVM.Attributes.NameSigAttribute" sig="(Ljava.lang.String;Ljava.lang.String;)V"> <parameter>invoke</parameter> <parameter>([Ljava.lang.Object;)Ljava.lang.Object;</parameter> @@ -2790,6 +2793,9 @@ <!-- NOTE Modifiers.Final and MethodAttributes.NewSlot is recognized by AotTypeWrapper.MapModifiers() as a magic combination that generates a non-virtual method --> <method name="reflectionInvokeExact" sig="([Ljava.lang.Object;)Ljava.lang.Object;" modifiers="final" attributes="NewSlot"> <throws class="java.lang.Throwable" /> + <attribute type="System.Runtime.CompilerServices.MethodImplAttribute" sig="(Lcli.System.Runtime.CompilerServices.MethodImplOptions;)V"> + <parameter>NoInlining</parameter> + </attribute> <attribute type="IKVM.Attributes.NameSigAttribute" sig="(Ljava.lang.String;Ljava.lang.String;)V"> <parameter>invokeExact</parameter> <parameter>([Ljava.lang.Object;)Ljava.lang.Object;</parameter> |