comparison src/share/vm/code/nmethod.cpp @ 2094:5a1e52a439fa

Merge
author twisti
date Fri, 07 Jan 2011 03:41:07 -0800
parents 09b4dd4f152b 7d9caaedafce
children 91fe28b03d6a 8012aa3ccede
comparison
equal deleted inserted replaced
2075:06e4b9c9db76 2094:5a1e52a439fa
809 // Section offsets 809 // Section offsets
810 _consts_offset = content_offset() + code_buffer->total_offset_of(code_buffer->consts()); 810 _consts_offset = content_offset() + code_buffer->total_offset_of(code_buffer->consts());
811 _stub_offset = content_offset() + code_buffer->total_offset_of(code_buffer->stubs()); 811 _stub_offset = content_offset() + code_buffer->total_offset_of(code_buffer->stubs());
812 812
813 // Exception handler and deopt handler are in the stub section 813 // Exception handler and deopt handler are in the stub section
814 assert(offsets->value(CodeOffsets::Exceptions) != -1, "must be set");
815 assert(offsets->value(CodeOffsets::Deopt ) != -1, "must be set");
814 _exception_offset = _stub_offset + offsets->value(CodeOffsets::Exceptions); 816 _exception_offset = _stub_offset + offsets->value(CodeOffsets::Exceptions);
815 _deoptimize_offset = _stub_offset + offsets->value(CodeOffsets::Deopt); 817 _deoptimize_offset = _stub_offset + offsets->value(CodeOffsets::Deopt);
816 if (has_method_handle_invokes()) { 818 if (offsets->value(CodeOffsets::DeoptMH) != -1) {
817 _deoptimize_mh_offset = _stub_offset + offsets->value(CodeOffsets::DeoptMH); 819 _deoptimize_mh_offset = _stub_offset + offsets->value(CodeOffsets::DeoptMH);
818 } else { 820 } else {
819 _deoptimize_mh_offset = -1; 821 _deoptimize_mh_offset = -1;
820 } 822 }
821 if (offsets->value(CodeOffsets::UnwindHandler) != -1) { 823 if (offsets->value(CodeOffsets::UnwindHandler) != -1) {
1907 if (pcs[i].is_method_handle_invoke()) { 1909 if (pcs[i].is_method_handle_invoke()) {
1908 set_has_method_handle_invokes(true); 1910 set_has_method_handle_invokes(true);
1909 break; 1911 break;
1910 } 1912 }
1911 } 1913 }
1914 assert(has_method_handle_invokes() == (_deoptimize_mh_offset != -1), "must have deopt mh handler");
1912 1915
1913 int size = count * sizeof(PcDesc); 1916 int size = count * sizeof(PcDesc);
1914 assert(scopes_pcs_size() >= size, "oob"); 1917 assert(scopes_pcs_size() >= size, "oob");
1915 memcpy(scopes_pcs_begin(), pcs, size); 1918 memcpy(scopes_pcs_begin(), pcs, size);
1916 1919