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-12-27 18:16:49 +0300
committerjfrijters <jfrijters>2007-12-27 18:16:49 +0300
commite2c7ceb1d5a6dc5efbe0068689030c1a52be5dea (patch)
tree96c8d0b91942853b46f4ebd71efa081cc3ecf03a /openjdk/map.xml
parent29b48a5948ae88ad2e360ae4c4546067d461054f (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.xml150
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="&lt;clinit&gt;" 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="&lt;clinit&gt;" 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="&lt;init&gt;" 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="&lt;init&gt;" 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="&lt;init&gt;" 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="&lt;clinit&gt;" 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="&lt;clinit&gt;" 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="&lt;clinit&gt;" 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="&lt;init&gt;" 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;">