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>2010-11-20 10:41:00 +0300
committerjfrijters <jfrijters>2010-11-20 10:41:00 +0300
commit1eeadb53331c1013870c15bda88a3caaa26645a9 (patch)
tree69aabf2cfb765d6fd6cc7c9d7ee03199b0756937 /openjdk/map.xml
parentd22a8e25af558960ca4fd3cb08321a09d111e2ed (diff)
- Replaced reflection based implementation of isCCLOverridden() with an MSIL version that directly compares the method pointers.
- Always use isCCLOverridden() to determine if we need to call parent.getContextClassLoader(), this avoids resolving ClassLoader.DUMMY when we're creating a new thread.
Diffstat (limited to 'openjdk/map.xml')
-rw-r--r--openjdk/map.xml16
1 files changed, 16 insertions, 0 deletions
diff --git a/openjdk/map.xml b/openjdk/map.xml
index b46491df..237f844b 100644
--- a/openjdk/map.xml
+++ b/openjdk/map.xml
@@ -1390,6 +1390,22 @@
<class name="java.lang.Thread">
<field name="parkLock" sig="Ljava.lang.Object;" modifiers="" />
<field name="parkState" sig="I" modifiers="" />
+ <method name="isCCLOverridden" sig="(Ljava.lang.Thread;)Z">
+ <body>
+ <ldftn class="java.lang.Thread" name="getContextClassLoader" sig="()Ljava.lang.ClassLoader;" />
+ <ldarg_0 />
+ <ldvirtftn class="java.lang.Thread" name="getContextClassLoader" sig="()Ljava.lang.ClassLoader;" />
+ <ceq />
+ <ldftn class="java.lang.Thread" name="setContextClassLoader" sig="(Ljava.lang.ClassLoader;)V" />
+ <ldarg_0 />
+ <ldvirtftn class="java.lang.Thread" name="setContextClassLoader" sig="(Ljava.lang.ClassLoader;)V" />
+ <ceq />
+ <and />
+ <ldc_i4_0 />
+ <ceq />
+ <ret />
+ </body>
+ </method>
</class>
<class name="java.lang.ThreadGroup">
<method name="createRootGroup" sig="()Ljava.lang.ThreadGroup;" modifiers="static">