| Index: src/x64/debug-x64.cc
 | 
| diff --git a/src/x64/debug-x64.cc b/src/x64/debug-x64.cc
 | 
| index 94a50eb53e7731246dc135242ca92e889d975e90..1b29e58d59bdb496d62631dc97685634aca7a43f 100644
 | 
| --- a/src/x64/debug-x64.cc
 | 
| +++ b/src/x64/debug-x64.cc
 | 
| @@ -91,7 +91,7 @@ void BreakLocationIterator::ClearDebugBreakAtSlot() {
 | 
|    rinfo()->PatchCode(original_rinfo()->pc(), Assembler::kDebugBreakSlotLength);
 | 
|  }
 | 
|  
 | 
| -const bool Debug::FramePaddingLayout::kIsSupported = false;
 | 
| +const bool Debug::FramePaddingLayout::kIsSupported = true;
 | 
|  
 | 
|  
 | 
|  #define __ ACCESS_MASM(masm)
 | 
| @@ -105,6 +105,12 @@ static void Generate_DebugBreakCallHelper(MacroAssembler* masm,
 | 
|    {
 | 
|      FrameScope scope(masm, StackFrame::INTERNAL);
 | 
|  
 | 
| +    // Load padding words on stack.
 | 
| +    for (int i = 0; i < Debug::FramePaddingLayout::kInitialSize; i++) {
 | 
| +      __ Push(Smi::FromInt(Debug::FramePaddingLayout::kPaddingValue));
 | 
| +    }
 | 
| +    __ Push(Smi::FromInt(Debug::FramePaddingLayout::kInitialSize));
 | 
| +
 | 
|      // Store the registers containing live values on the expression stack to
 | 
|      // make sure that these are correctly updated during GC. Non object values
 | 
|      // are stored as as two smis causing it to be untouched by GC.
 | 
| @@ -159,6 +165,11 @@ static void Generate_DebugBreakCallHelper(MacroAssembler* masm,
 | 
|        }
 | 
|      }
 | 
|  
 | 
| +    // Read current padding counter and skip corresponding number of words.
 | 
| +    __ pop(kScratchRegister);
 | 
| +    __ SmiToInteger32(kScratchRegister, kScratchRegister);
 | 
| +    __ lea(rsp, Operand(rsp, kScratchRegister, times_pointer_size, 0));
 | 
| +
 | 
|      // Get rid of the internal frame.
 | 
|    }
 | 
|  
 | 
| 
 |