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>2007-06-28 18:00:10 +0400
committerjfrijters <jfrijters>2007-06-28 18:00:10 +0400
commit506e7a658426d3c9e13ec4414c9285690f7f25c1 (patch)
tree1bd66a6083234855939006110ba76933453d9d08 /openjdk/map.xml
parenta2163308105cb75ccb84e9423d02fc64af8b8b74 (diff)
- Implemented java.util.concurrent.locks.LockSupport.
- Fixed race condition in Thread.interrupt() that could cause cli.System.Threading.ThreadInterruptedException to be thrown from interruptable waits/sleep.
Diffstat (limited to 'openjdk/map.xml')
-rw-r--r--openjdk/map.xml48
1 files changed, 48 insertions, 0 deletions
diff --git a/openjdk/map.xml b/openjdk/map.xml
index 6833470b..604a6632 100644
--- a/openjdk/map.xml
+++ b/openjdk/map.xml
@@ -1191,6 +1191,8 @@
</class>
<class name="java.lang.Thread">
<field name="vmThread" sig="Ljava.lang.Object;" modifiers="private" />
+ <field name="parkLock" sig="Ljava.lang.Object;" modifiers="" />
+ <field name="parkState" sig="I" modifiers="" />
<method name="getState" sig="()Ljava.lang.Thread$State;">
<body>
<ldarg_0 />
@@ -1200,6 +1202,52 @@
</body>
</method>
</class>
+ <class name="java.util.concurrent.locks.LockSupport">
+ <method name="cmpxchgParkState" sig="(Ljava.lang.Thread;II)I">
+ <body>
+ <ldarg_0 />
+ <ldflda class="java.lang.Thread" name="parkState" sig="I" />
+ <ldarg_1 />
+ <ldarg_2 />
+ <call type="System.Threading.Interlocked" name="CompareExchange" sig="System.Int32&amp;;System.Int32;System.Int32" />
+ <ret />
+ </body>
+ </method>
+ <method name="getBlocker" sig="(Ljava.lang.Thread;)Ljava.lang.Object;">
+ <body>
+ <ldarg_0 />
+ <volatile />
+ <ldfld class="java.lang.Thread" name="parkBlocker" sig="Ljava.lang.Object;" />
+ <ret />
+ </body>
+ </method>
+ <method name="setBlocker" sig="(Ljava.lang.Thread;Ljava.lang.Object;)V">
+ <body>
+ <ldarg_0 />
+ <ldarg_1 />
+ <volatile />
+ <stfld class="java.lang.Thread" name="parkBlocker" sig="Ljava.lang.Object;" />
+ <ret />
+ </body>
+ </method>
+ <method name="getParkLock" sig="(Ljava.lang.Thread;)Ljava.lang.Object;">
+ <body>
+ <ldarg_0 />
+ <volatile />
+ <ldfld class="java.lang.Thread" name="parkLock" sig="Ljava.lang.Object;" />
+ <ret />
+ </body>
+ </method>
+ <method name="setParkLock" sig="(Ljava.lang.Thread;Ljava.lang.Object;)V">
+ <body>
+ <ldarg_0 />
+ <ldarg_1 />
+ <volatile />
+ <stfld class="java.lang.Thread" name="parkLock" sig="Ljava.lang.Object;" />
+ <ret />
+ </body>
+ </method>
+ </class>
<class name="ikvm.internal.EnumEnum">
<field name="typeWrapper" sig="Ljava.lang.Object;" modifiers="private" />
</class>