Print this page


Split Close
Expand all
Collapse all
          --- old/src/share/vm/runtime/javaCalls.cpp
          +++ new/src/share/vm/runtime/javaCalls.cpp
↓ open down ↓ 347 lines elided ↑ open up ↑
 348  348      // the <clinit>. For example, a Thread.start might start executing on an object that is
 349  349      // not fully initialized! (bad Java programming style)
 350  350      assert(instanceKlass::cast(holder)->is_linked(), "rewritting must have taken place");
 351  351    }
 352  352  #endif
 353  353  
 354  354  
 355  355    assert(!thread->is_Compiler_thread(), "cannot compile from the compiler");
 356  356    if (CompilationPolicy::must_be_compiled(method)) {
 357  357      CompileBroker::compile_method(method, InvocationEntryBci,
 358      -                                  CompLevel_initial_compile,
      358 +                                  CompilationPolicy::policy()->initial_compile_level(),
 359  359                                    methodHandle(), 0, "must_be_compiled", CHECK);
 360  360    }
 361  361  
 362  362    // Since the call stub sets up like the interpreter we call the from_interpreted_entry
 363  363    // so we can go compiled via a i2c. Otherwise initial entry method will always
 364  364    // run interpreted.
 365  365    address entry_point = method->from_interpreted_entry();
 366  366    if (JvmtiExport::can_post_interpreter_events() && thread->is_interp_only_mode()) {
 367  367      entry_point = method->interpreter_entry();
 368  368    }
↓ open down ↓ 192 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX