Home | History | Annotate | Download | only in x87

Lines Matching defs:ebx

30   // ebx -- allocation site with elements kind
194 Register scratch_candidates[3] = { ebx, edx, edi };
337 ebx, &miss);
390 __ mov(ebx, Operand(ebp, StandardFrameConstants::kCallerFPOffset));
391 __ mov(ecx, Operand(ebx, StandardFrameConstants::kContextOffset));
404 __ lea(ebx, Operand(ebp, eax, times_2, 0));
406 __ mov(eax, Operand(ebx, edx, times_2, kDisplacement));
413 __ mov(ecx, Operand(ebx, ArgumentsAdaptorFrameConstants::kLengthOffset));
420 __ lea(ebx, Operand(ebx, ecx, times_2, 0));
422 __ mov(eax, Operand(ebx, edx, times_2, kDisplacement));
428 __ pop(ebx); // Return address.
430 __ push(ebx);
466 // ebx = parameter count (tagged)
467 __ mov(ebx, Operand(esp, 1 * kPointerSize));
480 __ mov(ecx, ebx);
490 // ebx = parameter count (tagged)
494 // Compute the mapped parameter count = min(ebx, ecx) in ebx
495 __ cmp(ebx, ecx);
497 __ mov(ebx, ecx);
502 __ push(ebx);
509 __ test(ebx, ebx);
511 __ lea(ebx, Operand(ebx, times_2, kParameterMapHeaderSize));
515 __ lea(ebx, Operand(ebx, ecx, times_2, FixedArray::kHeaderSize));
518 __ add(ebx, Immediate(Heap::kSloppyArgumentsObjectSize));
521 __ Allocate(ebx, eax, edx, edi, &runtime, TAG_OBJECT);
532 __ mov(ebx, Operand(esp, 0 * kPointerSize));
533 __ test(ebx, ebx);
547 // ebx = mapped parameter count (tagged)
582 // ebx = mapped parameter count (tagged)
593 __ test(ebx, ebx);
598 __ lea(eax, Operand(ebx, reinterpret_cast<intptr_t>(Smi::FromInt(2))));
601 __ lea(eax, Operand(edi, ebx, times_2, kParameterMapHeaderSize));
615 __ mov(ebx, Immediate(Smi::FromInt(Context::MIN_CONTEXT_SLOTS)));
616 __ add(ebx, Operand(esp, 4 * kPointerSize));
617 __ sub(ebx, eax);
622 // ebx = mapping index (tagged)
635 __ mov(FieldOperand(edx, eax, times_2, kParameterMapHeaderSize), ebx);
637 __ add(ebx, Immediate(Smi::FromInt(1)));
657 __ mov(ebx, Operand(esp, 1 * kPointerSize));
659 __ sub(edx, ebx); // Is there a smarter way to do negative scaling?
660 __ sub(edx, ebx);
666 __ mov(FieldOperand(edi, ebx, times_2, FixedArray::kHeaderSize), eax);
667 __ add(ebx, Immediate(Smi::FromInt(1)));
670 __ cmp(ebx, ecx);
675 __ pop(ebx); // Parameter count.
724 __ Allocate(ecx, eax, edx, ebx, &runtime, TAG_OBJECT);
768 __ mov(ebx, Operand(edx, -1 * kPointerSize)); // Skip receiver.
769 __ mov(FieldOperand(edi, FixedArray::kHeaderSize), ebx);
813 __ mov(ebx, Operand::StaticVariable(address_of_regexp_stack_memory_size));
814 __ test(ebx, ebx);
829 __ CmpObjectType(ecx, FIXED_ARRAY_TYPE, ebx);
835 __ mov(ebx, FieldOperand(ecx, JSRegExp::kDataTagOffset));
836 __ cmp(ebx, Immediate(Smi::FromInt(JSRegExp::IRREGEXP)));
856 __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset));
857 __ movzx_b(ebx, FieldOperand(ebx, Map::kInstanceTypeOffset));
861 // ebx: subject string instance type
889 __ and_(ebx, kIsNotStringMask |
898 __ and_(ebx, Immediate(kIsNotStringMask |
910 __ cmp(ebx, Immediate(kExternalStringTag));
919 __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset));
920 __ mov(ebx, FieldOperand(ebx, Map::kInstanceTypeOffset));
923 __ test_b(ebx, kStringRepresentationMask | kStringEncodingMask);
927 __ test_b(ebx, kStringRepresentationMask);
941 __ mov(ebx, Operand(esp, kPreviousIndexOffset));
942 __ JumpIfNotSmi(ebx, &runtime);
943 __ cmp(ebx, FieldOperand(edx, String::kLengthOffset));
957 // ebx: previous index (smi)
990 __ SmiUntag(ebx);
991 __ mov(Operand(esp, 1 * kPointerSize), ebx);
1003 // ebx: previous index
1013 __ add(ebx, edi); // Calculate input start wrt offset.
1015 // ebx: start index of the input string
1023 __ lea(ecx, FieldOperand(eax, ebx, times_1, SeqOneByteString::kHeaderSize));
1032 __ lea(ecx, FieldOperand(eax, ebx, times_2, SeqTwoByteString::kHeaderSize));
1103 __ CmpObjectType(eax, JS_ARRAY_TYPE, ebx);
1106 __ mov(ebx, FieldOperand(eax, JSArray::kElementsOffset));
1107 __ mov(eax, FieldOperand(ebx, HeapObject::kMapOffset));
1112 __ mov(eax, FieldOperand(ebx, FixedArray::kLengthOffset));
1118 // ebx: last_match_info backing store (FixedArray)
1122 __ mov(FieldOperand(ebx, RegExpImpl::kLastCaptureCountOffset), edx);
1127 __ mov(FieldOperand(ebx, RegExpImpl::kLastSubjectOffset), eax);
1128 __ RecordWriteField(ebx, RegExpImpl::kLastSubjectOffset, eax, edi,
1131 __ mov(FieldOperand(ebx, RegExpImpl::kLastInputOffset), eax);
1132 __ RecordWriteField(ebx, RegExpImpl::kLastInputOffset, eax, edi,
1140 // ebx: last_match_info backing store (FixedArray)
1153 __ mov(FieldOperand(ebx,
1178 __ mov(ebx, FieldOperand(eax, HeapObject::kMapOffset));
1179 __ movzx_b(ebx, FieldOperand(ebx, Map::kInstanceTypeOffset));
1183 __ test_b(ebx, kIsIndirectStringMask);
1192 __ test_b(ebx, kStringEncodingMask);
1203 __ mov(ebx, Operand(esp, kPreviousIndexOffset));
1204 __ JumpIfNotSmi(ebx, &runtime);
1205 __ cmp(ebx, FieldOperand(edx, String::kLengthOffset));
1215 __ test(ebx, Immediate(kIsNotStringMask | kShortExternalStringTag));
1348 __ mov(ebx, edx);
1349 __ xor_(ebx, eax);
1350 __ and_(ebx, ecx); // ebx holds either 0 or eax ^ edx.
1351 __ xor_(ebx, eax);
1352 // if eax was smi, ebx is now edx, else eax.
1355 __ cmp(FieldOperand(ebx, HeapObject::kMapOffset),
1359 // Return non-equal (ebx is not zero)
1360 __ mov(eax, ebx);
1402 masm, &non_number_comparison, ebx);
1454 __ JumpIfNotBothSequentialOneByteStrings(edx, eax, ecx, ebx,
1459 StringHelper::GenerateFlatOneByteStringEquals(masm, edx, eax, ecx, ebx);
1461 StringHelper::GenerateCompareFlatOneByteStrings(masm, edx, eax, ecx, ebx,
1485 __ CmpObjectType(edx, FIRST_SPEC_OBJECT_TYPE, ebx);
1493 __ test_b(FieldOperand(ebx, Map::kBitFieldOffset),
1537 // ebx : Feedback vector
1544 __ mov(ecx, FieldOperand(ebx, edx, times_half_pointer_size,
1580 FieldOperand(ebx, edx, times_half_pointer_size, FixedArray::kHeaderSize),
1604 __ push(ebx);
1609 __ pop(ebx);
1620 __ mov(FieldOperand(ebx, edx, times_half_pointer_size,
1623 // We won't need edx or ebx anymore, just save edi
1625 __ push(ebx);
1627 __ RecordWriteArray(ebx, edi, edx, kDontSaveFPRegs, EMIT_REMEMBERED_SET,
1630 __ pop(ebx);
1662 __ Move(ebx, Immediate(0));
1674 __ Move(ebx, Immediate(0));
1755 // ebx : feedback vector
1756 // edx : (only if ebx is not the megamorphic symbol) slot in feedback
1771 // Put the AllocationSite from the feedback vector into ebx.
1774 ebx, FieldOperand(ebx, edx, times_half_pointer_size,
1778 // Put the AllocationSite from the feedback vector into ebx, or undefined.
1779 __ mov(ebx, FieldOperand(ebx, edx, times_half_pointer_size,
1783 __ cmp(FieldOperand(ebx, 0), Immediate(allocation_site_map));
1785 __ mov(ebx, isolate()->factory()->undefined_value());
1789 __ AssertUndefinedOrAllocationSite(ebx);
1814 __ Move(ebx, Immediate(0));
1836 EmitLoadTypeFeedbackVector(masm, ebx);
1843 __ mov(ecx, FieldOperand(ebx, edx, times_half_pointer_size,
1852 __ mov(ebx, ecx);
1880 EmitLoadTypeFeedbackVector(masm, ebx);
1883 __ cmp(edi, FieldOperand(ebx, edx, times_half_pointer_size,
1915 __ mov(ecx, FieldOperand(ebx, edx, times_half_pointer_size,
1928 __ mov(FieldOperand(ebx, edx, times_half_pointer_size,
1964 __ push(ebx);
2018 // ebx: pointer to C function (C callee-saved)
2029 // ebx: pointer to C function (C callee-saved)
2047 __ call(ebx);
2127 __ push(ebx);
2189 __ pop(ebx);
2190 __ cmp(ebx, Immediate(Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME)));
2200 __ pop(ebx);
2233 Register map = ebx; // Map of the object.
2620 Condition is_string = masm->IsObjectStringType(eax, ebx, ebx);
2624 // ebx: instance type
2649 // ebx: instance type
2658 __ test(ebx, Immediate(kIsIndirectStringMask));
2662 __ test(ebx, Immediate(kSlicedNotConsMask));
2671 __ mov(ebx, FieldOperand(edi, HeapObject::kMapOffset));
2672 __ movzx_b(ebx, FieldOperand(ebx, Map::kInstanceTypeOffset));
2680 __ mov(ebx, FieldOperand(edi, HeapObject::kMapOffset));
2681 __ movzx_b(ebx, FieldOperand(ebx, Map::kInstanceTypeOffset));
2693 // ebx: instance type of underlying subject string
2707 __ test(ebx, Immediate(kStringEncodingMask));
2709 __ AllocateOneByteSlicedString(eax, ebx, no_reg, &runtime);
2712 __ AllocateTwoByteSlicedString(eax, ebx, no_reg, &runtime);
2726 // ebx: instance type of underlying subject string
2734 __ test_b(ebx, kExternalStringTag);
2740 __ test_b(ebx, kShortExternalStringMask);
2753 __ test_b(ebx, kStringEncodingMask);
2757 __ AllocateOneByteString(eax, ecx, ebx, edx, edi, &runtime_drop_two);
2766 __ pop(ebx);
2767 __ SmiUntag(ebx);
2768 __ lea(edx, FieldOperand(edx, ebx, times_1, SeqOneByteString::kHeaderSize));
2775 masm, edi, edx, ecx, ebx, String::ONE_BYTE_ENCODING);
2781 __ AllocateTwoByteString(eax, ecx, ebx, edx, edi, &runtime_drop_two);
2791 __ pop(ebx);
2796 __ lea(edx, FieldOperand(edx, ebx, times_1, SeqTwoByteString::kHeaderSize));
2803 masm, edi, edx, ecx, ebx, String::TWO_BYTE_ENCODING);
2817 // ebx: instance type
2976 __ JumpIfNotBothSequentialOneByteStrings(edx, eax, ecx, ebx, &runtime);
2983 StringHelper::GenerateCompareFlatOneByteStrings(masm, edx, eax, ecx, ebx,
3109 Register tmp2 = ebx;
3154 Register tmp2 = ebx;
3201 Register tmp2 = ebx
3309 __ mov(ebx, FieldOperand(edx, HeapObject::kMapOffset));
3312 __ cmp(ebx, known_map_);
3756 // clobbers ebx, edx, edi
3768 __ mov(ebx, Operand(esp, 2 * kPointerSize));
3769 __ mov(edi, FieldOperand(ebx, JSObject::kMapOffset));
3783 __ push(ebx);
3786 __ mov(ebx, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset));
3787 __ push(FieldOperand(ebx, JSFunction::kLiteralsOffset));
3799 __ mov(ebx, FieldOperand(ebx, JSObject::kElementsOffset));
3800 __ lea(ecx, FieldOperand(ebx, ecx, times_half_pointer_size,
3804 __ RecordWrite(ebx, ecx, eax, kDontSaveFPRegs, EMIT_REMEMBERED_SET,
3811 __ mov(ebx, FieldOperand(ebx, JSObject::kElementsOffset));
3812 __ mov(FieldOperand(ebx, ecx, times_half_pointer_size,
3820 __ mov(edx, FieldOperand(ebx, JSObject::kElementsOffset));
3837 __ mov(ebx, MemOperand(ebp, parameter_count_offset));
3842 __ lea(esp, MemOperand(esp, ebx, times_pointer_size, additional_offset));
3932 // ebx - allocation site (if mode != DISABLE_ALLOCATION_SITES)
3979 __ cmp(FieldOperand(ebx, 0), Immediate(allocation_site_map));
3987 __ add(FieldOperand(ebx, AllocationSite::kTransitionInfoOffset),
4083 // -- ebx : AllocationSite or undefined
4100 // We should either have undefined in ebx or a valid AllocationSite
4101 __ AssertUndefinedOrAllocationSite(ebx);
4107 __ cmp(ebx, isolate()->factory()->undefined_value());
4111 __ mov(edx, FieldOperand(ebx, AllocationSite::kTransitionInfoOffset));
4211 // -- ebx : call_data
4224 Register call_data = ebx;
4346 Register scratch = ebx;