diff c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMEntries.java @ 1422:3483ec571caf

* using reflected objects instead of oops * removed scratch from allocatable registers * instanceof xir snippet * arraylength xir snippet * exceptionobject xir snippet * VMEntries and VMExits as interfaces * calls to VMEntries and VMExits are routet through logging proxies
author Lukas Stadler <lukas.stadler@oracle.com>
date Mon, 02 Aug 2010 15:44:38 -0700
parents
children 760213a60e8b
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMEntries.java	Mon Aug 02 15:44:38 2010 -0700
@@ -0,0 +1,47 @@
+package com.sun.hotspot.c1x;
+
+import java.lang.reflect.*;
+
+import com.sun.cri.ri.*;
+
+public interface VMEntries {
+
+    public abstract byte[] RiMethod_code(Method methodOop);
+
+    public abstract int RiMethod_maxStackSize(Method methodOop);
+
+    public abstract int RiMethod_maxLocals(Method methodOop);
+
+    public abstract RiType RiMethod_holder(Method methodOop);
+
+    public abstract String RiMethod_signature(Method methodOop);
+
+    public abstract String RiMethod_name(Method methodOop);
+
+    public abstract int RiMethod_accessFlags(Method methodOop);
+
+    public abstract RiType RiSignature_lookupType(String returnType, Class<?> accessingClass);
+
+    public abstract Object RiConstantPool_lookupConstant(Class<?> constantPoolHolder, int cpi);
+
+    public abstract RiMethod RiConstantPool_lookupMethod(Class<?> constantPoolHolder, int cpi, byte byteCode);
+
+    public abstract RiSignature RiConstantPool_lookupSignature(Class<?> constantPoolHolder, int cpi);
+
+    public abstract RiType RiConstantPool_lookupType(Class<?> constantPoolHolder, int cpi);
+
+    public abstract RiField RiConstantPool_lookupField(Class<?> constantPoolHolder, int cpi);
+
+    public abstract String RiType_name(Class<?> klassOop);
+
+    public abstract boolean RiType_isArrayClass(Class<?> klassOop);
+
+    public abstract boolean RiType_isInstanceClass(Class<?> klassOop);
+
+    public abstract boolean RiType_isInterface(Class<?> klassOop);
+
+    public abstract void installCode(HotSpotTargetMethod targetMethod);
+
+    public abstract HotSpotVMConfig getConfiguration();
+
+}
\ No newline at end of file