Mercurial > hg > graal-compiler
comparison src/share/vm/c1x/c1x_VMExits.hpp @ 1421:6223633ce7dd
changed VMExit/VMEntries to non-static, added eclipse c++ project, CIR interface changes
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Fri, 23 Jul 2010 15:53:02 -0700 |
parents | e1a275dbc8cd |
children | 3483ec571caf |
comparison
equal
deleted
inserted
replaced
1420:44efca8a02d6 | 1421:6223633ce7dd |
---|---|
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 { | |
24 | 26 |
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 */ | |
25 class VMExits : public AllStatic { | 40 class VMExits : public AllStatic { |
26 | 41 |
27 private: | 42 private: |
28 | 43 |
29 static KlassHandle _vmExitsKlass; | 44 static KlassHandle _vmExitsKlass; |
45 static Handle _vmExitsObject; | |
30 | 46 |
31 public: | 47 public: |
32 | 48 |
33 static KlassHandle& vmExitsKlass(); | 49 static KlassHandle& vmExitsKlass(); |
50 static Handle& instance(); | |
51 | |
52 | |
34 static void compileMethod(oop method, int entry_bci); | 53 static void compileMethod(oop method, int entry_bci); |
54 | |
35 static oop createRiMethod(methodOop m); | 55 static oop createRiMethod(methodOop m); |
36 static oop createRiField(oop field_holder, symbolOop field_name, oop field_type, int index); | 56 static oop createRiField(oop field_holder, symbolOop field_name, oop field_type, int index); |
37 static oop createRiType(klassOop k); | 57 static oop createRiType(klassOop k); |
38 static oop createRiConstantPool(constantPoolOop cp); | 58 static oop createRiConstantPool(constantPoolOop cp); |
39 static oop createRiTypeUnresolved(symbolOop name, klassOop accessor); | 59 static oop createRiTypeUnresolved(symbolOop name, klassOop accessor); |
43 static oop createCiConstantFloat(jfloat value); | 63 static oop createCiConstantFloat(jfloat value); |
44 static oop createCiConstantDouble(jdouble value); | 64 static oop createCiConstantDouble(jdouble value); |
45 static oop createCiConstantObject(oop value); | 65 static oop createCiConstantObject(oop value); |
46 static oop createRiTypePrimitive(int basic_type); | 66 static oop createRiTypePrimitive(int basic_type); |
47 }; | 67 }; |
68 | |
69 inline void check_pending_exception(const char* message) { | |
70 if (Thread::current()->has_pending_exception()) { | |
71 Thread::current()->pending_exception()->print(); | |
72 fatal(message); | |
73 } | |
74 } |