Lines Matching defs:rbx

45   static Register registers[] = { rbx };
77 static Register registers[] = { rax, rbx, rcx };
88 static Register registers[] = { rax, rbx, rcx, rdx };
99 static Register registers[] = { rbx };
175 static Register registers[] = { rax, rbx };
202 // rbx -- type info cell with elements kind
203 static Register registers_variable_args[] = { rdi, rbx, rax };
204 static Register registers_no_args[] = { rdi, rbx };
334 static Register registers[] = { rax, rbx, rcx, rdx };
385 rax, rbx, rcx, &gc, TAG_OBJECT);
397 __ Set(rbx, 0); // Set to NULL.
400 __ movq(Operand(rax, Context::SlotOffset(Context::EXTENSION_INDEX)), rbx);
403 __ movq(rbx, Operand(rsi, Context::SlotOffset(Context::GLOBAL_OBJECT_INDEX)));
404 __ movq(Operand(rax, Context::SlotOffset(Context::GLOBAL_OBJECT_INDEX)), rbx);
407 __ LoadRoot(rbx, Heap::kUndefinedValueRootIndex);
409 __ movq(Operand(rax, Context::SlotOffset(i)), rbx);
432 rax, rbx, rcx, &gc, TAG_OBJECT);
438 __ movq(rbx, args.GetArgumentOperand(0));
463 __ movq(ContextOperand(rax, Context::EXTENSION_INDEX), rbx);
466 __ movq(rbx, ContextOperand(rsi, Context::GLOBAL_OBJECT_INDEX));
467 __ movq(ContextOperand(rax, Context::GLOBAL_OBJECT_INDEX), rbx);
470 __ LoadRoot(rbx, Heap::kTheHoleValueRootIndex);
472 __ movq(ContextOperand(rax, i + Context::MIN_CONTEXT_SLOTS), rbx);
533 Register scratch_candidates[3] = { rbx, rdx, rdi };
626 // Then load the bits of the double into rbx.
631 __ movq(rbx, xmm1);
639 __ LoadRoot(rbx, Heap::kHeapNumberMapRootIndex);
640 __ cmpq(rbx, FieldOperand(rax, HeapObject::kMapOffset));
643 // bits into rbx.
645 __ MoveDouble(rbx, FieldOperand(rax, HeapNumber::kValueOffset));
646 __ movq(rdx, rbx);
650 __ movq(rbx, xmm1);
655 // rbx = bits of double value.
664 __ xorl(rdx, rbx);
678 // rbx = bits of double value.
712 __ cmpq(rbx, Operand(rcx, 0));
737 __ movq(Operand(rcx, 0), rbx);
807 // rbx: Bits of input double. Must be preserved.
820 __ movq(rdi, rbx);
1270 Register scratch = rbx;
1329 __ movq(rbx, Operand(rbp, StandardFrameConstants::kCallerFPOffset));
1330 __ Cmp(Operand(rbx, StandardFrameConstants::kContextOffset),
1351 __ movq(rcx, Operand(rbx, ArgumentsAdaptorFrameConstants::kLengthOffset));
1358 StackArgumentsAccessor adaptor_args(rbx, rcx,
1366 __ PopReturnAddressTo(rbx);
1368 __ PushReturnAddressFrom(rbx);
1380 // rbx: the mapped parameter count (untagged)
1386 __ SmiToInteger64(rbx, args.GetArgumentOperand(2));
1387 // rbx = parameter count (untagged)
1398 __ movq(rcx, rbx);
1410 // rbx = parameter count (untagged)
1412 // Compute the mapped parameter count = min(rbx, rcx) in rbx.
1413 __ cmpq(rbx, rcx);
1415 __ movq(rbx, rcx);
1425 __ testq(rbx, rbx);
1427 __ lea(r8, Operand(rbx, times_pointer_size, kParameterMapHeaderSize));
1445 __ testq(rbx, rbx);
1458 // rbx = mapped parameter count (untagged)
1489 // rbx = mapped parameter count (untagged)
1495 __ testq(rbx, rbx);
1499 // rbx contains the untagged argument count. Add 2 and tag to write.
1501 __ Integer64PlusConstantToSmi(r9, rbx, 2);
1504 __ lea(r9, Operand(rdi, rbx, times_pointer_size, kParameterMapHeaderSize));
1518 __ Integer32ToSmi(r9, rbx);
1524 __ lea(rdi, Operand(rdi, rbx, times_pointer_size, kParameterMapHeaderSize));
1558 __ movq(r8, rbx);
1657 __ Allocate(rcx, rax, rdx, rbx, &runtime, TAG_OBJECT);
1668 __ movq(rbx, FieldOperand(rdi, i));
1669 __ movq(FieldOperand(rax, i), rbx);
1702 __ movq(rbx, Operand(rdx, -1 * kPointerSize)); // Skip receiver.
1703 __ movq(FieldOperand(rdi, FixedArray::kHeaderSize), rbx);
1773 __ SmiToInteger32(rbx, FieldOperand(rax, JSRegExp::kDataTagOffset));
1774 __ cmpl(rbx, Immediate(JSRegExp::IRREGEXP));
1792 __ movq(rbx, FieldOperand(rdi, HeapObject::kMapOffset));
1793 __ movzxbl(rbx, FieldOperand(rbx, Map::kInstanceTypeOffset));
1823 __ andb(rbx, Immediate(kIsNotStringMask |
1832 __ andb(rbx, Immediate(kIsNotStringMask |
1844 __ cmpq(rbx, Immediate(kExternalStringTag));
1854 __ movq(rbx, FieldOperand(rdi, HeapObject::kMapOffset));
1855 __ movq(rbx, FieldOperand(rbx, Map::kInstanceTypeOffset));
1858 __ testb(rbx, Immediate(kStringRepresentationMask | kStringEncodingMask));
1862 __ testb(rbx, Immediate(kStringRepresentationMask));
1891 __ movq(rbx, args.GetArgumentOperand(PREVIOUS_INDEX_ARGUMENT_INDEX));
1892 __ JumpIfNotSmi(rbx, &runtime);
1893 __ SmiCompare(rbx, FieldOperand(r15, String::kLengthOffset));
1895 __ SmiToInteger64(rbx, rbx);
1898 // rbx: previous index
1947 // rbx: previous index
1954 __ movq(arg_reg_2, rbx);
1961 __ addq(rbx, r14);
1965 // rbx: start index of the input
1973 FieldOperand(rdi, rbx, times_1, SeqOneByteString::kHeaderSize));
1979 FieldOperand(rdi, rbx, times_2, SeqTwoByteString::kHeaderSize));
2029 __ movq(rbx, FieldOperand(r15, JSArray::kElementsOffset));
2030 __ movq(rax, FieldOperand(rbx, HeapObject::kMapOffset));
2036 __ SmiToInteger32(rax, FieldOperand(rbx, FixedArray::kLengthOffset));
2041 // rbx: last_match_info backing store (FixedArray)
2045 __ movq(FieldOperand(rbx, RegExpImpl::kLastCaptureCountOffset),
2049 __ movq(FieldOperand(rbx, RegExpImpl::kLastSubjectOffset), rax);
2051 __ RecordWriteField(rbx,
2057 __ movq(FieldOperand(rbx, RegExpImpl::kLastInputOffset), rax);
2058 __ RecordWriteField(rbx,
2068 // rbx: last_match_info backing store (FixedArray)
2081 __ movq(FieldOperand(rbx,
2101 masm->ExternalOperand(pending_exception_address, rbx);
2128 __ movq(rbx, FieldOperand(rdi, HeapObject::kMapOffset));
2129 __ movzxbl(rbx, FieldOperand(rbx, Map::kInstanceTypeOffset));
2133 __ testb(rbx, Immediate(kIsIndirectStringMask));
2142 __ testb(rbx, Immediate(kStringEncodingMask));
2157 __ testb(rbx, Immediate(kIsNotStringMask | kShortExternalStringMask));
2176 __ SmiToInteger32(rbx, r8);
2177 __ cmpl(rbx, Immediate(kMaxInlineLength));
2182 // Allocate RegExpResult followed by FixedArray with size in rbx.
2187 rbx, // In: Number of elements.
2194 // rbx: Number of array elements as int32.
2222 // rbx: Number of elements in array as int32.
2228 __ Integer32ToSmi(rdx, rbx);
2235 // rbx: Number of elements in array that remains to be filled, as int32.
2239 __ testl(rbx, rbx);
2242 __ subl(rbx, Immediate(1));
2243 __ movq(Operand(rcx, rbx, times_pointer_size, 0), rdx);
2381 __ SelectNonSmi(rbx, rax, rdx, &not_smis);
2384 __ Cmp(FieldOperand(rbx, HeapObject::kMapOffset),
2388 // Return non-equal. ebx (the lower half of rbx) is not zero.
2389 __ movq(rax, rbx);
2474 rdx, rax, rcx, rbx, &check_unequal_objects);
2482 rbx);
2488 rbx,
2511 __ CmpObjectType(rax, FIRST_SPEC_OBJECT_TYPE, rbx);
2515 __ testb(FieldOperand(rbx, Map::kBitFieldOffset),
2561 // rbx : cache cell for call target
2567 __ movq(rcx, FieldOperand(rbx, Cell::kValueOffset));
2600 __ Move(FieldOperand(rbx, Cell::kValueOffset),
2621 __ push(rbx);
2626 __ pop(rbx);
2634 __ movq(FieldOperand(rbx, Cell::kValueOffset), rdi);
2642 // rbx : cache cell for call target
2701 __ Move(FieldOperand(rbx, Cell::kValueOffset),
2711 __ Set(rbx, 0);
2725 __ Set(rbx, 0);
2736 // rbx : cache cell for call target
2772 __ Set(rbx, 0);
2827 // rbx: pointer to C function (C callee-saved).
2890 __ call(rbx);
2964 // rbx: pointer to C function (C callee-saved)
2990 // rbx: pointer to builtin function (C callee-saved).
3081 __ push(rbx);
3173 __ pop(rbx);
3174 __ Cmp(rbx, Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME));
3201 __ pop(rbx);
3281 __ TryGetFunctionPrototype(rdx, rbx, &slow, true);
3284 __ JumpIfSmi(rbx, &slow);
3285 __ CmpObjectType(rbx, FIRST_SPEC_OBJECT_TYPE, kScratchRegister);
3293 // rbx is function prototype.
3317 __ cmpq(rcx, rbx);
3550 GenerateConvertArgument(masm, 2 * kPointerSize, rax, rbx, rcx, rdi,
3555 GenerateConvertArgument(masm, 1 * kPointerSize, rdx, rbx, rcx, rdi,
3573 __ movq(rbx, FieldOperand(rax, String::kLengthOffset));
3574 __ SmiTest(rbx);
3583 // rbx: length of first string
3603 __ SmiAdd(rbx, rbx, rcx);
3606 __ SmiCompare(rbx, Smi::FromInt(2));
3610 __ JumpIfBothInstanceTypesAreNotSequentialAscii(r8, r9, rbx, rcx,
3614 __ movzxbq(rbx, FieldOperand(rax, SeqOneByteString::kHeaderSize));
3621 masm, rbx, rcx, r14, r11, rdi, r15, &make_two_character_string);
3628 // rbx - first byte: first character
3629 // rbx - second byte: *maybe* second character
3630 // Make sure that the second byte of rbx contains the second character.
3633 __ orl(rbx, rcx);
3635 __ movw(FieldOperand(rax, SeqOneByteString::kHeaderSize), rbx);
3641 __ SmiCompare(rbx, Smi::FromInt(ConsString::kMinLength));
3645 __ SmiCompare(rbx, Smi::FromInt(String::kMaxLength));
3651 // rbx: length of resulting flat string
3667 __ movq(FieldOperand(rcx, ConsString::kLengthOffset), rbx);
3674 __ Load(rbx, high_promotion_mode);
3675 __ testb(rbx, Immediate(1));
3682 rbx,
3688 rbx,
3723 // rbx: length of resulting flat string as smi
3772 __ SmiToInteger32(rbx, rbx);
3778 __ AllocateAsciiString(rax, rbx, rdi, r8, r9, &call_runtime);
3781 __ lea(rbx, FieldOperand(rax, SeqOneByteString::kHeaderSize));
3783 // rbx: first character of result
3785 StringHelper::GenerateCopyCharacters(masm, rbx, rcx, r14, true);
3786 // rbx: next character of result
3789 StringHelper::GenerateCopyCharacters(masm, rbx, rdx, r15, true);
3795 __ AllocateTwoByteString(rax, rbx, rdi, r8, r9, &call_runtime);
3798 __ lea(rbx, FieldOperand(rax, SeqTwoByteString::kHeaderSize));
3800 // rbx: first character of result
3802 StringHelper::GenerateCopyCharacters(masm, rbx, rcx, r14, false);
3803 // rbx: next character of result
3806 StringHelper::GenerateCopyCharacters(masm, rbx, rdx, r15, false);
4151 Condition is_string = masm->IsObjectStringType(rax, rbx, rbx);
4155 // rbx: instance type
4181 // rbx: instance type
4190 __ testb(rbx, Immediate(kIsIndirectStringMask));
4193 __ testb(rbx, Immediate(kSlicedNotConsMask));
4202 __ movq(rbx, FieldOperand(rdi, HeapObject::kMapOffset));
4203 __ movzxbl(rbx, FieldOperand(rbx, Map::kInstanceTypeOffset));
4211 __ movq(rbx, FieldOperand(rdi, HeapObject::kMapOffset));
4212 __ movzxbl(rbx, FieldOperand(rbx, Map::kInstanceTypeOffset));
4224 // rbx: instance type of underlying subject string
4240 __ testb(rbx, Immediate(kStringEncodingMask));
4242 __ AllocateAsciiSlicedString(rax, rbx, r14, &runtime);
4245 __ AllocateTwoByteSlicedString(rax, rbx, r14, &runtime);
4260 // rbx: instance type of underlying subject string
4268 __ testb(rbx, Immediate(kExternalStringTag));
4274 __ testb(rbx, Immediate(kShortExternalStringMask));
4283 __ testb(rbx, Immediate(kStringEncodingMask));
4341 // rbx: instance type
4518 __ JumpIfNotBothSequentialAsciiStrings(rdx, rax, rcx, rbx, &runtime);
4526 GenerateCompareFlatAsciiStrings(masm, rdx, rax, rcx, rbx, rdi, r8);
4644 Register tmp2 = rbx;
4687 Register tmp2 = rbx;
4732 Register tmp2 = rbx;
4835 __ movq(rbx, FieldOperand(rdx, HeapObject::kMapOffset));
4838 __ Cmp(rbx, known_map_);
5302 // clobbers rbx, rdx, rdi
5314 __ movq(rbx, args.GetArgumentOperand(0));
5315 __ movq(rdi, FieldOperand(rbx, JSObject::kMapOffset));
5328 __ push(rbx);
5331 __ movq(rbx, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset));
5332 __ push(FieldOperand(rbx, JSFunction::kLiteralsOffset));
5340 __ movq(rbx, FieldOperand(rbx, JSObject::kElementsOffset));
5341 __ lea(rcx, FieldOperand(rbx, kScratchRegister, times_pointer_size,
5345 __ RecordWrite(rbx, rcx, rax,
5355 __ movq(rbx, FieldOperand(rbx, JSObject::kElementsOffset));
5356 __ movq(FieldOperand(rbx, kScratchRegister, times_pointer_size,
5363 __ movq(r9, FieldOperand(rbx, JSObject::kElementsOffset));
5379 __ movq(rbx, MemOperand(rbp, parameter_count_offset));
5385 __ lea(rsp, MemOperand(rsp, rbx, times_pointer_size, additional_offset));
5483 // rbx - type info cell (if mode != DISABLE_ALLOCATION_SITES)
5531 __ movq(rcx, FieldOperand(rbx, Cell::kValueOffset));
5644 // -- rbx : type info cell
5666 // We should either have undefined in rbx or a valid cell
5669 __ Cmp(rbx, undefined_sentinel);
5671 __ Cmp(FieldOperand(rbx, 0), cell_map);
5679 __ Cmp(rbx, undefined_sentinel);
5681 __ movq(rdx, FieldOperand(rbx, Cell::kValueOffset));
5738 // -- rbx : type info cell