comparison src/share/vm/code/nmethod.cpp @ 2083:7d9caaedafce

6990933: assert(sender_cb) failed: sanity in frame::sender_for_interpreter_frame Reviewed-by: never
author twisti
date Sat, 18 Dec 2010 01:15:01 -0800
parents f95d63e2154a
children 5a1e52a439fa
comparison
equal deleted inserted replaced
2080:c04052fd6ae1 2083:7d9caaedafce
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