提交 0004bc2a 编写于 作者: R roland

7119286: JSR292: SIGSEGV in JNIHandleBlock::release_block(JNIHandleBlock*, Thread*)+0x3c

Summary: unaligned stack in throw_NullPointerException_at_call_entry().
Reviewed-by: twisti, never, kvn
上级 6de77a17
...@@ -2978,7 +2978,9 @@ class StubGenerator: public StubCodeGenerator { ...@@ -2978,7 +2978,9 @@ class StubGenerator: public StubCodeGenerator {
int frame_complete = __ pc() - start; int frame_complete = __ pc() - start;
// Set up last_Java_sp and last_Java_fp // Set up last_Java_sp and last_Java_fp
__ set_last_Java_frame(rsp, rbp, NULL); address the_pc = __ pc();
__ set_last_Java_frame(rsp, rbp, the_pc);
__ andptr(rsp, -(StackAlignmentInBytes)); // Align stack
// Call runtime // Call runtime
if (arg1 != noreg) { if (arg1 != noreg) {
...@@ -2997,7 +2999,7 @@ class StubGenerator: public StubCodeGenerator { ...@@ -2997,7 +2999,7 @@ class StubGenerator: public StubCodeGenerator {
oop_maps->add_gc_map(__ pc() - start, map); oop_maps->add_gc_map(__ pc() - start, map);
__ reset_last_Java_frame(true, false); __ reset_last_Java_frame(true, true);
__ leave(); // required for proper stackwalking of RuntimeStub frame __ leave(); // required for proper stackwalking of RuntimeStub frame
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册