diff options
author | jfrijters <jfrijters> | 2007-06-28 18:00:10 +0400 |
---|---|---|
committer | jfrijters <jfrijters> | 2007-06-28 18:00:10 +0400 |
commit | 506e7a658426d3c9e13ec4414c9285690f7f25c1 (patch) | |
tree | 1bd66a6083234855939006110ba76933453d9d08 /openjdk/map.xml | |
parent | a2163308105cb75ccb84e9423d02fc64af8b8b74 (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.xml | 48 |
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&;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> |