< prev index next >

src/hotspot/share/runtime/init.cpp

Print this page

        

@@ -33,10 +33,11 @@
 #include "interpreter/bytecodes.hpp"
 #include "logging/log.hpp"
 #include "logging/logTag.hpp"
 #include "memory/universe.hpp"
 #include "prims/methodHandles.hpp"
+#include "runtime/continuation.hpp"
 #include "runtime/flags/jvmFlag.hpp"
 #include "runtime/handles.inline.hpp"
 #include "runtime/icache.hpp"
 #include "runtime/init.hpp"
 #include "runtime/orderAccess.hpp"

@@ -61,10 +62,11 @@
 void compilationPolicy_init();
 void codeCache_init();
 void VM_Version_init();
 void os_init_globals();        // depends on VM_Version_init, before universe_init
 void stubRoutines_init1();
+void stubRoutines_initContinuationStubs();
 jint universe_init();          // depends on codeCache_init and stubRoutines_init
 // depends on universe_init, must be before interpreter_init (currently only on SPARC)
 void gc_barrier_stubs_init();
 void interpreter_init();       // before any methods loaded
 void invocationCounter_init(); // before any methods loaded

@@ -85,10 +87,12 @@
 // Initialization after compiler initialization
 bool universe_post_init();  // must happen after compiler_init
 void javaClasses_init();  // must happen after vtable initialization
 void stubRoutines_init2(); // note: StubRoutines need 2-phase init
 
+void continuations_init(); // depends on flags (UseCompressedOops, LoomGenCode) and barrier sets
+
 // Do not disable thread-local-storage, as it is important for some
 // JNI/JVM/JVMTI functions and signal handlers to work properly
 // during VM shutdown
 void perfMemory_exit();
 void ostream_exit();

@@ -118,10 +122,11 @@
                                   // stubRoutines_init1 and metaspace_init.
   if (status != JNI_OK)
     return status;
 
   gc_barrier_stubs_init();   // depends on universe_init, must be before interpreter_init
+  stubRoutines_initContinuationStubs();
   interpreter_init();        // before any methods loaded
   invocationCounter_init();  // before any methods loaded
   accessFlags_init();
   templateTable_init();
   InterfaceSupport_init();

@@ -153,10 +158,12 @@
     return JNI_ERR;
   }
   stubRoutines_init2(); // note: StubRoutines need 2-phase init
   MethodHandles::generate_adapters();
 
+  continuations_init();
+
 #if INCLUDE_NMT
   // Solaris stack is walkable only after stubRoutines are set up.
   // On Other platforms, the stack is always walkable.
   NMT_stack_walkable = true;
 #endif // INCLUDE_NMT

@@ -165,10 +172,11 @@
   // have been set so dump the flags now.
   if (PrintFlagsFinal || PrintFlagsRanges) {
     JVMFlag::printFlags(tty, false, PrintFlagsRanges);
   }
 
+
   return JNI_OK;
 }
 
 
 void exit_globals() {
< prev index next >