Mercurial > hg > graal-jvmci-8
comparison src/share/vm/c1x/c1x_VMExits.hpp @ 1423:760213a60e8b
* rewrite of the code installation
* partial support for safepoints
* macro-based CiTargetMethod interface
* code stub support
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Mon, 16 Aug 2010 18:59:36 -0700 |
parents | 3483ec571caf |
children | abc670a709dc |
comparison
equal
deleted
inserted
replaced
1422:3483ec571caf | 1423:760213a60e8b |
---|---|
19 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, | 19 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
20 * CA 95054 USA or visit www.sun.com if you need additional information or | 20 * CA 95054 USA or visit www.sun.com if you need additional information or |
21 * have any questions. | 21 * have any questions. |
22 * | 22 * |
23 */ | 23 */ |
24 /* | |
25 class OopCache : public AllStatic { | |
26 | 24 |
27 private: | |
28 static Handle* handles; | |
29 static Handle* mirrors; | |
30 static int capacity; | |
31 static int used; | |
32 | |
33 public: | |
34 static void initialize(); | |
35 static Handle mirror(oop internal_object); | |
36 static Handle resolve(oop mirror); | |
37 | |
38 }; | |
39 */ | |
40 class VMExits : public AllStatic { | 25 class VMExits : public AllStatic { |
41 | 26 |
42 private: | 27 private: |
43 | |
44 static KlassHandle _vmExitsKlass; | 28 static KlassHandle _vmExitsKlass; |
45 static Handle _vmExitsObject; | 29 static Handle _vmExitsObject; |
46 | 30 static jobject _vmExitsPermObject; |
47 public: | |
48 | 31 |
49 static KlassHandle& vmExitsKlass(); | 32 static KlassHandle& vmExitsKlass(); |
50 static Handle& instance(); | 33 static Handle& instance(); |
51 | 34 |
35 public: | |
52 | 36 |
53 static void compileMethod(methodOop method, int entry_bci); | 37 // public abstract void compileMethod(HotSpotProxy method, String name, int entry_bci); |
38 static void compileMethod(jlong vmId, Handle name, int entry_bci); | |
54 | 39 |
55 static oop createRiMethod(methodOop method, TRAPS); | 40 // public abstract RiMethod createRiMethod(HotSpotProxy method, String name); |
56 static oop createRiField(oop field_holder, symbolOop field_name, oop field_type, int index, TRAPS); | 41 static oop createRiMethod(jlong vmId, Handle name, TRAPS); |
57 static oop createRiType(klassOop k, TRAPS); | 42 |
58 static oop createRiConstantPool(constantPoolOop cp, TRAPS); | 43 // public abstract RiField createRiField(RiType holder, String name, RiType type, int offset); |
59 static oop createRiTypeUnresolved(symbolOop name, klassOop accessor, TRAPS); | 44 static oop createRiField(Handle holder, Handle name, Handle type, int index, TRAPS); |
60 static oop createRiSignature(symbolOop name, TRAPS); | 45 |
46 // public abstract RiType createRiType(HotSpotProxy klassOop, String name); | |
47 static oop createRiType(jlong vmId, Handle name, TRAPS); | |
48 | |
49 // public abstract RiConstantPool createRiConstantPool(HotSpotProxy constantPool); | |
50 static oop createRiConstantPool(jlong vmId, TRAPS); | |
51 | |
52 // public abstract RiType createRiTypeUnresolved(String name, HotSpotProxy accessingKlass); | |
53 static oop createRiTypeUnresolved(Handle name, jlong accessingClassVmId, TRAPS); | |
54 | |
55 // public abstract RiType createRiTypePrimitive(int basicType); | |
56 static oop createRiTypePrimitive(int basicType, TRAPS); | |
57 | |
58 // public abstract RiSignature createRiSignature(String signature); | |
59 static oop createRiSignature(Handle name, TRAPS); | |
60 | |
61 // public abstract CiConstant createCiConstantInt(int value); | |
61 static oop createCiConstantInt(jint value, TRAPS); | 62 static oop createCiConstantInt(jint value, TRAPS); |
63 | |
64 // public abstract CiConstant createCiConstantLong(long value); | |
62 static oop createCiConstantLong(jlong value, TRAPS); | 65 static oop createCiConstantLong(jlong value, TRAPS); |
66 | |
67 // public abstract CiConstant createCiConstantFloat(float value); | |
63 static oop createCiConstantFloat(jfloat value, TRAPS); | 68 static oop createCiConstantFloat(jfloat value, TRAPS); |
69 | |
70 // public abstract CiConstant createCiConstantDouble(double value); | |
64 static oop createCiConstantDouble(jdouble value, TRAPS); | 71 static oop createCiConstantDouble(jdouble value, TRAPS); |
65 static oop createCiConstantObject(oop value, TRAPS); | 72 |
66 static oop createRiTypePrimitive(int basic_type, TRAPS); | 73 // public abstract CiConstant createCiConstantObject(HotSpotProxy value); |
74 static oop createCiConstantObject(jlong vmId, TRAPS); | |
67 }; | 75 }; |
68 | 76 |
69 inline void check_pending_exception(const char* message) { | 77 inline void check_pending_exception(const char* message) { |
70 if (Thread::current()->has_pending_exception()) { | 78 if (Thread::current()->has_pending_exception()) { |
71 Thread::current()->pending_exception()->print(); | 79 Thread::current()->pending_exception()->print(); |