diff 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
line wrap: on
line diff
--- a/src/share/vm/c1x/c1x_VMExits.hpp	Tue Jul 13 11:47:55 2010 -0700
+++ b/src/share/vm/c1x/c1x_VMExits.hpp	Fri Jul 23 15:53:02 2010 -0700
@@ -21,17 +21,37 @@
  * have any questions.
  *
  */
+/*
+class OopCache : public AllStatic {
 
+private:
+  static Handle* handles;
+  static Handle* mirrors;
+  static int capacity;
+  static int used;
+
+public:
+  static void initialize();
+  static Handle mirror(oop internal_object);
+  static Handle resolve(oop mirror);
+
+};
+*/
 class VMExits : public AllStatic {
 
 private:
 
   static KlassHandle _vmExitsKlass;
+  static Handle _vmExitsObject;
 
 public:
 
   static KlassHandle& vmExitsKlass();
+  static Handle& instance();
+
+
   static void compileMethod(oop method, int entry_bci);
+
   static oop createRiMethod(methodOop m);
   static oop createRiField(oop field_holder, symbolOop field_name, oop field_type, int index);
   static oop createRiType(klassOop k);
@@ -44,4 +64,11 @@
   static oop createCiConstantDouble(jdouble value);
   static oop createCiConstantObject(oop value);
   static oop createRiTypePrimitive(int basic_type);
-};
\ No newline at end of file
+};
+
+inline void check_pending_exception(const char* message) {
+  if (Thread::current()->has_pending_exception()) {
+    Thread::current()->pending_exception()->print();
+    fatal(message);
+  }
+}