Index: src/x64/ic-x64.cc |
diff --git a/src/x64/ic-x64.cc b/src/x64/ic-x64.cc |
index 454e3bdaeb21d5ba8046379d4c0ef77648720043..b307e693e33978b6babe21cd585812116f5ea9fe 100644 |
--- a/src/x64/ic-x64.cc |
+++ b/src/x64/ic-x64.cc |
@@ -74,7 +74,7 @@ static void GenerateNameDictionaryReceiverCheck(MacroAssembler* masm, |
__ JumpIfSmi(receiver, miss); |
// Check that the receiver is a valid JS object. |
- __ movq(r1, FieldOperand(receiver, HeapObject::kMapOffset)); |
+ __ movp(r1, FieldOperand(receiver, HeapObject::kMapOffset)); |
__ movb(r0, FieldOperand(r1, Map::kInstanceTypeOffset)); |
__ cmpb(r0, Immediate(FIRST_SPEC_OBJECT_TYPE)); |
__ j(below, miss); |
@@ -90,7 +90,7 @@ static void GenerateNameDictionaryReceiverCheck(MacroAssembler* masm, |
(1 << Map::kHasNamedInterceptor))); |
__ j(not_zero, miss); |
- __ movq(r0, FieldOperand(receiver, JSObject::kPropertiesOffset)); |
+ __ movp(r0, FieldOperand(receiver, JSObject::kPropertiesOffset)); |
__ CompareRoot(FieldOperand(r0, HeapObject::kMapOffset), |
Heap::kHashTableMapRootIndex); |
__ j(not_equal, miss); |
@@ -150,7 +150,7 @@ static void GenerateDictionaryLoad(MacroAssembler* masm, |
// Get the value at the masked, scaled index. |
const int kValueOffset = kElementsStartOffset + kPointerSize; |
- __ movq(result, |
+ __ movp(result, |
Operand(elements, r1, times_pointer_size, |
kValueOffset - kHeapObjectTag)); |
} |
@@ -216,10 +216,10 @@ static void GenerateDictionaryStore(MacroAssembler* masm, |
scratch1, |
times_pointer_size, |
kValueOffset - kHeapObjectTag)); |
- __ movq(Operand(scratch1, 0), value); |
+ __ movp(Operand(scratch1, 0), value); |
// Update write barrier. Make sure not to clobber the value. |
- __ movq(scratch0, value); |
+ __ movp(scratch0, value); |
__ RecordWrite(elements, scratch1, scratch0, kDontSaveFPRegs); |
} |
@@ -284,7 +284,7 @@ static void GenerateFastArrayLoad(MacroAssembler* masm, |
// |
// scratch - used to hold elements of the receiver and the loaded value. |
- __ movq(elements, FieldOperand(receiver, JSObject::kElementsOffset)); |
+ __ movp(elements, FieldOperand(receiver, JSObject::kElementsOffset)); |
if (not_fast_array != NULL) { |
// Check that the object is in fast mode and writable. |
__ CompareRoot(FieldOperand(elements, HeapObject::kMapOffset), |
@@ -299,7 +299,7 @@ static void GenerateFastArrayLoad(MacroAssembler* masm, |
__ j(above_equal, out_of_range); |
// Fast case: Do the load. |
SmiIndex index = masm->SmiToIndex(scratch, key, kPointerSizeLog2); |
- __ movq(scratch, FieldOperand(elements, |
+ __ movp(scratch, FieldOperand(elements, |
index.reg, |
index.scale, |
FixedArray::kHeaderSize)); |
@@ -308,7 +308,7 @@ static void GenerateFastArrayLoad(MacroAssembler* masm, |
// to ensure the prototype chain is searched. |
__ j(equal, out_of_range); |
if (!result.is(scratch)) { |
- __ movq(result, scratch); |
+ __ movp(result, scratch); |
} |
} |
@@ -384,7 +384,7 @@ void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { |
__ bind(&check_number_dictionary); |
__ SmiToInteger32(rbx, rax); |
- __ movq(rcx, FieldOperand(rdx, JSObject::kElementsOffset)); |
+ __ movp(rcx, FieldOperand(rdx, JSObject::kElementsOffset)); |
// Check whether the elements is a number dictionary. |
// rdx: receiver |
@@ -412,14 +412,14 @@ void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { |
// If the receiver is a fast-case object, check the keyed lookup |
// cache. Otherwise probe the dictionary leaving result in rcx. |
- __ movq(rbx, FieldOperand(rdx, JSObject::kPropertiesOffset)); |
+ __ movp(rbx, FieldOperand(rdx, JSObject::kPropertiesOffset)); |
__ CompareRoot(FieldOperand(rbx, HeapObject::kMapOffset), |
Heap::kHashTableMapRootIndex); |
__ j(equal, &probe_dictionary); |
// Load the map of the receiver, compute the keyed lookup cache hash |
// based on 32 bits of the map pointer and the string hash. |
- __ movq(rbx, FieldOperand(rdx, HeapObject::kMapOffset)); |
+ __ movp(rbx, FieldOperand(rdx, HeapObject::kMapOffset)); |
__ movl(rcx, rbx); |
__ shr(rcx, Immediate(KeyedLookupCache::kMapHashShift)); |
__ movl(rdi, FieldOperand(rax, String::kHashFieldOffset)); |
@@ -438,7 +438,7 @@ void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { |
for (int i = 0; i < kEntriesPerBucket - 1; i++) { |
Label try_next_entry; |
- __ movq(rdi, rcx); |
+ __ movp(rdi, rcx); |
__ shl(rdi, Immediate(kPointerSizeLog2 + 1)); |
__ LoadAddress(kScratchRegister, cache_keys); |
int off = kPointerSize * i * 2; |
@@ -479,14 +479,14 @@ void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { |
__ bind(&load_in_object_property); |
__ movzxbq(rcx, FieldOperand(rbx, Map::kInstanceSizeOffset)); |
__ addq(rcx, rdi); |
- __ movq(rax, FieldOperand(rdx, rcx, times_pointer_size, 0)); |
+ __ movp(rax, FieldOperand(rdx, rcx, times_pointer_size, 0)); |
__ IncrementCounter(counters->keyed_load_generic_lookup_cache(), 1); |
__ ret(0); |
// Load property array property. |
__ bind(&property_array_property); |
- __ movq(rax, FieldOperand(rdx, JSObject::kPropertiesOffset)); |
- __ movq(rax, FieldOperand(rax, rdi, times_pointer_size, |
+ __ movp(rax, FieldOperand(rdx, JSObject::kPropertiesOffset)); |
+ __ movp(rax, FieldOperand(rax, rdi, times_pointer_size, |
FixedArray::kHeaderSize)); |
__ IncrementCounter(counters->keyed_load_generic_lookup_cache(), 1); |
__ ret(0); |
@@ -498,7 +498,7 @@ void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { |
// rax: key |
// rbx: elements |
- __ movq(rcx, FieldOperand(rdx, JSObject::kMapOffset)); |
+ __ movp(rcx, FieldOperand(rdx, JSObject::kMapOffset)); |
__ movb(rcx, FieldOperand(rcx, Map::kInstanceTypeOffset)); |
GenerateGlobalInstanceTypeCheck(masm, rcx, &slow); |
@@ -560,7 +560,7 @@ void KeyedLoadIC::GenerateIndexedInterceptor(MacroAssembler* masm) { |
__ JumpUnlessNonNegativeSmi(rax, &slow); |
// Get the map of the receiver. |
- __ movq(rcx, FieldOperand(rdx, HeapObject::kMapOffset)); |
+ __ movp(rcx, FieldOperand(rdx, HeapObject::kMapOffset)); |
// Check that it has indexed interceptor and access checks |
// are not enabled for this object. |
@@ -605,7 +605,7 @@ static void KeyedStoreGenerateGenericHelper( |
// rdx: receiver (a JSArray) |
// r9: map of receiver |
if (check_map == kCheckMap) { |
- __ movq(rdi, FieldOperand(rbx, HeapObject::kMapOffset)); |
+ __ movp(rdi, FieldOperand(rbx, HeapObject::kMapOffset)); |
__ CompareRoot(rdi, Heap::kFixedArrayMapRootIndex); |
__ j(not_equal, fast_double); |
} |
@@ -614,7 +614,7 @@ static void KeyedStoreGenerateGenericHelper( |
// We have to go to the runtime if the current value is the hole because |
// there may be a callback on the element |
Label holecheck_passed1; |
- __ movq(kScratchRegister, FieldOperand(rbx, |
+ __ movp(kScratchRegister, FieldOperand(rbx, |
rcx, |
times_pointer_size, |
FixedArray::kHeaderSize)); |
@@ -633,7 +633,7 @@ static void KeyedStoreGenerateGenericHelper( |
__ Integer32ToSmiField(FieldOperand(rdx, JSArray::kLengthOffset), rdi); |
} |
// It's irrelevant whether array is smi-only or not when writing a smi. |
- __ movq(FieldOperand(rbx, rcx, times_pointer_size, FixedArray::kHeaderSize), |
+ __ movp(FieldOperand(rbx, rcx, times_pointer_size, FixedArray::kHeaderSize), |
rax); |
__ ret(0); |
@@ -648,9 +648,9 @@ static void KeyedStoreGenerateGenericHelper( |
__ leal(rdi, Operand(rcx, 1)); |
__ Integer32ToSmiField(FieldOperand(rdx, JSArray::kLengthOffset), rdi); |
} |
- __ movq(FieldOperand(rbx, rcx, times_pointer_size, FixedArray::kHeaderSize), |
+ __ movp(FieldOperand(rbx, rcx, times_pointer_size, FixedArray::kHeaderSize), |
rax); |
- __ movq(rdx, rax); // Preserve the value which is returned. |
+ __ movp(rdx, rax); // Preserve the value which is returned. |
__ RecordWriteArray( |
rbx, rdx, rcx, kDontSaveFPRegs, EMIT_REMEMBERED_SET, OMIT_SMI_CHECK); |
__ ret(0); |
@@ -683,10 +683,10 @@ static void KeyedStoreGenerateGenericHelper( |
__ ret(0); |
__ bind(&transition_smi_elements); |
- __ movq(rbx, FieldOperand(rdx, HeapObject::kMapOffset)); |
+ __ movp(rbx, FieldOperand(rdx, HeapObject::kMapOffset)); |
// Transition the array appropriately depending on the value type. |
- __ movq(r9, FieldOperand(rax, HeapObject::kMapOffset)); |
+ __ movp(r9, FieldOperand(rax, HeapObject::kMapOffset)); |
__ CompareRoot(r9, Heap::kHeapNumberMapRootIndex); |
__ j(not_equal, &non_double_value); |
@@ -700,7 +700,7 @@ static void KeyedStoreGenerateGenericHelper( |
AllocationSiteMode mode = AllocationSite::GetMode(FAST_SMI_ELEMENTS, |
FAST_DOUBLE_ELEMENTS); |
ElementsTransitionGenerator::GenerateSmiToDouble(masm, mode, slow); |
- __ movq(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); |
+ __ movp(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); |
__ jmp(&fast_double_without_map_check); |
__ bind(&non_double_value); |
@@ -713,14 +713,14 @@ static void KeyedStoreGenerateGenericHelper( |
mode = AllocationSite::GetMode(FAST_SMI_ELEMENTS, FAST_ELEMENTS); |
ElementsTransitionGenerator::GenerateMapChangeElementsTransition(masm, mode, |
slow); |
- __ movq(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); |
+ __ movp(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); |
__ jmp(&finish_object_store); |
__ bind(&transition_double_elements); |
// Elements are FAST_DOUBLE_ELEMENTS, but value is an Object that's not a |
// HeapNumber. Make sure that the receiver is a Array with FAST_ELEMENTS and |
// transition array from FAST_DOUBLE_ELEMENTS to FAST_ELEMENTS |
- __ movq(rbx, FieldOperand(rdx, HeapObject::kMapOffset)); |
+ __ movp(rbx, FieldOperand(rdx, HeapObject::kMapOffset)); |
__ LoadTransitionedArrayMapConditional(FAST_DOUBLE_ELEMENTS, |
FAST_ELEMENTS, |
rbx, |
@@ -728,7 +728,7 @@ static void KeyedStoreGenerateGenericHelper( |
slow); |
mode = AllocationSite::GetMode(FAST_DOUBLE_ELEMENTS, FAST_ELEMENTS); |
ElementsTransitionGenerator::GenerateDoubleToObject(masm, mode, slow); |
- __ movq(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); |
+ __ movp(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); |
__ jmp(&finish_object_store); |
} |
@@ -748,7 +748,7 @@ void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm, |
// Check that the object isn't a smi. |
__ JumpIfSmi(rdx, &slow_with_tagged_index); |
// Get the map from the receiver. |
- __ movq(r9, FieldOperand(rdx, HeapObject::kMapOffset)); |
+ __ movp(r9, FieldOperand(rdx, HeapObject::kMapOffset)); |
// Check that the receiver does not require access checks and is not observed. |
// The generic stub does not perform map checks or handle observed objects. |
__ testb(FieldOperand(r9, Map::kBitFieldOffset), |
@@ -768,7 +768,7 @@ void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm, |
// rax: value |
// rdx: JSObject |
// rcx: index |
- __ movq(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); |
+ __ movp(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); |
// Check array bounds. |
__ SmiCompareInteger32(FieldOperand(rbx, FixedArray::kLengthOffset), rcx); |
// rax: value |
@@ -796,7 +796,7 @@ void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm, |
__ SmiCompareInteger32(FieldOperand(rbx, FixedArray::kLengthOffset), rcx); |
__ j(below_equal, &slow); |
// Increment index to get new length. |
- __ movq(rdi, FieldOperand(rbx, HeapObject::kMapOffset)); |
+ __ movp(rdi, FieldOperand(rbx, HeapObject::kMapOffset)); |
__ CompareRoot(rdi, Heap::kFixedArrayMapRootIndex); |
__ j(not_equal, &check_if_double_array); |
__ jmp(&fast_object_grow); |
@@ -814,7 +814,7 @@ void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm, |
// rax: value |
// rdx: receiver (a JSArray) |
// rcx: index |
- __ movq(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); |
+ __ movp(rbx, FieldOperand(rdx, JSObject::kElementsOffset)); |
// Check the key against the length in the array, compute the |
// address to store into and fall through to fast case. |
@@ -928,7 +928,7 @@ void CallICBase::GenerateNormal(MacroAssembler* masm, int argc) { |
Label miss; |
StackArgumentsAccessor args(rsp, argc); |
- __ movq(rdx, args.GetReceiverOperand()); |
+ __ movp(rdx, args.GetReceiverOperand()); |
GenerateNameDictionaryReceiverCheck(masm, rdx, rax, rbx, &miss); |
@@ -964,7 +964,7 @@ void CallICBase::GenerateMiss(MacroAssembler* masm, |
} |
StackArgumentsAccessor args(rsp, argc); |
- __ movq(rdx, args.GetReceiverOperand()); |
+ __ movp(rdx, args.GetReceiverOperand()); |
// Enter an internal frame. |
{ |
@@ -981,14 +981,14 @@ void CallICBase::GenerateMiss(MacroAssembler* masm, |
__ CallStub(&stub); |
// Move result to rdi and exit the internal frame. |
- __ movq(rdi, rax); |
+ __ movp(rdi, rax); |
} |
// Check if the receiver is a global object of some sort. |
// This can happen only for regular CallIC but not KeyedCallIC. |
if (id == IC::kCallIC_Miss) { |
Label invoke, global; |
- __ movq(rdx, args.GetReceiverOperand()); |
+ __ movp(rdx, args.GetReceiverOperand()); |
__ JumpIfSmi(rdx, &invoke); |
__ CmpObjectType(rdx, JS_GLOBAL_OBJECT_TYPE, rcx); |
__ j(equal, &global); |
@@ -998,7 +998,7 @@ void CallICBase::GenerateMiss(MacroAssembler* masm, |
// Patch the receiver on the stack. |
__ bind(&global); |
__ LoadRoot(rdx, Heap::kUndefinedValueRootIndex); |
- __ movq(args.GetReceiverOperand(), rdx); |
+ __ movp(args.GetReceiverOperand(), rdx); |
__ bind(&invoke); |
} |
@@ -1022,7 +1022,7 @@ void CallIC::GenerateMegamorphic(MacroAssembler* masm, |
// ----------------------------------- |
StackArgumentsAccessor args(rsp, argc); |
- __ movq(rdx, args.GetReceiverOperand()); |
+ __ movp(rdx, args.GetReceiverOperand()); |
GenerateMonomorphicCacheProbe(masm, argc, Code::CALL_IC, extra_ic_state); |
GenerateMiss(masm, argc, extra_ic_state); |
} |
@@ -1040,7 +1040,7 @@ void KeyedCallIC::GenerateMegamorphic(MacroAssembler* masm, int argc) { |
// ----------------------------------- |
StackArgumentsAccessor args(rsp, argc); |
- __ movq(rdx, args.GetReceiverOperand()); |
+ __ movp(rdx, args.GetReceiverOperand()); |
Label do_call, slow_call, slow_load; |
Label check_number_dictionary, check_name, lookup_monomorphic_cache; |
@@ -1092,7 +1092,7 @@ void KeyedCallIC::GenerateMegamorphic(MacroAssembler* masm, int argc) { |
__ CallRuntime(Runtime::kKeyedGetProperty, 2); |
__ pop(rcx); // restore the key |
} |
- __ movq(rdi, rax); |
+ __ movp(rdi, rax); |
__ jmp(&do_call); |
__ bind(&check_name); |
@@ -1105,7 +1105,7 @@ void KeyedCallIC::GenerateMegamorphic(MacroAssembler* masm, int argc) { |
GenerateKeyedLoadReceiverCheck( |
masm, rdx, rax, Map::kHasNamedInterceptor, &lookup_monomorphic_cache); |
- __ movq(rbx, FieldOperand(rdx, JSObject::kPropertiesOffset)); |
+ __ movp(rbx, FieldOperand(rdx, JSObject::kPropertiesOffset)); |
__ CompareRoot(FieldOperand(rbx, HeapObject::kMapOffset), |
Heap::kHashTableMapRootIndex); |
__ j(not_equal, &lookup_monomorphic_cache); |
@@ -1186,11 +1186,11 @@ static Operand GenerateMappedArgumentsLookup(MacroAssembler* masm, |
// Load the elements into scratch1 and check its map. If not, jump |
// to the unmapped lookup with the parameter map in scratch1. |
Handle<Map> arguments_map(heap->non_strict_arguments_elements_map()); |
- __ movq(scratch1, FieldOperand(object, JSObject::kElementsOffset)); |
+ __ movp(scratch1, FieldOperand(object, JSObject::kElementsOffset)); |
__ CheckMap(scratch1, arguments_map, slow_case, DONT_DO_SMI_CHECK); |
// Check if element is in the range of mapped arguments. |
- __ movq(scratch2, FieldOperand(scratch1, FixedArray::kLengthOffset)); |
+ __ movp(scratch2, FieldOperand(scratch1, FixedArray::kLengthOffset)); |
__ SmiSubConstant(scratch2, scratch2, Smi::FromInt(2)); |
__ cmpq(key, scratch2); |
__ j(greater_equal, unmapped_case); |
@@ -1198,7 +1198,7 @@ static Operand GenerateMappedArgumentsLookup(MacroAssembler* masm, |
// Load element index and check whether it is the hole. |
const int kHeaderSize = FixedArray::kHeaderSize + 2 * kPointerSize; |
__ SmiToInteger64(scratch3, key); |
- __ movq(scratch2, FieldOperand(scratch1, |
+ __ movp(scratch2, FieldOperand(scratch1, |
scratch3, |
times_pointer_size, |
kHeaderSize)); |
@@ -1208,7 +1208,7 @@ static Operand GenerateMappedArgumentsLookup(MacroAssembler* masm, |
// Load value from context and return it. We can reuse scratch1 because |
// we do not jump to the unmapped lookup (which requires the parameter |
// map in scratch1). |
- __ movq(scratch1, FieldOperand(scratch1, FixedArray::kHeaderSize)); |
+ __ movp(scratch1, FieldOperand(scratch1, FixedArray::kHeaderSize)); |
__ SmiToInteger64(scratch3, scratch2); |
return FieldOperand(scratch1, |
scratch3, |
@@ -1228,10 +1228,10 @@ static Operand GenerateUnmappedArgumentsLookup(MacroAssembler* masm, |
// overwritten. |
const int kBackingStoreOffset = FixedArray::kHeaderSize + kPointerSize; |
Register backing_store = parameter_map; |
- __ movq(backing_store, FieldOperand(parameter_map, kBackingStoreOffset)); |
+ __ movp(backing_store, FieldOperand(parameter_map, kBackingStoreOffset)); |
Handle<Map> fixed_array_map(masm->isolate()->heap()->fixed_array_map()); |
__ CheckMap(backing_store, fixed_array_map, slow_case, DONT_DO_SMI_CHECK); |
- __ movq(scratch, FieldOperand(backing_store, FixedArray::kLengthOffset)); |
+ __ movp(scratch, FieldOperand(backing_store, FixedArray::kLengthOffset)); |
__ cmpq(key, scratch); |
__ j(greater_equal, slow_case); |
__ SmiToInteger64(scratch, key); |
@@ -1252,7 +1252,7 @@ void KeyedLoadIC::GenerateNonStrictArguments(MacroAssembler* masm) { |
Operand mapped_location = |
GenerateMappedArgumentsLookup( |
masm, rdx, rax, rbx, rcx, rdi, ¬in, &slow); |
- __ movq(rax, mapped_location); |
+ __ movp(rax, mapped_location); |
__ Ret(); |
__ bind(¬in); |
// The unmapped lookup expects that the parameter map is in rbx. |
@@ -1260,7 +1260,7 @@ void KeyedLoadIC::GenerateNonStrictArguments(MacroAssembler* masm) { |
GenerateUnmappedArgumentsLookup(masm, rax, rbx, rcx, &slow); |
__ CompareRoot(unmapped_location, Heap::kTheHoleValueRootIndex); |
__ j(equal, &slow); |
- __ movq(rax, unmapped_location); |
+ __ movp(rax, unmapped_location); |
__ Ret(); |
__ bind(&slow); |
GenerateMiss(masm); |
@@ -1277,9 +1277,9 @@ void KeyedStoreIC::GenerateNonStrictArguments(MacroAssembler* masm) { |
Label slow, notin; |
Operand mapped_location = GenerateMappedArgumentsLookup( |
masm, rdx, rcx, rbx, rdi, r8, ¬in, &slow); |
- __ movq(mapped_location, rax); |
+ __ movp(mapped_location, rax); |
__ lea(r9, mapped_location); |
- __ movq(r8, rax); |
+ __ movp(r8, rax); |
__ RecordWrite(rbx, |
r9, |
r8, |
@@ -1291,9 +1291,9 @@ void KeyedStoreIC::GenerateNonStrictArguments(MacroAssembler* masm) { |
// The unmapped lookup expects that the parameter map is in rbx. |
Operand unmapped_location = |
GenerateUnmappedArgumentsLookup(masm, rcx, rbx, rdi, &slow); |
- __ movq(unmapped_location, rax); |
+ __ movp(unmapped_location, rax); |
__ lea(r9, unmapped_location); |
- __ movq(r8, rax); |
+ __ movp(r8, rax); |
__ RecordWrite(rbx, |
r9, |
r8, |
@@ -1319,10 +1319,10 @@ void KeyedCallIC::GenerateNonStrictArguments(MacroAssembler* masm, |
// ----------------------------------- |
Label slow, notin; |
StackArgumentsAccessor args(rsp, argc); |
- __ movq(rdx, args.GetReceiverOperand()); |
+ __ movp(rdx, args.GetReceiverOperand()); |
Operand mapped_location = GenerateMappedArgumentsLookup( |
masm, rdx, rcx, rbx, rax, r8, ¬in, &slow); |
- __ movq(rdi, mapped_location); |
+ __ movp(rdi, mapped_location); |
GenerateFunctionTailCall(masm, argc, &slow); |
__ bind(¬in); |
// The unmapped lookup expects that the parameter map is in rbx. |
@@ -1330,7 +1330,7 @@ void KeyedCallIC::GenerateNonStrictArguments(MacroAssembler* masm, |
GenerateUnmappedArgumentsLookup(masm, rcx, rbx, rax, &slow); |
__ CompareRoot(unmapped_location, Heap::kTheHoleValueRootIndex); |
__ j(equal, &slow); |
- __ movq(rdi, unmapped_location); |
+ __ movp(rdi, unmapped_location); |
GenerateFunctionTailCall(masm, argc, &slow); |
__ bind(&slow); |
GenerateMiss(masm, argc); |