hotspot/src/share/vm/compiler/compileBroker.cpp
changeset 34191 8287a25df277
parent 34185 ee71c590a456
child 34195 89011d12ebd3
equal deleted inserted replaced
34190:eaee778f0fdf 34191:8287a25df277
  1674   bool is_osr = (osr_bci != standard_entry_bci);
  1674   bool is_osr = (osr_bci != standard_entry_bci);
  1675   bool should_log = (thread->log() != NULL);
  1675   bool should_log = (thread->log() != NULL);
  1676   bool should_break = false;
  1676   bool should_break = false;
  1677   int task_level = task->comp_level();
  1677   int task_level = task->comp_level();
  1678 
  1678 
  1679   // Look up matching directives
  1679   DirectiveSet* directive;
  1680   DirectiveSet* directive = DirectivesStack::getMatchingDirective(task->method(), compiler(task_level));
       
  1681 
       
  1682   should_break = directive->BreakAtExecuteOption || task->check_break_at_flags();
       
  1683   if (should_log && !directive->LogOption) {
       
  1684     should_log = false;
       
  1685   }
       
  1686   {
  1680   {
  1687     // create the handle inside it's own block so it can't
  1681     // create the handle inside it's own block so it can't
  1688     // accidentally be referenced once the thread transitions to
  1682     // accidentally be referenced once the thread transitions to
  1689     // native.  The NoHandleMark before the transition should catch
  1683     // native.  The NoHandleMark before the transition should catch
  1690     // any cases where this occurs in the future.
  1684     // any cases where this occurs in the future.
  1691     methodHandle method(thread, task->method());
  1685     methodHandle method(thread, task->method());
  1692     assert(!method->is_native(), "no longer compile natives");
  1686     assert(!method->is_native(), "no longer compile natives");
  1693 
  1687 
       
  1688     // Look up matching directives
       
  1689     directive = DirectivesStack::getMatchingDirective(method, compiler(task_level));
       
  1690 
  1694     // Save information about this method in case of failure.
  1691     // Save information about this method in case of failure.
  1695     set_last_compile(thread, method, is_osr, task_level);
  1692     set_last_compile(thread, method, is_osr, task_level);
  1696 
  1693 
  1697     DTRACE_METHOD_COMPILE_BEGIN_PROBE(method, compiler_name(task_level));
  1694     DTRACE_METHOD_COMPILE_BEGIN_PROBE(method, compiler_name(task_level));
       
  1695   }
       
  1696 
       
  1697   should_break = directive->BreakAtExecuteOption || task->check_break_at_flags();
       
  1698   if (should_log && !directive->LogOption) {
       
  1699     should_log = false;
  1698   }
  1700   }
  1699 
  1701 
  1700   // Allocate a new set of JNI handles.
  1702   // Allocate a new set of JNI handles.
  1701   push_jni_handle_block();
  1703   push_jni_handle_block();
  1702   Method* target_handle = task->method();
  1704   Method* target_handle = task->method();