Mercurial > hg > graal-compiler
comparison src/share/vm/code/nmethod.cpp @ 1378:9f5b60a14736
6939930: exception unwind changes in 6919934 hurts compilation speed
Reviewed-by: twisti
author | never |
---|---|
date | Thu, 15 Apr 2010 18:14:49 -0700 |
parents | f70b0d9ab095 |
children | 760213a60e8b cff162798819 |
comparison
equal
deleted
inserted
replaced
1377:ef74d6d1ac1e | 1378:9f5b60a14736 |
---|---|
683 // We have no exception handler or deopt handler make the | 683 // We have no exception handler or deopt handler make the |
684 // values something that will never match a pc like the nmethod vtable entry | 684 // values something that will never match a pc like the nmethod vtable entry |
685 _exception_offset = 0; | 685 _exception_offset = 0; |
686 _deoptimize_offset = 0; | 686 _deoptimize_offset = 0; |
687 _deoptimize_mh_offset = 0; | 687 _deoptimize_mh_offset = 0; |
688 _unwind_handler_offset = -1; | |
688 _trap_offset = offsets->value(CodeOffsets::Dtrace_trap); | 689 _trap_offset = offsets->value(CodeOffsets::Dtrace_trap); |
689 _orig_pc_offset = 0; | 690 _orig_pc_offset = 0; |
690 _stub_offset = data_offset(); | 691 _stub_offset = data_offset(); |
691 _consts_offset = data_offset(); | 692 _consts_offset = data_offset(); |
692 _scopes_data_offset = data_offset(); | 693 _scopes_data_offset = data_offset(); |
796 | 797 |
797 // Exception handler and deopt handler are in the stub section | 798 // Exception handler and deopt handler are in the stub section |
798 _exception_offset = _stub_offset + offsets->value(CodeOffsets::Exceptions); | 799 _exception_offset = _stub_offset + offsets->value(CodeOffsets::Exceptions); |
799 _deoptimize_offset = _stub_offset + offsets->value(CodeOffsets::Deopt); | 800 _deoptimize_offset = _stub_offset + offsets->value(CodeOffsets::Deopt); |
800 _deoptimize_mh_offset = _stub_offset + offsets->value(CodeOffsets::DeoptMH); | 801 _deoptimize_mh_offset = _stub_offset + offsets->value(CodeOffsets::DeoptMH); |
802 if (offsets->value(CodeOffsets::UnwindHandler) != -1) { | |
803 _unwind_handler_offset = instructions_offset() + offsets->value(CodeOffsets::UnwindHandler); | |
804 } else { | |
805 _unwind_handler_offset = -1; | |
806 } | |
801 _consts_offset = instructions_offset() + code_buffer->total_offset_of(code_buffer->consts()->start()); | 807 _consts_offset = instructions_offset() + code_buffer->total_offset_of(code_buffer->consts()->start()); |
802 _scopes_data_offset = data_offset(); | 808 _scopes_data_offset = data_offset(); |
803 _scopes_pcs_offset = _scopes_data_offset + round_to(debug_info->data_size (), oopSize); | 809 _scopes_pcs_offset = _scopes_data_offset + round_to(debug_info->data_size (), oopSize); |
804 _dependencies_offset = _scopes_pcs_offset + adjust_pcs_size(debug_info->pcs_size()); | 810 _dependencies_offset = _scopes_pcs_offset + adjust_pcs_size(debug_info->pcs_size()); |
805 _handler_table_offset = _dependencies_offset + round_to(dependencies->size_in_bytes (), oopSize); | 811 _handler_table_offset = _dependencies_offset + round_to(dependencies->size_in_bytes (), oopSize); |