src/cpu/sparc/vm/sharedRuntime_sparc.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/cpu/sparc/vm/sharedRuntime_sparc.cpp	Thu Mar  6 11:59:49 2014
--- new/src/cpu/sparc/vm/sharedRuntime_sparc.cpp	Thu Mar  6 11:59:49 2014

*** 3353,3369 **** --- 3353,3372 ---- Register O2UnrollBlock = O2; Register O3array = O3; Register O4array_size = O4; Label loop; // Before we make new frames, check to see if stack is available. // Do this after the caller's return address is on top of stack + #ifdef ASSERT + // Compilers generate code that bang the stack by as much as the + // interpreter would need. So this stack banging should never + // trigger a fault. Verify that it does not on non product builds. if (UseStackBanging) { // Get total frame size for interpreted frames __ ld(O2UnrollBlock, Deoptimization::UnrollBlock::total_frame_sizes_offset_in_bytes(), O4); __ bang_stack_size(O4, O3, G3_scratch); } + #endif __ ld(O2UnrollBlock, Deoptimization::UnrollBlock::number_of_frames_offset_in_bytes(), O4array_size); __ ld_ptr(O2UnrollBlock, Deoptimization::UnrollBlock::frame_pcs_offset_in_bytes(), G3pcs); __ ld_ptr(O2UnrollBlock, Deoptimization::UnrollBlock::frame_sizes_offset_in_bytes(), O3array);
*** 3407,3419 **** --- 3410,3424 ---- void SharedRuntime::generate_deopt_blob() { // allocate space for the code ResourceMark rm; // setup code generation tools int pad = VerifyThread ? 512 : 0;// Extra slop space for more verify code + #ifdef ASSERT if (UseStackBanging) { pad += StackShadowPages*16 + 32; } + #endif #ifdef _LP64 CodeBuffer buffer("deopt_blob", 2100+pad, 512); #else // Measured 8/7/03 at 1212 in 32bit debug build (no VerifyThread) // Measured 8/7/03 at 1396 in 32bit debug build (VerifyThread)
*** 3630,3642 **** --- 3635,3649 ---- void SharedRuntime::generate_uncommon_trap_blob() { // allocate space for the code ResourceMark rm; // setup code generation tools int pad = VerifyThread ? 512 : 0; + #ifdef ASSERT if (UseStackBanging) { pad += StackShadowPages*16 + 32; } + #endif #ifdef _LP64 CodeBuffer buffer("uncommon_trap_blob", 2700+pad, 512); #else // Measured 8/7/03 at 660 in 32bit debug build (no VerifyThread) // Measured 8/7/03 at 1028 in 32bit debug build (VerifyThread)

src/cpu/sparc/vm/sharedRuntime_sparc.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File