Lines Matching full:receiver
39 // The generated code assumes that the receiver has slow properties,
79 // The generated code assumes that the receiver has slow properties,
120 // Checks the receiver for special cases (value type, slow case bits).
122 // receiver in 'map_scratch' if the receiver is not a SMI.
124 Register receiver,
131 __ JumpIfSmi(receiver, slow);
132 // Get the map of the receiver.
133 __ Ldr(map_scratch, FieldMemOperand(receiver, HeapObject::kMapOffset));
152 // receiver - holds the receiver on entry.
158 // elements - holds the elements of the receiver and its prototypes. Clobbered.
161 // Allowed to be the the same as 'receiver' or 'key'.
162 // Unchanged on bailout so 'receiver' and 'key' can be safely
164 static void GenerateFastArrayLoad(MacroAssembler* masm, Register receiver,
169 DCHECK(!AreAliased(receiver, key, elements, scratch1, scratch2));
175 __ Ldr(elements, FieldMemOperand(receiver, JSObject::kElementsOffset));
188 __ Ldr(scratch2, FieldMemOperand(receiver, HeapObject::kMapOffset));
224 // 'result' can alias with 'receiver' or 'key' but these two must be
341 Register receiver, Register scratch1,
346 DCHECK(!AreAliased(key, receiver, scratch1, scratch2, scratch3, scratch4,
354 GenerateKeyedLoadReceiverCheck(masm, receiver, scratch1, scratch2,
357 // Check the receiver's map to see if it has fast elements.
360 GenerateFastArrayLoad(masm, receiver, key, scratch3, scratch2, scratch1,
367 __ Ldr(scratch3, FieldMemOperand(receiver, JSObject::kElementsOffset));
379 Register receiver, Register scratch1,
383 DCHECK(!AreAliased(key, receiver, scratch1, scratch2, scratch3, scratch4,
391 GenerateKeyedLoadReceiverCheck(masm, receiver, scratch1, scratch2,
394 // If the receiver is a fast-case object, check the stub cache. Otherwise
396 __ Ldr(scratch2, FieldMemOperand(receiver, JSObject::kPropertiesOffset));
415 receiver, key, scratch1,
420 // Do a quick inline probe of the receiver's dictionary, if it exists.
422 __ Ldr(scratch1, FieldMemOperand(receiver, HeapObject::kMapOffset));
439 Register receiver = LoadDescriptor::ReceiverRegister();
441 DCHECK(receiver.is(x1));
447 GenerateKeyedLoadWithSmiKey(masm, key, receiver, x7, x3, x4, x5, x6, &slow,
459 GenerateKeyedLoadWithNameKey(masm, key, receiver, x4, x5, x6, x7, x3, &slow);
486 Register value, Register key, Register receiver, Register receiver_map,
488 DCHECK(!AreAliased(value, key, receiver, receiver_map, elements_map, elements,
513 __ JumpIfDictionaryInPrototypeChain(receiver, elements_map, x10, slow);
524 // Add 1 to receiver->length.
526 __ Str(x10, FieldMemOperand(receiver, JSArray::kLengthOffset));
560 __ JumpIfDictionaryInPrototypeChain(receiver, elements_map, x10, slow);
566 // Add 1 to receiver->length.
568 __ Str(x10, FieldMemOperand(receiver, JSArray::kLengthOffset));
584 ElementsTransitionGenerator::GenerateSmiToDouble(masm, receiver, key, value,
586 __ Ldr(elements, FieldMemOperand(receiver, JSObject::kElementsOffset));
596 masm, receiver, key, value, receiver_map, mode, slow);
598 __ Ldr(elements, FieldMemOperand(receiver, JSObject::kElementsOffset));
603 // HeapNumber. Make sure that the receiver is a Array with FAST_ELEMENTS and
609 masm, receiver, key, value, receiver_map, mode, slow);
610 __ Ldr(elements, FieldMemOperand(receiver, JSObject::kElementsOffset));
630 Register receiver = StoreDescriptor::ReceiverRegister();
631 DCHECK(receiver.is(x1));
640 __ JumpIfSmi(receiver, &slow);
641 __ Ldr(receiver_map, FieldMemOperand(receiver, HeapObject::kMapOffset));
643 // Check that the receiver does not require access checks and is not observed.
661 __ Ldr(elements, FieldMemOperand(receiver, JSObject::kElementsOffset));
673 // x2: receiver
697 receiver, key, x5, x6, x7, x8);
726 __ Ldr(elements, FieldMemOperand(receiver, JSObject::kElementsOffset));
729 __ Ldrsw(x10, UntagSmiFieldMemOperand(receiver, JSArray::kLengthOffset));
736 value, key, receiver, receiver_map, elements_map, elements);
739 kIncrementLength, value, key, receiver,
748 Register receiver = StoreDescriptor::ReceiverRegister();
750 DCHECK(!AreAliased(receiver, name, StoreDescriptor::ValueRegister(), x3, x4,
757 receiver, name, x3, x4, x5, x6);
775 Register receiver = StoreDescriptor::ReceiverRegister();
778 DCHECK(!AreAliased(value, receiver, name,
782 __ Ldr(dictionary, FieldMemOperand(receiver, JSObject::kPropertiesOffset));