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(); |