Home | History | Annotate | Download | only in ia32

Lines Matching full:receiver

25   //   type: holds the receiver instance type on entry.
38 // case. The generated code assumes that the receiver has slow
86 // that case. The generated code assumes that the receiver has slow
136 // Checks the receiver for special cases (value type, slow case bits).
139 Register receiver, Register map,
142 // receiver - holds the receiver and is unchanged.
144 // map - used to hold the map of the receiver.
147 __ JumpIfSmi(receiver, slow);
149 // Get the map of the receiver.
150 __ mov(map, FieldOperand(receiver, HeapObject::kMapOffset));
167 static void GenerateFastArrayLoad(MacroAssembler* masm, Register receiver,
172 // receiver - holds the receiver and is unchanged.
175 // scratch - used to hold elements of the receiver and the loaded value.
182 __ mov(scratch, FieldOperand(receiver, JSObject::kElementsOffset));
193 __ mov(scratch2, FieldOperand(receiver, HeapObject::kMapOffset));
272 Register receiver = LoadDescriptor::ReceiverRegister();
274 DCHECK(receiver.is(edx));
283 GenerateKeyedLoadReceiverCheck(masm, receiver, eax,
286 // Check the receiver's map to see if it has fast elements.
289 GenerateFastArrayLoad(masm, receiver, key, eax, ebx, eax, &slow,
299 __ mov(eax, FieldOperand(receiver, JSObject::kElementsOffset));
307 // Push receiver on the stack to free up a register for the dictionary
309 __ push(receiver);
311 // Pop receiver before returning.
312 __ pop(receiver);
316 // Pop the receiver from the stack and jump to runtime.
317 __ pop(receiver);
327 GenerateKeyedLoadReceiverCheck(masm, receiver, eax, Map::kHasNamedInterceptor,
330 // If the receiver is a fast-case object, check the stub cache. Otherwise
332 __ mov(ebx, FieldOperand(receiver, JSObject::kPropertiesOffset));
349 receiver, key, ebx, edi);
357 // Do a quick inline probe of the receiver's dictionary, if it
361 __ mov(eax, FieldOperand(receiver, JSObject::kMapOffset));
382 Register receiver = StoreDescriptor::ReceiverRegister();
385 DCHECK(receiver.is(edx));
389 // ebx: FixedArray receiver->elements
390 // edi: receiver map
406 __ JumpIfDictionaryInPrototypeChain(receiver, ebx, edi, slow);
407 __ mov(ebx, FieldOperand(receiver, JSObject::kElementsOffset));
415 // Add 1 to receiver->length.
416 __ add(FieldOperand(receiver, JSArray::kLengthOffset),
425 __ mov(edi, FieldOperand(receiver, HeapObject::kMapOffset));
431 // Add 1 to receiver->length.
432 __ add(FieldOperand(receiver, JSArray::kLengthOffset),
458 __ JumpIfDictionaryInPrototypeChain(receiver, ebx, edi, slow);
459 __ mov(ebx, FieldOperand(receiver, JSObject::kElementsOffset));
465 // Add 1 to receiver->length.
466 __ add(FieldOperand(receiver, JSArray::kLengthOffset),
472 __ mov(ebx, FieldOperand(receiver, HeapObject::kMapOffset));
484 ElementsTransitionGenerator::GenerateSmiToDouble(masm, receiver, key, value,
486 __ mov(ebx, FieldOperand(receiver, JSObject::kElementsOffset));
495 masm, receiver, key, value, ebx, mode, slow);
496 __ mov(ebx, FieldOperand(receiver, JSObject::kElementsOffset));
501 // HeapNumber. Make sure that the receiver is a Array with FAST_ELEMENTS and
503 __ mov(ebx, FieldOperand(receiver, HeapObject::kMapOffset));
507 ElementsTransitionGenerator::GenerateDoubleToObject(masm, receiver, key,
509 __ mov(ebx, FieldOperand(receiver, JSObject::kElementsOffset));
520 Register receiver = StoreDescriptor::ReceiverRegister();
522 DCHECK(receiver.is(edx));
526 __ JumpIfSmi(receiver, &slow);
527 // Get the map from the receiver.
528 __ mov(edi, FieldOperand(receiver, HeapObject::kMapOffset));
529 // Check that the receiver does not require access checks and is not observed.
547 // edi: receiver map
548 __ mov(ebx, FieldOperand(receiver, JSObject::kElementsOffset));
576 receiver, key, edi, no_reg);
588 // receiver is a JSArray.
590 // ebx: receiver->elements, a FixedArray
591 // edi: receiver map
592 // flags: compare (key, receiver.length())
611 // receiver is a JSArray.
613 // edi: receiver map
614 __ mov(ebx, FieldOperand(receiver, JSObject::kElementsOffset));
618 __ cmp(key, FieldOperand(receiver, JSArray::kLengthOffset)); // Compare smis.
652 Register receiver = LoadDescriptor::ReceiverRegister();
657 DCHECK(!edi.is(receiver) && !edi.is(name) && !edi.is(slot) &&
661 __ push(receiver);
682 Register receiver = LoadDescriptor::ReceiverRegister();
684 DCHECK(!ebx.is(receiver) && !ebx.is(name));
687 __ push(receiver);
711 Register receiver = LoadDescriptor::ReceiverRegister();
713 DCHECK(!ebx.is(receiver) && !ebx.is(name));
716 __ push(receiver);
735 Register receiver = StoreDescriptor::ReceiverRegister();
741 __ xchg(receiver, Operand(esp, 0));
746 __ push(receiver); // Contains the return address.
761 Register receiver = StoreDescriptor::ReceiverRegister();
768 // objects. Push and restore receiver but rely on
770 __ push(receiver);
775 __ mov(dictionary, FieldOperand(receiver, JSObject::kPropertiesOffset));
777 receiver, edi);
786 __ pop(receiver);