< prev index next >

src/hotspot/share/ci/ciEnv.cpp

Print this page
*** 1021,10 ***
--- 1021,12 ---
                              ExceptionHandlerTable* handler_table,
                              ImplicitExceptionTable* inc_table,
                              AbstractCompiler* compiler,
                              bool has_unsafe_access,
                              bool has_wide_vectors,
+                             bool has_monitors,
+                             int immediate_oops_patched,
                              RTMState  rtm_state,
                              const GrowableArrayView<RuntimeStub*>& native_invokers) {
    VM_ENTRY_MARK;
    nmethod* nm = NULL;
    {

*** 1120,10 ***
--- 1122,13 ---
      code_buffer->free_blob();
  
      if (nm != NULL) {
        nm->set_has_unsafe_access(has_unsafe_access);
        nm->set_has_wide_vectors(has_wide_vectors);
+       nm->set_has_monitors(has_monitors);
+       nm->set_immediate_oops_patched(immediate_oops_patched);
+       assert (!method->is_synchronized() || nm->has_monitors(), "");
  #if INCLUDE_RTM_OPT
        nm->set_rtm_state(rtm_state);
  #endif
  
        // Record successful registration.

*** 1181,10 ***
--- 1186,17 ---
      // The CodeCache is full.
      record_failure("code cache is full");
    }
  }
  
+ // ------------------------------------------------------------------
+ // ciEnv::find_system_klass
+ ciKlass* ciEnv::find_system_klass(ciSymbol* klass_name) {
+   VM_ENTRY_MARK;
+   return get_klass_by_name_impl(NULL, constantPoolHandle(), klass_name, false);
+ }
+ 
  // ------------------------------------------------------------------
  // ciEnv::comp_level
  int ciEnv::comp_level() {
    if (task() == NULL)  return CompilationPolicy::highest_compile_level();
    return task()->comp_level();
< prev index next >