src/share/vm/opto/runtime.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/opto

src/share/vm/opto/runtime.cpp

Print this page
rev 9032 : 8137167: JEP165: Compiler Control: Implementation task
Summary: Compiler Control JEP
Reviewed-by: roland, twisti


 142   gen(env, _complete_monitor_locking_Java  , complete_monitor_enter_Type  , SharedRuntime::complete_monitor_locking_C, 0, false, false, false);
 143   gen(env, _monitor_notify_Java            , monitor_notify_Type          , monitor_notify_C                ,    0 , false, false, false);
 144   gen(env, _monitor_notifyAll_Java         , monitor_notify_Type          , monitor_notifyAll_C             ,    0 , false, false, false);
 145   gen(env, _rethrow_Java                   , rethrow_Type                 , rethrow_C                       ,    2 , true , false, true );
 146 
 147   gen(env, _slow_arraycopy_Java            , slow_arraycopy_Type          , SharedRuntime::slow_arraycopy_C ,    0 , false, false, false);
 148   gen(env, _register_finalizer_Java        , register_finalizer_Type      , register_finalizer              ,    0 , false, false, false);
 149 
 150   return true;
 151 }
 152 
 153 #undef gen
 154 
 155 
 156 // Helper method to do generation of RunTimeStub's
 157 address OptoRuntime::generate_stub( ciEnv* env,
 158                                     TypeFunc_generator gen, address C_function,
 159                                     const char *name, int is_fancy_jump,
 160                                     bool pass_tls,
 161                                     bool save_argument_registers,
 162                                     bool return_pc ) {



 163   ResourceMark rm;
 164   Compile C( env, gen, C_function, name, is_fancy_jump, pass_tls, save_argument_registers, return_pc );

 165   return  C.stub_entry_point();
 166 }
 167 
 168 const char* OptoRuntime::stub_name(address entry) {
 169 #ifndef PRODUCT
 170   CodeBlob* cb = CodeCache::find_blob(entry);
 171   RuntimeStub* rs =(RuntimeStub *)cb;
 172   assert(rs != NULL && rs->is_runtime_stub(), "not a runtime stub");
 173   return rs->name();
 174 #else
 175   // Fast implementation for product mode (maybe it should be inlined too)
 176   return "runtime stub";
 177 #endif
 178 }
 179 
 180 
 181 //=============================================================================
 182 // Opto compiler runtime routines
 183 //=============================================================================
 184 




 142   gen(env, _complete_monitor_locking_Java  , complete_monitor_enter_Type  , SharedRuntime::complete_monitor_locking_C, 0, false, false, false);
 143   gen(env, _monitor_notify_Java            , monitor_notify_Type          , monitor_notify_C                ,    0 , false, false, false);
 144   gen(env, _monitor_notifyAll_Java         , monitor_notify_Type          , monitor_notifyAll_C             ,    0 , false, false, false);
 145   gen(env, _rethrow_Java                   , rethrow_Type                 , rethrow_C                       ,    2 , true , false, true );
 146 
 147   gen(env, _slow_arraycopy_Java            , slow_arraycopy_Type          , SharedRuntime::slow_arraycopy_C ,    0 , false, false, false);
 148   gen(env, _register_finalizer_Java        , register_finalizer_Type      , register_finalizer              ,    0 , false, false, false);
 149 
 150   return true;
 151 }
 152 
 153 #undef gen
 154 
 155 
 156 // Helper method to do generation of RunTimeStub's
 157 address OptoRuntime::generate_stub( ciEnv* env,
 158                                     TypeFunc_generator gen, address C_function,
 159                                     const char *name, int is_fancy_jump,
 160                                     bool pass_tls,
 161                                     bool save_argument_registers,
 162                                     bool return_pc) {
 163 
 164   // Matching the default directive, we currently have no method to match.
 165   DirectiveSet* directive = DirectivesStack::getDefaultDirective(CompileBroker::compiler(CompLevel_full_optimization));
 166   ResourceMark rm;
 167   Compile C( env, gen, C_function, name, is_fancy_jump, pass_tls, save_argument_registers, return_pc, directive);
 168   DirectivesStack::release(directive);
 169   return  C.stub_entry_point();
 170 }
 171 
 172 const char* OptoRuntime::stub_name(address entry) {
 173 #ifndef PRODUCT
 174   CodeBlob* cb = CodeCache::find_blob(entry);
 175   RuntimeStub* rs =(RuntimeStub *)cb;
 176   assert(rs != NULL && rs->is_runtime_stub(), "not a runtime stub");
 177   return rs->name();
 178 #else
 179   // Fast implementation for product mode (maybe it should be inlined too)
 180   return "runtime stub";
 181 #endif
 182 }
 183 
 184 
 185 //=============================================================================
 186 // Opto compiler runtime routines
 187 //=============================================================================
 188 


src/share/vm/opto/runtime.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File