| Index: src/x64/stub-cache-x64.cc | 
| diff --git a/src/x64/stub-cache-x64.cc b/src/x64/stub-cache-x64.cc | 
| index 31f60be565e2de24697de08cca2a78ded9ec27c2..38a36d6c0f742782d4255c12559534f73e9b5d2a 100644 | 
| --- a/src/x64/stub-cache-x64.cc | 
| +++ b/src/x64/stub-cache-x64.cc | 
| @@ -29,6 +29,7 @@ | 
|  | 
| #if V8_TARGET_ARCH_X64 | 
|  | 
| +#include "arguments.h" | 
| #include "ic-inl.h" | 
| #include "codegen.h" | 
| #include "stub-cache.h" | 
| @@ -371,10 +372,14 @@ static void PushInterceptorArguments(MacroAssembler* masm, | 
| ASSERT(!masm->isolate()->heap()->InNewSpace(*interceptor)); | 
| __ Move(kScratchRegister, interceptor); | 
| __ push(kScratchRegister); | 
| +  STATIC_ASSERT(PropertyCallbackArguments::kThisIndex == 0); | 
| +  STATIC_ASSERT(PropertyCallbackArguments::kDataIndex == -1); | 
| +  STATIC_ASSERT(PropertyCallbackArguments::kIsolateIndex == -4); | 
| +  STATIC_ASSERT(PropertyCallbackArguments::kHolderIndex == -5); | 
| __ push(receiver); | 
| -  __ push(holder); | 
| __ push(FieldOperand(kScratchRegister, InterceptorInfo::kDataOffset)); | 
| __ PushAddress(ExternalReference::isolate_address(masm->isolate())); | 
| +  __ push(holder); | 
| } | 
|  | 
|  | 
| @@ -1322,19 +1327,27 @@ void BaseLoadStubCompiler::GenerateLoadCallback( | 
| ASSERT(!scratch4().is(reg)); | 
| __ PopReturnAddressTo(scratch4()); | 
|  | 
| +  STATIC_ASSERT(PropertyCallbackArguments::kThisIndex == 0); | 
| +  STATIC_ASSERT(PropertyCallbackArguments::kDataIndex == -1); | 
| +  STATIC_ASSERT(PropertyCallbackArguments::kReturnValueOffset == -2); | 
| +  STATIC_ASSERT(PropertyCallbackArguments::kReturnValueDefaultValueIndex == -3); | 
| +  STATIC_ASSERT(PropertyCallbackArguments::kIsolateIndex == -4); | 
| +  STATIC_ASSERT(PropertyCallbackArguments::kHolderIndex == -5); | 
| __ push(receiver());  // receiver | 
| -  __ push(reg);  // holder | 
| if (heap()->InNewSpace(callback->data())) { | 
| +    ASSERT(!scratch1().is(reg)); | 
| __ Move(scratch1(), callback); | 
| __ push(FieldOperand(scratch1(), | 
| ExecutableAccessorInfo::kDataOffset));  // data | 
| } else { | 
| __ Push(Handle<Object>(callback->data(), isolate())); | 
| } | 
| +  ASSERT(!kScratchRegister.is(reg)); | 
| __ LoadRoot(kScratchRegister, Heap::kUndefinedValueRootIndex); | 
| __ push(kScratchRegister);  // return value | 
| __ push(kScratchRegister);  // return value default | 
| __ PushAddress(ExternalReference::isolate_address(isolate())); | 
| +  __ push(reg);  // holder | 
| __ push(name());  // name | 
| // Save a pointer to where we pushed the arguments pointer.  This will be | 
| // passed as the const ExecutableAccessorInfo& to the C++ callback. | 
| @@ -1378,7 +1391,7 @@ void BaseLoadStubCompiler::GenerateLoadCallback( | 
| thunk_address, | 
| getter_arg, | 
| kStackSpace, | 
| -                              5); | 
| +                              6); | 
| } | 
|  | 
|  | 
|  |