diff options
author | jfrijters <jfrijters> | 2007-12-27 18:16:49 +0300 |
---|---|---|
committer | jfrijters <jfrijters> | 2007-12-27 18:16:49 +0300 |
commit | e2c7ceb1d5a6dc5efbe0068689030c1a52be5dea (patch) | |
tree | 96c8d0b91942853b46f4ebd71efa081cc3ecf03a /openjdk/map.xml | |
parent | 29b48a5948ae88ad2e360ae4c4546067d461054f (diff) |
- Moved some calls to methods with a LinkDemand (that fails in partial trust) to a separate methods.
- Added stuff to map.xml to remove the need for reflection in VM / Library bootstrap.
- Inverted IKVM.Runtime.JNI dependency in stack walking code.
Diffstat (limited to 'openjdk/map.xml')
-rw-r--r-- | openjdk/map.xml | 150 |
1 files changed, 148 insertions, 2 deletions
diff --git a/openjdk/map.xml b/openjdk/map.xml index 39b2ffca..90cae4ca 100644 --- a/openjdk/map.xml +++ b/openjdk/map.xml @@ -1158,6 +1158,22 @@ </method> </class> <!-- Here we are adding/replacing methods to existing classes --> + <class name="java.io.Console"> + <method name="_reinitHack" sig="()V" modifiers="static"> + <body> + <call class="java.io.Console" name="<clinit>" sig="()V" /> + <ret /> + </body> + </method> + </class> + <class name="java.io.File"> + <method name="_reinitHack" sig="()V" modifiers="static"> + <body> + <call class="java.io.File" name="<clinit>" sig="()V" /> + <ret /> + </body> + </method> + </class> <class name="java.lang.Class"> <field name="typeWrapper" sig="Lcli.IKVM.Internal.TypeWrapper;" modifiers=""> <attribute type="IKVM.Attributes.HideFromJavaAttribute" sig="()V" /> @@ -1199,11 +1215,55 @@ <ret /> </body> </method> + <method name="clearSclSet" sig="()V" modifiers="static"> + <body> + <ldc_i4_0 /> + <stsfld class="java.lang.ClassLoader" name="sclSet" sig="Z" /> + <ret /> + </body> + </method> </class> <class name="java.lang.Thread"> - <field name="vmThread" sig="Ljava.lang.Object;" modifiers="private" /> + <field name="vmThread" sig="Lcli.IKVM.NativeCode.java.lang.Thread$VMThread;" modifiers=""> + <attribute type="IKVM.Attributes.HideFromJavaAttribute" sig="()V" /> + </field> <field name="parkLock" sig="Ljava.lang.Object;" modifiers="" /> <field name="parkState" sig="I" modifiers="" /> + <constructor sig="(Lcli.IKVM.NativeCode.java.lang.Thread$VMThread;Ljava.lang.ThreadGroup;Ljava.lang.String;)V"> + <attribute type="IKVM.Attributes.HideFromJavaAttribute" sig="()V" /> + <body> + <ldarg_0 /> + <ldarg_1 /> + <stfld class="java.lang.Thread" name="vmThread" sig="Lcli.IKVM.NativeCode.java.lang.Thread$VMThread;" /> + <ldarg_0 /> + <ldarg_2 /> + <ldarg_3 /> + <call class="java.lang.Thread" name="<init>" sig="(Ljava.lang.ThreadGroup;Ljava.lang.String;)V" /> + <ret /> + </body> + </constructor> + <constructor sig="(Lcli.IKVM.NativeCode.java.lang.Thread$VMThread;Ljava.lang.ThreadGroup;Ljava.lang.Runnable;)V"> + <attribute type="IKVM.Attributes.HideFromJavaAttribute" sig="()V" /> + <body> + <ldarg_0 /> + <ldarg_1 /> + <stfld class="java.lang.Thread" name="vmThread" sig="Lcli.IKVM.NativeCode.java.lang.Thread$VMThread;" /> + <ldarg_0 /> + <ldarg_2 /> + <ldarg_3 /> + <call class="java.lang.Thread" name="<init>" sig="(Ljava.lang.ThreadGroup;Ljava.lang.Runnable;)V" /> + <ret /> + </body> + </constructor> + <method name="init" sig="(Ljava.lang.ThreadGroup;Ljava.lang.Runnable;Ljava.lang.String;J)V"> + <replace-method-call class="java.lang.Thread" name="currentThread" sig="()Ljava.lang.Thread;"> + <code> + <ldarg_0 /> + <call type="IKVM.NativeCode.java.lang.Thread" name="CurrentThreadFromInit" sig="(Ljava.lang.Object;)Ljava.lang.Object;" /> + <castclass class="java.lang.Thread" /> + </code> + </replace-method-call> + </method> <method name="getState" sig="()Ljava.lang.Thread$State;"> <body> <ldarg_0 /> @@ -1212,6 +1272,70 @@ <ret /> </body> </method> + <method name="_exit" sig="()V"> + <body> + <ldarg_0 /> + <call class="java.lang.Thread" name="exit" sig="()V" /> + <ret /> + </body> + </method> + <method name="_threadStatus" sig="()I"> + <body> + <ldarg_0 /> + <volatile /> + <ldfld class="java.lang.Thread" name="threadStatus" sig="I" /> + <ret /> + </body> + </method> + <method name="_threadStatus" sig="(I)V"> + <body> + <ldarg_0 /> + <ldarg_1 /> + <volatile /> + <stfld class="java.lang.Thread" name="threadStatus" sig="I" /> + <ret /> + </body> + </method> + <method name="_deamon" sig="(Z)V"> + <body> + <ldarg_0 /> + <ldarg_1 /> + <stfld class="java.lang.Thread" name="daemon" sig="Z" /> + <ret /> + </body> + </method> + <method name="_priority" sig="(I)V"> + <body> + <ldarg_0 /> + <ldarg_1 /> + <stfld class="java.lang.Thread" name="priority" sig="I" /> + <ret /> + </body> + </method> + </class> + <class name="java.lang.ThreadGroup"> + <method name="createRootGroup" sig="()Ljava.lang.ThreadGroup;" modifiers="static"> + <body> + <newobj class="java.lang.ThreadGroup" name="<init>" sig="()V" /> + <ret /> + </body> + </method> + </class> + <class name="java.lang.reflect.AccessibleObject"> + <method name="_reinitHack" sig="()V" modifiers="static"> + <body> + <call class="java.lang.reflect.AccessibleObject" name="<clinit>" sig="()V" /> + <ret /> + </body> + </method> + </class> + <class name="java.lang.reflect.Modifier"> + <method name="_reinitHack" sig="()V" modifiers="static"> + <body> + <call class="java.lang.reflect.Modifier" name="<clinit>" sig="()V" /> + <ret /> + </body> + </method> </class> <class name="java.net.DatagramSocket"> <method name="receive" sig="(Ljava.net.DatagramPacket;)V"> @@ -1511,7 +1635,6 @@ <method name="<clinit>" sig="()V"> <body> <call class="java.lang.System" name="registerNatives" sig="()V" /> - <call class="java.lang.LangHelper" name="init" sig="()V" /> <ret /> </body> </method> @@ -1532,6 +1655,12 @@ <ret /> </body> </method> + <method name="runInit" sig="()V" modifiers="static"> + <body> + <call class="java.lang.System" name="initializeSystemClass" sig="()V" /> + <ret /> + </body> + </method> </class> <class name="sun.misc.Launcher"> <method name="<init>" sig="()V"> @@ -1765,6 +1894,23 @@ </replace-method-call> </method> </class> + <class name="sun.reflect.ConstantPool"> + <method name="_constantPoolOop" sig="()Ljava.lang.Object;"> + <body> + <ldarg_0 /> + <ldfld class="sun.reflect.ConstantPool" name="constantPoolOop" sig="Ljava.lang.Object;" /> + <ret /> + </body> + </method> + <method name="_constantPoolOop" sig="(Ljava.lang.Object;)V"> + <body> + <ldarg_0 /> + <ldarg_1 /> + <stfld class="sun.reflect.ConstantPool" name="constantPoolOop" sig="Ljava.lang.Object;" /> + <ret /> + </body> + </method> + </class> <class name="sun.reflect.Reflection"> <!-- we manually hook up this native method, to prevent inlining and tail-call optimizations --> <method name="getCallerClass" sig="(I)Ljava.lang.Class;"> |