src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
src/cpu/x86/vm/c1_LIRAssembler_x86.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:
*** 286,296 ****
// rcx: osr buffer
//
// build frame
ciMethod* m = compilation()->method();
! __ build_frame(initial_frame_size_in_bytes());
// OSR buffer is
//
// locals[nlocals-1..0]
// monitors[0..number_of_locks]
--- 286,296 ----
// rcx: osr buffer
//
// build frame
ciMethod* m = compilation()->method();
! __ build_frame(initial_frame_size_in_bytes(), bang_size_in_bytes());
// OSR buffer is
//
// locals[nlocals-1..0]
// monitors[0..number_of_locks]
*** 374,384 ****
__ mov_metadata(reg, o);
patching_epilog(patch, lir_patch_normal, reg, info);
}
// This specifies the rsp decrement needed to build the frame
! int LIR_Assembler::initial_frame_size_in_bytes() {
// if rounding, must let FrameMap know!
// The frame_map records size in slots (32bit word)
// subtract two words to account for return address and link
--- 374,384 ----
__ mov_metadata(reg, o);
patching_epilog(patch, lir_patch_normal, reg, info);
}
// This specifies the rsp decrement needed to build the frame
! int LIR_Assembler::initial_frame_size_in_bytes() const {
// if rounding, must let FrameMap know!
// The frame_map records size in slots (32bit word)
// subtract two words to account for return address and link
src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File