diff src/share/vm/c1x/c1x_VMExits.hpp @ 2284:569d3fe7d65c

non-static VMEntries and VMExits, CompilationServer simplifications
author Lukas Stadler <lukas.stadler@jku.at>
date Thu, 07 Apr 2011 15:32:25 +0200
parents 79d04223b8a5
children 762de4b26788
line wrap: on
line diff
--- a/src/share/vm/c1x/c1x_VMExits.hpp	Mon Apr 04 21:02:45 2011 +0200
+++ b/src/share/vm/c1x/c1x_VMExits.hpp	Thu Apr 07 15:32:25 2011 +0200
@@ -26,12 +26,16 @@
 
 private:
   static jobject _vmExitsPermObject;
+  static jobject _compilerPermKlass;
+  static jobject _compilerPermObject;
   static jobject _vmExitsPermKlass;
 
+  static KlassHandle compilerKlass();
   static KlassHandle vmExitsKlass();
   static Handle instance();
 
 public:
+  static Handle compilerInstance();
 
   // public abstract boolean setOption(String option);
   static jboolean setOption(Handle option);
@@ -76,13 +80,14 @@
   static oop createCiConstantObject(Handle object, TRAPS);
 };
 
-inline void check_pending_exception(const char* message) {
+inline void check_pending_exception(const char* message, bool dump_core = false) {
   Thread* THREAD = Thread::current();
   if (THREAD->has_pending_exception()) {
     Handle exception = PENDING_EXCEPTION;
     CLEAR_PENDING_EXCEPTION;
     java_lang_Throwable::print(exception, tty);
+    tty->cr();
     java_lang_Throwable::print_stack_trace(exception(), tty);
-    fatal(message);
+    vm_abort(dump_core);
   }
 }