Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/ikvm-fork.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjfrijters <jfrijters>2011-07-11 11:35:47 +0400
committerjfrijters <jfrijters>2011-07-11 11:35:47 +0400
commite2493b96187d2fa5115f2ddc974cfd85986cd04e (patch)
tree5d871b843bb8864cfca5cbfaf92d3767ee91f64b /openjdk/map.xml
parent141e584ee62343bbfffa6b75dac9f25a4aaf5452 (diff)
Fixed Thread.isCCLOverridden() bug. If the [g|s]etContextClassLoader() methods were not JITted before isCCLOverridden(), ldftn would return the JIT stub address and the vtable could contain the JITted method address.
Diffstat (limited to 'openjdk/map.xml')
-rw-r--r--openjdk/map.xml9
1 files changed, 9 insertions, 0 deletions
diff --git a/openjdk/map.xml b/openjdk/map.xml
index 8604cd4f..e5920387 100644
--- a/openjdk/map.xml
+++ b/openjdk/map.xml
@@ -1436,6 +1436,15 @@
<class name="java.lang.Thread">
<field name="parkLock" sig="Ljava.lang.Object;" modifiers="" />
<field name="parkState" sig="I" modifiers="" />
+ <method name="prepareCCL" sig="()V">
+ <body>
+ <ldtoken class="java.lang.Thread" method="getContextClassLoader" sig="()Ljava.lang.ClassLoader;" />
+ <call class="cli.System.Runtime.CompilerServices.RuntimeHelpers" name="PrepareMethod" sig="(Lcli.System.RuntimeMethodHandle;)V" />
+ <ldtoken class="java.lang.Thread" method="setContextClassLoader" sig="(Ljava.lang.ClassLoader;)V" />
+ <call class="cli.System.Runtime.CompilerServices.RuntimeHelpers" name="PrepareMethod" sig="(Lcli.System.RuntimeMethodHandle;)V" />
+ <ret />
+ </body>
+ </method>
<method name="isCCLOverridden" sig="(Ljava.lang.Thread;)Z">
<body>
<ldftn class="java.lang.Thread" name="getContextClassLoader" sig="()Ljava.lang.ClassLoader;" />