Home | History | Annotate | Download | only in x64

Lines Matching full:receiver

25   //   type: holds the receiver instance type on entry.
38 // The generated code assumes that the receiver has slow properties,
86 // in that case. The generated code assumes that the receiver has slow
137 // Checks the receiver for special cases (value type, slow case bits).
140 Register receiver, Register map,
143 // receiver - holds the receiver and is unchanged.
145 // map - used to hold the map of the receiver.
148 __ JumpIfSmi(receiver, slow);
155 __ CmpObjectType(receiver, JS_OBJECT_TYPE, map);
167 static void GenerateFastArrayLoad(MacroAssembler* masm, Register receiver,
173 // receiver - holds the receiver on entry.
180 // Allowed to be the the same as 'receiver' or 'key'.
181 // Unchanged on bailout so 'receiver' and 'key' can be safely
186 // elements - holds the elements of the receiver and its prototypes.
192 __ movp(elements, FieldOperand(receiver, JSObject::kElementsOffset));
204 __ movp(scratch, FieldOperand(receiver, HeapObject::kMapOffset));
284 Register receiver = LoadDescriptor::ReceiverRegister();
286 DCHECK(receiver.is(rdx));
295 GenerateKeyedLoadReceiverCheck(masm, receiver, rax,
298 // Check the receiver's map to see if it has fast elements.
301 GenerateFastArrayLoad(masm, receiver, key, rax, rbx, rax, &slow,
309 __ movp(rax, FieldOperand(receiver, JSObject::kElementsOffset));
328 GenerateKeyedLoadReceiverCheck(masm, receiver, rax, Map::kHasNamedInterceptor,
331 // If the receiver is a fast-case object, check the stub cache. Otherwise
333 __ movp(rbx, FieldOperand(receiver, JSObject::kPropertiesOffset));
354 receiver, key,
359 // Do a quick inline probe of the receiver's dictionary, if it
364 __ movp(rax, FieldOperand(receiver, JSObject::kMapOffset));
384 Register receiver = StoreDescriptor::ReceiverRegister();
387 DCHECK(receiver.is(rdx));
392 // rbx: receiver's elements array (a FixedArray)
393 // receiver is a JSArray.
394 // r9: map of receiver
409 __ JumpIfDictionaryInPrototypeChain(receiver, rdi, kScratchRegister, slow);
417 // Add 1 to receiver->length.
419 __ Integer32ToSmiField(FieldOperand(receiver, JSArray::kLengthOffset), rdi);
428 // r9: receiver's map
433 // Add 1 to receiver->length.
435 __ Integer32ToSmiField(FieldOperand(receiver, JSArray::kLengthOffset), rdi);
459 __ JumpIfDictionaryInPrototypeChain(receiver, rdi, kScratchRegister, slow);
465 // Add 1 to receiver->length.
467 __ Integer32ToSmiField(FieldOperand(receiver, JSArray::kLengthOffset), rdi);
472 __ movp(rbx, FieldOperand(receiver, HeapObject::kMapOffset));
485 ElementsTransitionGenerator::GenerateSmiToDouble(masm, receiver, key, value,
487 __ movp(rbx, FieldOperand(receiver, JSObject::kElementsOffset));
496 masm, receiver, key, value, rbx, mode, slow);
497 __ movp(rbx, FieldOperand(receiver, JSObject::kElementsOffset));
502 // HeapNumber. Make sure that the receiver is a Array with FAST_ELEMENTS and
504 __ movp(rbx, FieldOperand(receiver, HeapObject::kMapOffset));
508 ElementsTransitionGenerator::GenerateDoubleToObject(masm, receiver, key,
510 __ movp(rbx, FieldOperand(receiver, JSObject::kElementsOffset));
521 Register receiver = StoreDescriptor::ReceiverRegister();
523 DCHECK(receiver.is(rdx));
527 __ JumpIfSmi(receiver, &slow_with_tagged_index);
528 // Get the map from the receiver.
529 __ movp(r9, FieldOperand(receiver, HeapObject::kMapOffset));
530 // Check that the receiver does not require access checks and is not observed.
549 __ movp(rbx, FieldOperand(receiver, JSObject::kElementsOffset));
581 receiver, key, r9, no_reg);
589 // receiver is a JSArray.
590 // rbx: receiver's elements array (a FixedArray)
591 // flags: smicompare (receiver.length(), rbx)
611 // receiver is a JSArray.
612 __ movp(rbx, FieldOperand(receiver, JSObject::kElementsOffset));
616 __ SmiCompareInteger32(FieldOperand(receiver, JSArray::kLengthOffset), key);
650 Register receiver = LoadDescriptor::ReceiverRegister();
654 DCHECK(!rdi.is(receiver) && !rdi.is(name) && !rdi.is(slot) &&
658 __ Push(receiver);
682 Register receiver = LoadDescriptor::ReceiverRegister();
685 DCHECK(!rbx.is(receiver) && !rbx.is(name));
688 __ Push(receiver);
713 Register receiver = LoadDescriptor::ReceiverRegister();
716 DCHECK(!rbx.is(receiver) && !rbx.is(name));
719 __ Push(receiver);
736 Register receiver = StoreDescriptor::ReceiverRegister();
740 DCHECK(!temp.is(receiver) && !temp.is(name) && !temp.is(value));
743 __ Push(receiver);
765 Register receiver = StoreDescriptor::ReceiverRegister();
774 __ movp(dictionary, FieldOperand(receiver, JSObject::kPropertiesOffset));