src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp
src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp
Print this page
rev 6086 : 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
Summary: make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.
Reviewed-by:
*** 150,160 ****
LIR_Opr LIR_Assembler::osrBufferPointer() {
return FrameMap::I0_opr;
}
! int LIR_Assembler::initial_frame_size_in_bytes() {
return in_bytes(frame_map()->framesize_in_bytes());
}
// inline cache check: the inline cached class is in G5_inline_cache_reg(G5);
--- 150,160 ----
LIR_Opr LIR_Assembler::osrBufferPointer() {
return FrameMap::I0_opr;
}
! int LIR_Assembler::initial_frame_size_in_bytes() const {
return in_bytes(frame_map()->framesize_in_bytes());
}
// inline cache check: the inline cached class is in G5_inline_cache_reg(G5);
*** 180,190 ****
BlockBegin* osr_entry = compilation()->hir()->osr_entry();
ValueStack* entry_state = osr_entry->end()->state();
int number_of_locks = entry_state->locks_size();
// Create a frame for the compiled activation.
! __ build_frame(initial_frame_size_in_bytes());
// OSR buffer is
//
// locals[nlocals-1..0]
// monitors[number_of_locks-1..0]
--- 180,190 ----
BlockBegin* osr_entry = compilation()->hir()->osr_entry();
ValueStack* entry_state = osr_entry->end()->state();
int number_of_locks = entry_state->locks_size();
// Create a frame for the compiled activation.
! __ build_frame(initial_frame_size_in_bytes(), bang_size_in_bytes());
// OSR buffer is
//
// locals[nlocals-1..0]
// monitors[number_of_locks-1..0]
src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File