aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/code/nmethod.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/vm/code/nmethod.cpp')
-rw-r--r--src/share/vm/code/nmethod.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/share/vm/code/nmethod.cpp b/src/share/vm/code/nmethod.cpp
index e6cc51aab..98bad3ca0 100644
--- a/src/share/vm/code/nmethod.cpp
+++ b/src/share/vm/code/nmethod.cpp
@@ -811,9 +811,11 @@ nmethod::nmethod(
_stub_offset = content_offset() + code_buffer->total_offset_of(code_buffer->stubs());
// 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);
_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);
} else {
_deoptimize_mh_offset = -1;
@@ -1909,6 +1911,7 @@ void nmethod::copy_scopes_pcs(PcDesc* pcs, int count) {
break;
}
}
+ assert(has_method_handle_invokes() == (_deoptimize_mh_offset != -1), "must have deopt mh handler");
int size = count * sizeof(PcDesc);
assert(scopes_pcs_size() >= size, "oob");