8155738: C2: fix frame_complete_offset
During scratch_emit_size wrong value was set. Also set offset of ppc. Reviewed-by: kvn, dlong
This commit is contained in:
parent
73db8859bf
commit
9722354d37
@ -1380,6 +1380,8 @@ void MachPrologNode::emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const {
|
|||||||
// Save return pc.
|
// Save return pc.
|
||||||
___(std) std(return_pc, _abi(lr), callers_sp);
|
___(std) std(return_pc, _abi(lr), callers_sp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
C->set_frame_complete(cbuf.insts_size());
|
||||||
}
|
}
|
||||||
#undef ___
|
#undef ___
|
||||||
#undef ___stop
|
#undef ___stop
|
||||||
|
@ -1101,7 +1101,7 @@ class Compile : public Phase {
|
|||||||
int code_size() { return _method_size; }
|
int code_size() { return _method_size; }
|
||||||
CodeBuffer* code_buffer() { return &_code_buffer; }
|
CodeBuffer* code_buffer() { return &_code_buffer; }
|
||||||
int first_block_size() { return _first_block_size; }
|
int first_block_size() { return _first_block_size; }
|
||||||
void set_frame_complete(int off) { _code_offsets.set_value(CodeOffsets::Frame_Complete, off); }
|
void set_frame_complete(int off) { if (!in_scratch_emit_size()) { _code_offsets.set_value(CodeOffsets::Frame_Complete, off); } }
|
||||||
ExceptionHandlerTable* handler_table() { return &_handler_table; }
|
ExceptionHandlerTable* handler_table() { return &_handler_table; }
|
||||||
ImplicitExceptionTable* inc_table() { return &_inc_table; }
|
ImplicitExceptionTable* inc_table() { return &_inc_table; }
|
||||||
OopMapSet* oop_map_set() { return _oop_map_set; }
|
OopMapSet* oop_map_set() { return _oop_map_set; }
|
||||||
|
Loading…
Reference in New Issue
Block a user