提交 c42cdb52 编写于 作者: T twisti

6990933: assert(sender_cb) failed: sanity in frame::sender_for_interpreter_frame

Reviewed-by: never
上级 f1b9cfb3
...@@ -811,9 +811,11 @@ nmethod::nmethod( ...@@ -811,9 +811,11 @@ nmethod::nmethod(
_stub_offset = content_offset() + code_buffer->total_offset_of(code_buffer->stubs()); _stub_offset = content_offset() + code_buffer->total_offset_of(code_buffer->stubs());
// Exception handler and deopt handler are in the stub section // Exception handler and deopt handler are in the stub section
assert(offsets->value(CodeOffsets::Exceptions) != -1, "must be set");
assert(offsets->value(CodeOffsets::Deopt ) != -1, "must be set");
_exception_offset = _stub_offset + offsets->value(CodeOffsets::Exceptions); _exception_offset = _stub_offset + offsets->value(CodeOffsets::Exceptions);
_deoptimize_offset = _stub_offset + offsets->value(CodeOffsets::Deopt); _deoptimize_offset = _stub_offset + offsets->value(CodeOffsets::Deopt);
if (has_method_handle_invokes()) { if (offsets->value(CodeOffsets::DeoptMH) != -1) {
_deoptimize_mh_offset = _stub_offset + offsets->value(CodeOffsets::DeoptMH); _deoptimize_mh_offset = _stub_offset + offsets->value(CodeOffsets::DeoptMH);
} else { } else {
_deoptimize_mh_offset = -1; _deoptimize_mh_offset = -1;
...@@ -1909,6 +1911,7 @@ void nmethod::copy_scopes_pcs(PcDesc* pcs, int count) { ...@@ -1909,6 +1911,7 @@ void nmethod::copy_scopes_pcs(PcDesc* pcs, int count) {
break; break;
} }
} }
assert(has_method_handle_invokes() == (_deoptimize_mh_offset != -1), "must have deopt mh handler");
int size = count * sizeof(PcDesc); int size = count * sizeof(PcDesc);
assert(scopes_pcs_size() >= size, "oob"); assert(scopes_pcs_size() >= size, "oob");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册