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