Lines Matching refs:Register

53 static constexpr Register kMethodRegisterArgument = EAX;
54 static constexpr Register kCoreCalleeSaves[] = { EBP, ESI, EDI };
58 static constexpr int kFakeReturnRegister = Register(8);
123 DivRemMinusOneSlowPathX86(HInstruction* instruction, Register reg, bool is_div) in DivRemMinusOneSlowPathX86()
139 Register reg_;
168 Address array_len(array_loc.AsRegister<Register>(), len_offset); in EmitNativeCode()
175 __ movl(length_loc.AsRegister<Register>(), array_len); in EmitNativeCode()
177 __ shrl(length_loc.AsRegister<Register>(), Immediate(1)); in EmitNativeCode()
347 __ UnpoisonHeapReference(locations->InAt(1).AsRegister<Register>()); in EmitNativeCode()
488 Register ref_reg = ref_.AsRegister<Register>(); in EmitNativeCode()
558 Register obj, in ReadBarrierMarkAndUpdateFieldSlowPathX86()
561 Register temp) in ReadBarrierMarkAndUpdateFieldSlowPathX86()
575 Register ref_reg = ref_.AsRegister<Register>(); in EmitNativeCode()
651 Register base = obj_; in EmitNativeCode()
652 Register expected = EAX; in EmitNativeCode()
653 Register value = ref_reg; in EmitNativeCode()
705 const Register obj_;
712 const Register temp_;
749 Register reg_out = out_.AsRegister<Register>(); in EmitNativeCode()
773 Register index_reg = index_.AsRegister<Register>(); in EmitNativeCode()
798 Register free_reg = FindAvailableCallerSaveRegister(codegen); in EmitNativeCode()
869 Register FindAvailableCallerSaveRegister(CodeGenerator* codegen) { in FindAvailableCallerSaveRegister()
870 size_t ref = static_cast<int>(ref_.AsRegister<Register>()); in FindAvailableCallerSaveRegister()
871 size_t obj = static_cast<int>(obj_.AsRegister<Register>()); in FindAvailableCallerSaveRegister()
874 return static_cast<Register>(i); in FindAvailableCallerSaveRegister()
908 Register reg_out = out_.AsRegister<Register>(); in EmitNativeCode()
983 stream << Register(reg); in DumpCoreRegister()
995 __ movl(Address(ESP, stack_index), static_cast<Register>(reg_id)); in SaveCoreRegister()
1000 __ movl(static_cast<Register>(reg_id), Address(ESP, stack_index)); in RestoreCoreRegister()
1092 static dwarf::Reg DWARFReg(Register reg) { in DWARFReg()
1098 Register reg = EAX; in MaybeIncrementHotness()
1184 Register reg = kCoreCalleeSaves[i]; in GenerateFrameEntry()
1217 Register reg = kCoreCalleeSaves[i]; in GenerateFrameExit()
1359 __ movl(destination.AsRegister<Register>(), source.AsRegister<Register>()); in Move32()
1361 __ movd(destination.AsRegister<Register>(), source.AsFpuRegister<XmmRegister>()); in Move32()
1364 __ movl(destination.AsRegister<Register>(), Immediate(value)); in Move32()
1367 __ movl(destination.AsRegister<Register>(), Address(ESP, source.GetStackIndex())); in Move32()
1371 __ movd(destination.AsFpuRegister<XmmRegister>(), source.AsRegister<Register>()); in Move32()
1381 __ movl(Address(ESP, destination.GetStackIndex()), source.AsRegister<Register>()); in Move32()
1403 Location::RegisterLocation(source.AsRegisterPairHigh<Register>()), in Move64()
1404 Location::RegisterLocation(destination.AsRegisterPairHigh<Register>()), in Move64()
1406 Location::RegisterLocation(source.AsRegisterPairLow<Register>()), in Move64()
1407 Location::RegisterLocation(destination.AsRegisterPairLow<Register>()), in Move64()
1411 __ movd(destination.AsRegisterPairLow<Register>(), src_reg); in Move64()
1413 __ movd(destination.AsRegisterPairHigh<Register>(), src_reg); in Move64()
1417 __ movl(destination.AsRegisterPairLow<Register>(), Address(ESP, source.GetStackIndex())); in Move64()
1418 __ movl(destination.AsRegisterPairHigh<Register>(), in Move64()
1429 __ pushl(source.AsRegisterPairHigh<Register>()); in Move64()
1431 __ pushl(source.AsRegisterPairLow<Register>()); in Move64()
1443 __ movl(Address(ESP, destination.GetStackIndex()), source.AsRegisterPairLow<Register>()); in Move64()
1445 source.AsRegisterPairHigh<Register>()); in Move64()
1468 static Address CreateAddress(Register base, in CreateAddress()
1469 Register index = Register::kNoRegister, in CreateAddress()
1472 if (index == Register::kNoRegister) { in CreateAddress()
1487 __ movzxb(dst.AsRegister<Register>(), src); in LoadFromMemoryNoBarrier()
1490 __ movsxb(dst.AsRegister<Register>(), src); in LoadFromMemoryNoBarrier()
1493 __ movsxw(dst.AsRegister<Register>(), src); in LoadFromMemoryNoBarrier()
1496 __ movzxw(dst.AsRegister<Register>(), src); in LoadFromMemoryNoBarrier()
1499 __ movl(dst.AsRegister<Register>(), src); in LoadFromMemoryNoBarrier()
1504 __ movd(dst.AsRegisterPairLow<Register>(), temp); in LoadFromMemoryNoBarrier()
1506 __ movd(dst.AsRegisterPairHigh<Register>(), temp); in LoadFromMemoryNoBarrier()
1508 DCHECK_NE(src.GetBaseRegister(), dst.AsRegisterPairLow<Register>()); in LoadFromMemoryNoBarrier()
1510 __ movl(dst.AsRegisterPairLow<Register>(), src); in LoadFromMemoryNoBarrier()
1511 __ movl(dst.AsRegisterPairHigh<Register>(), src_high); in LoadFromMemoryNoBarrier()
1522 __ movl(dst.AsRegister<Register>(), src); in LoadFromMemoryNoBarrier()
1523 __ MaybeUnpoisonHeapReference(dst.AsRegister<Register>()); in LoadFromMemoryNoBarrier()
1532 Register dst_base, in MoveToMemory()
1533 Register dst_index, in MoveToMemory()
1536 DCHECK(dst_base != Register::kNoRegister); in MoveToMemory()
1555 __ movw(dst, src.AsRegister<Register>()); in MoveToMemory()
1565 __ movl(dst, src.AsRegister<Register>()); in MoveToMemory()
1577 __ movl(dst, src.AsRegisterPairLow<Register>()); in MoveToMemory()
1578 __ movl(dst_next_4_bytes, src.AsRegisterPairHigh<Register>()); in MoveToMemory()
1610 __ movl(location.AsRegister<Register>(), Immediate(value)); in MoveConstant()
1628 locations->AddTemp(Location::RegisterLocation(location.AsRegisterPairLow<Register>())); in AddLocationAsTemp()
1629 locations->AddTemp(Location::RegisterLocation(location.AsRegisterPairHigh<Register>())); in AddLocationAsTemp()
1706 Register left_high = left.AsRegisterPairHigh<Register>(); in GenerateLongComparesAndJumps()
1707 Register left_low = left.AsRegisterPairLow<Register>(); in GenerateLongComparesAndJumps()
1762 Register right_high = right.AsRegisterPairHigh<Register>(); in GenerateLongComparesAndJumps()
1763 Register right_low = right.AsRegisterPairLow<Register>(); in GenerateLongComparesAndJumps()
1808 const_area->GetLocations()->InAt(0).AsRegister<Register>())); in GenerateFPCompare()
1822 const_area->GetLocations()->InAt(0).AsRegister<Register>())); in GenerateFPCompare()
1924 __ testl(lhs.AsRegister<Register>(), lhs.AsRegister<Register>()); in GenerateTestAndBranch()
2009 __ movl(flag->GetLocations()->Out().AsRegister<Register>(), in VisitShouldDeoptimizeFlag()
2079 Register cond_reg = locations->InAt(2).AsRegister<Register>(); in VisitSelect()
2092 Register cond_reg = locations->InAt(2).AsRegister<Register>(); in VisitSelect()
2101 Register false_high = false_loc.AsRegisterPairHigh<Register>(); in VisitSelect()
2102 Register false_low = false_loc.AsRegisterPairLow<Register>(); in VisitSelect()
2104 __ cmovl(cond, false_high, true_loc.AsRegisterPairHigh<Register>()); in VisitSelect()
2105 __ cmovl(cond, false_low, true_loc.AsRegisterPairLow<Register>()); in VisitSelect()
2112 Register false_reg = false_loc.AsRegister<Register>(); in VisitSelect()
2114 __ cmovl(cond, false_reg, true_loc.AsRegister<Register>()); in VisitSelect()
2197 Register reg = locations->Out().AsRegister<Register>(); in HandleCondition()
2431 DCHECK_EQ(ret->GetLocations()->InAt(0).AsRegister<Register>(), EAX); in VisitReturn()
2435 DCHECK_EQ(ret->GetLocations()->InAt(0).AsRegisterPairLow<Register>(), EAX); in VisitReturn()
2436 DCHECK_EQ(ret->GetLocations()->InAt(0).AsRegisterPairHigh<Register>(), EDX); in VisitReturn()
2582 void CodeGeneratorX86::MaybeGenerateInlineCacheCheck(HInstruction* instruction, Register klass) { in MaybeGenerateInlineCacheCheck()
2599 CHECK_EQ(EBP, instruction->GetLocations()->GetTemp(temp_index).AsRegister<Register>()); in MaybeGenerateInlineCacheCheck()
2601 Register temp = EBP; in MaybeGenerateInlineCacheCheck()
2616 Register temp = locations->GetTemp(0).AsRegister<Register>(); in VisitInvokeInterface()
2625 __ movd(hidden_reg, locations->InAt(invoke->GetNumberOfArguments() - 1).AsRegister<Register>()); in VisitInvokeInterface()
2637 __ movl(temp, Address(receiver.AsRegister<Register>(), class_offset)); in VisitInvokeInterface()
2730 __ negl(out.AsRegister<Register>()); in VisitNeg()
2736 __ negl(out.AsRegisterPairLow<Register>()); in VisitNeg()
2742 __ adcl(out.AsRegisterPairHigh<Register>(), Immediate(0)); in VisitNeg()
2743 __ negl(out.AsRegisterPairHigh<Register>()); in VisitNeg()
2748 Register constant = locations->GetTemp(0).AsRegister<Register>(); in VisitNeg()
2790 Register constant_area = locations->InAt(1).AsRegister<Register>(); in VisitX86FPNeg()
2992 __ movzxb(out.AsRegister<Register>(), in.AsRegister<ByteRegister>()); in VisitTypeConversion()
2996 __ movl(out.AsRegister<Register>(), Immediate(static_cast<uint8_t>(value))); in VisitTypeConversion()
3001 __ movzxb(out.AsRegister<Register>(), in.AsRegisterPairLow<ByteRegister>()); in VisitTypeConversion()
3005 __ movl(out.AsRegister<Register>(), Immediate(static_cast<uint8_t>(value))); in VisitTypeConversion()
3022 __ movsxb(out.AsRegister<Register>(), in.AsRegister<ByteRegister>()); in VisitTypeConversion()
3026 __ movl(out.AsRegister<Register>(), Immediate(static_cast<int8_t>(value))); in VisitTypeConversion()
3031 __ movsxb(out.AsRegister<Register>(), in.AsRegisterPairLow<ByteRegister>()); in VisitTypeConversion()
3035 __ movl(out.AsRegister<Register>(), Immediate(static_cast<int8_t>(value))); in VisitTypeConversion()
3051 __ movzxw(out.AsRegister<Register>(), in.AsRegister<Register>()); in VisitTypeConversion()
3053 __ movzxw(out.AsRegister<Register>(), Address(ESP, in.GetStackIndex())); in VisitTypeConversion()
3057 __ movl(out.AsRegister<Register>(), Immediate(static_cast<uint16_t>(value))); in VisitTypeConversion()
3062 __ movzxw(out.AsRegister<Register>(), in.AsRegisterPairLow<Register>()); in VisitTypeConversion()
3064 __ movzxw(out.AsRegister<Register>(), Address(ESP, in.GetStackIndex())); in VisitTypeConversion()
3068 __ movl(out.AsRegister<Register>(), Immediate(static_cast<uint16_t>(value))); in VisitTypeConversion()
3083 __ movsxw(out.AsRegister<Register>(), in.AsRegister<Register>()); in VisitTypeConversion()
3085 __ movsxw(out.AsRegister<Register>(), Address(ESP, in.GetStackIndex())); in VisitTypeConversion()
3089 __ movl(out.AsRegister<Register>(), Immediate(static_cast<int16_t>(value))); in VisitTypeConversion()
3094 __ movsxw(out.AsRegister<Register>(), in.AsRegisterPairLow<Register>()); in VisitTypeConversion()
3096 __ movsxw(out.AsRegister<Register>(), Address(ESP, in.GetStackIndex())); in VisitTypeConversion()
3100 __ movl(out.AsRegister<Register>(), Immediate(static_cast<int16_t>(value))); in VisitTypeConversion()
3114 __ movl(out.AsRegister<Register>(), in.AsRegisterPairLow<Register>()); in VisitTypeConversion()
3116 __ movl(out.AsRegister<Register>(), Address(ESP, in.GetStackIndex())); in VisitTypeConversion()
3121 __ movl(out.AsRegister<Register>(), Immediate(static_cast<int32_t>(value))); in VisitTypeConversion()
3127 Register output = out.AsRegister<Register>(); in VisitTypeConversion()
3151 Register output = out.AsRegister<Register>(); in VisitTypeConversion()
3187 DCHECK_EQ(out.AsRegisterPairLow<Register>(), EAX); in VisitTypeConversion()
3188 DCHECK_EQ(out.AsRegisterPairHigh<Register>(), EDX); in VisitTypeConversion()
3189 DCHECK_EQ(in.AsRegister<Register>(), EAX); in VisitTypeConversion()
3217 __ cvtsi2ss(out.AsFpuRegister<XmmRegister>(), in.AsRegister<Register>()); in VisitTypeConversion()
3267 __ cvtsi2sd(out.AsFpuRegister<XmmRegister>(), in.AsRegister<Register>()); in VisitTypeConversion()
3362 if (out.AsRegister<Register>() == first.AsRegister<Register>()) { in VisitAdd()
3363 __ addl(out.AsRegister<Register>(), second.AsRegister<Register>()); in VisitAdd()
3364 } else if (out.AsRegister<Register>() == second.AsRegister<Register>()) { in VisitAdd()
3365 __ addl(out.AsRegister<Register>(), first.AsRegister<Register>()); in VisitAdd()
3367 __ leal(out.AsRegister<Register>(), Address( in VisitAdd()
3368 first.AsRegister<Register>(), second.AsRegister<Register>(), TIMES_1, 0)); in VisitAdd()
3372 if (out.AsRegister<Register>() == first.AsRegister<Register>()) { in VisitAdd()
3373 __ addl(out.AsRegister<Register>(), Immediate(value)); in VisitAdd()
3375 __ leal(out.AsRegister<Register>(), Address(first.AsRegister<Register>(), value)); in VisitAdd()
3379 __ addl(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in VisitAdd()
3386 __ addl(first.AsRegisterPairLow<Register>(), second.AsRegisterPairLow<Register>()); in VisitAdd()
3387 __ adcl(first.AsRegisterPairHigh<Register>(), second.AsRegisterPairHigh<Register>()); in VisitAdd()
3389 __ addl(first.AsRegisterPairLow<Register>(), Address(ESP, second.GetStackIndex())); in VisitAdd()
3390 __ adcl(first.AsRegisterPairHigh<Register>(), in VisitAdd()
3395 __ addl(first.AsRegisterPairLow<Register>(), Immediate(Low32Bits(value))); in VisitAdd()
3396 __ adcl(first.AsRegisterPairHigh<Register>(), Immediate(High32Bits(value))); in VisitAdd()
3411 const_area->GetLocations()->InAt(0).AsRegister<Register>())); in VisitAdd()
3429 const_area->GetLocations()->InAt(0).AsRegister<Register>())); in VisitAdd()
3480 __ subl(first.AsRegister<Register>(), second.AsRegister<Register>()); in VisitSub()
3482 __ subl(first.AsRegister<Register>(), in VisitSub()
3485 __ subl(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in VisitSub()
3492 __ subl(first.AsRegisterPairLow<Register>(), second.AsRegisterPairLow<Register>()); in VisitSub()
3493 __ sbbl(first.AsRegisterPairHigh<Register>(), second.AsRegisterPairHigh<Register>()); in VisitSub()
3495 __ subl(first.AsRegisterPairLow<Register>(), Address(ESP, second.GetStackIndex())); in VisitSub()
3496 __ sbbl(first.AsRegisterPairHigh<Register>(), in VisitSub()
3501 __ subl(first.AsRegisterPairLow<Register>(), Immediate(Low32Bits(value))); in VisitSub()
3502 __ sbbl(first.AsRegisterPairHigh<Register>(), Immediate(High32Bits(value))); in VisitSub()
3517 const_area->GetLocations()->InAt(0).AsRegister<Register>())); in VisitSub()
3535 const_area->GetLocations()->InAt(0).AsRegister<Register>())); in VisitSub()
3602 __ imull(out.AsRegister<Register>(), first.AsRegister<Register>(), imm); in VisitMul()
3605 __ imull(first.AsRegister<Register>(), second.AsRegister<Register>()); in VisitMul()
3609 __ imull(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in VisitMul()
3614 Register in1_hi = first.AsRegisterPairHigh<Register>(); in VisitMul()
3615 Register in1_lo = first.AsRegisterPairLow<Register>(); in VisitMul()
3616 Register eax = locations->GetTemp(0).AsRegister<Register>(); in VisitMul()
3617 Register edx = locations->GetTemp(1).AsRegister<Register>(); in VisitMul()
3652 Register in2_hi = second.AsRegisterPairHigh<Register>(); in VisitMul()
3653 Register in2_lo = second.AsRegisterPairLow<Register>(); in VisitMul()
3706 const_area->GetLocations()->InAt(0).AsRegister<Register>())); in VisitMul()
3725 const_area->GetLocations()->InAt(0).AsRegister<Register>())); in VisitMul()
3841 Register out_register = locations->Out().AsRegister<Register>(); in DivRemOneOrMinusOne()
3842 Register input_register = locations->InAt(0).AsRegister<Register>(); in DivRemOneOrMinusOne()
3861 Register out = locations->Out().AsRegister<Register>(); in RemByPowerOfTwo()
3862 Register numerator = locations->InAt(0).AsRegister<Register>(); in RemByPowerOfTwo()
3868 Register tmp = locations->GetTemp(0).AsRegister<Register>(); in RemByPowerOfTwo()
3882 Register out_register = locations->Out().AsRegister<Register>(); in DivByPowerOfTwo()
3883 Register input_register = locations->InAt(0).AsRegister<Register>(); in DivByPowerOfTwo()
3888 Register num = locations->GetTemp(0).AsRegister<Register>(); in DivByPowerOfTwo()
3909 Register eax = locations->InAt(0).AsRegister<Register>(); in GenerateDivRemWithAnyConstant()
3910 Register out = locations->Out().AsRegister<Register>(); in GenerateDivRemWithAnyConstant()
3911 Register num; in GenerateDivRemWithAnyConstant()
3912 Register edx; in GenerateDivRemWithAnyConstant()
3915 edx = locations->GetTemp(0).AsRegister<Register>(); in GenerateDivRemWithAnyConstant()
3916 num = locations->GetTemp(1).AsRegister<Register>(); in GenerateDivRemWithAnyConstant()
3918 edx = locations->Out().AsRegister<Register>(); in GenerateDivRemWithAnyConstant()
3919 num = locations->GetTemp(0).AsRegister<Register>(); in GenerateDivRemWithAnyConstant()
3981 DCHECK_EQ(EAX, first.AsRegister<Register>()); in GenerateDivRemIntegral()
3982 DCHECK_EQ(is_div ? EAX : EDX, out.AsRegister<Register>()); in GenerateDivRemIntegral()
4003 instruction, out.AsRegister<Register>(), is_div); in GenerateDivRemIntegral()
4006 Register second_reg = second.AsRegister<Register>(); in GenerateDivRemIntegral()
4025 DCHECK_EQ(calling_convention.GetRegisterAt(0), first.AsRegisterPairLow<Register>()); in GenerateDivRemIntegral()
4026 DCHECK_EQ(calling_convention.GetRegisterAt(1), first.AsRegisterPairHigh<Register>()); in GenerateDivRemIntegral()
4027 DCHECK_EQ(calling_convention.GetRegisterAt(2), second.AsRegisterPairLow<Register>()); in GenerateDivRemIntegral()
4028 DCHECK_EQ(calling_convention.GetRegisterAt(3), second.AsRegisterPairHigh<Register>()); in GenerateDivRemIntegral()
4029 DCHECK_EQ(EAX, out.AsRegisterPairLow<Register>()); in GenerateDivRemIntegral()
4030 DCHECK_EQ(EDX, out.AsRegisterPairHigh<Register>()); in GenerateDivRemIntegral()
4119 const_area->GetLocations()->InAt(0).AsRegister<Register>())); in VisitDiv()
4137 const_area->GetLocations()->InAt(0).AsRegister<Register>())); in VisitDiv()
4263 Register output_lo = output.AsRegisterPairLow<Register>(); in GenerateMinMaxInt()
4264 Register output_hi = output.AsRegisterPairHigh<Register>(); in GenerateMinMaxInt()
4266 Register op2_lo = op2_loc.AsRegisterPairLow<Register>(); in GenerateMinMaxInt()
4267 Register op2_hi = op2_loc.AsRegisterPairHigh<Register>(); in GenerateMinMaxInt()
4275 Register temp = locations->GetTemp(0).AsRegister<Register>(); in GenerateMinMaxInt()
4285 Register out = locations->Out().AsRegister<Register>(); in GenerateMinMaxInt()
4286 Register op2 = op2_loc.AsRegister<Register>(); in GenerateMinMaxInt()
4368 Register constant = locations->GetTemp(0).AsRegister<Register>(); in GenerateMinMaxFP()
4451 Register out = locations->Out().AsRegister<Register>(); in VisitAbs()
4453 Register temp = locations->GetTemp(0).AsRegister<Register>(); in VisitAbs()
4466 Register input_lo = input.AsRegisterPairLow<Register>(); in VisitAbs()
4467 Register input_hi = input.AsRegisterPairHigh<Register>(); in VisitAbs()
4469 Register output_lo = output.AsRegisterPairLow<Register>(); in VisitAbs()
4470 Register output_hi = output.AsRegisterPairHigh<Register>(); in VisitAbs()
4471 Register temp = locations->GetTemp(0).AsRegister<Register>(); in VisitAbs()
4489 Register constant = locations->GetTemp(1).AsRegister<Register>(); in VisitAbs()
4548 __ testl(value.AsRegister<Register>(), value.AsRegister<Register>()); in VisitDivZeroCheck()
4563 Register temp = locations->GetTemp(0).AsRegister<Register>(); in VisitDivZeroCheck()
4564 __ movl(temp, value.AsRegisterPairLow<Register>()); in VisitDivZeroCheck()
4565 __ orl(temp, value.AsRegisterPairHigh<Register>()); in VisitDivZeroCheck()
4612 Register first_reg = first.AsRegister<Register>(); in HandleShift()
4614 Register second_reg = second.AsRegister<Register>(); in HandleShift()
4641 Register second_reg = second.AsRegister<Register>(); in HandleShift()
4672 Register low = loc.AsRegisterPairLow<Register>(); in GenerateShlLong()
4673 Register high = loc.AsRegisterPairHigh<Register>(); in GenerateShlLong()
4699 void InstructionCodeGeneratorX86::GenerateShlLong(const Location& loc, Register shifter) { in GenerateShlLong()
4701 __ shld(loc.AsRegisterPairHigh<Register>(), loc.AsRegisterPairLow<Register>(), shifter); in GenerateShlLong()
4702 __ shll(loc.AsRegisterPairLow<Register>(), shifter); in GenerateShlLong()
4705 __ movl(loc.AsRegisterPairHigh<Register>(), loc.AsRegisterPairLow<Register>()); in GenerateShlLong()
4706 __ movl(loc.AsRegisterPairLow<Register>(), Immediate(0)); in GenerateShlLong()
4711 Register low = loc.AsRegisterPairLow<Register>(); in GenerateShrLong()
4712 Register high = loc.AsRegisterPairHigh<Register>(); in GenerateShrLong()
4731 void InstructionCodeGeneratorX86::GenerateShrLong(const Location& loc, Register shifter) { in GenerateShrLong()
4733 __ shrd(loc.AsRegisterPairLow<Register>(), loc.AsRegisterPairHigh<Register>(), shifter); in GenerateShrLong()
4734 __ sarl(loc.AsRegisterPairHigh<Register>(), shifter); in GenerateShrLong()
4737 __ movl(loc.AsRegisterPairLow<Register>(), loc.AsRegisterPairHigh<Register>()); in GenerateShrLong()
4738 __ sarl(loc.AsRegisterPairHigh<Register>(), Immediate(31)); in GenerateShrLong()
4743 Register low = loc.AsRegisterPairLow<Register>(); in GenerateUShrLong()
4744 Register high = loc.AsRegisterPairHigh<Register>(); in GenerateUShrLong()
4766 void InstructionCodeGeneratorX86::GenerateUShrLong(const Location& loc, Register shifter) { in GenerateUShrLong()
4768 __ shrd(loc.AsRegisterPairLow<Register>(), loc.AsRegisterPairHigh<Register>(), shifter); in GenerateUShrLong()
4769 __ shrl(loc.AsRegisterPairHigh<Register>(), shifter); in GenerateUShrLong()
4772 __ movl(loc.AsRegisterPairLow<Register>(), loc.AsRegisterPairHigh<Register>()); in GenerateUShrLong()
4773 __ movl(loc.AsRegisterPairHigh<Register>(), Immediate(0)); in GenerateUShrLong()
4804 Register first_reg = first.AsRegister<Register>(); in VisitRor()
4806 Register second_reg = second.AsRegister<Register>(); in VisitRor()
4816 Register first_reg_lo = first.AsRegisterPairLow<Register>(); in VisitRor()
4817 Register first_reg_hi = first.AsRegisterPairHigh<Register>(); in VisitRor()
4818 Register temp_reg = locations->GetTemp(0).AsRegister<Register>(); in VisitRor()
4820 Register second_reg = second.AsRegister<Register>(); in VisitRor()
4954 __ movl(locations->Out().AsRegister<Register>(), in VisitClassTableGet()
4955 Address(locations->InAt(0).AsRegister<Register>(), method_offset)); in VisitClassTableGet()
4959 __ movl(locations->Out().AsRegister<Register>(), in VisitClassTableGet()
4960 Address(locations->InAt(0).AsRegister<Register>(), in VisitClassTableGet()
4963 __ movl(locations->Out().AsRegister<Register>(), in VisitClassTableGet()
4964 Address(locations->Out().AsRegister<Register>(), method_offset)); in VisitClassTableGet()
4982 __ notl(out.AsRegister<Register>()); in VisitNot()
4986 __ notl(out.AsRegisterPairLow<Register>()); in VisitNot()
4987 __ notl(out.AsRegisterPairHigh<Register>()); in VisitNot()
5007 __ xorl(out.AsRegister<Register>(), Immediate(1)); in VisitBooleanNot()
5046 Register out = locations->Out().AsRegister<Register>(); in VisitCompare()
5064 Register left_low = left.AsRegisterPairLow<Register>(); in VisitCompare()
5065 Register left_high = left.AsRegisterPairHigh<Register>(); in VisitCompare()
5079 __ cmpl(left_high, right.AsRegisterPairHigh<Register>()); in VisitCompare()
5089 __ cmpl(left_low, right.AsRegisterPairLow<Register>()); in VisitCompare()
5172 Register CodeGeneratorX86::GetInvokeExtraParameter(HInvoke* invoke, Register temp) { in GetInvokeExtraParameter()
5179 return location.AsRegister<Register>(); in GetInvokeExtraParameter()
5182 Register CodeGeneratorX86::GetInvokeStaticOrDirectExtraParameter(HInvokeStaticOrDirect* invoke, in GetInvokeStaticOrDirectExtraParameter()
5183 Register temp) { in GetInvokeStaticOrDirectExtraParameter()
5186 return location.AsRegister<Register>(); in GetInvokeStaticOrDirectExtraParameter()
5199 if (slow_path->IsCoreRegisterSaved(location.AsRegister<Register>())) { in GetInvokeStaticOrDirectExtraParameter()
5200 int stack_offset = slow_path->GetStackOffsetOfCoreRegister(location.AsRegister<Register>()); in GetInvokeStaticOrDirectExtraParameter()
5204 return location.AsRegister<Register>(); in GetInvokeStaticOrDirectExtraParameter()
5211 Register base_reg = GetInvokeExtraParameter(invoke, temp.AsRegister<Register>()); in LoadMethod()
5212 __ leal(temp.AsRegister<Register>(), in LoadMethod()
5221 Register base_reg = GetInvokeExtraParameter(invoke, temp.AsRegister<Register>()); in LoadMethod()
5222 __ movl(temp.AsRegister<Register>(), Address(base_reg, kPlaceholder32BitOffset)); in LoadMethod()
5229 Register base_reg = GetInvokeExtraParameter(invoke, temp.AsRegister<Register>()); in LoadMethod()
5230 __ movl(temp.AsRegister<Register>(), Address(base_reg, kPlaceholder32BitOffset)); in LoadMethod()
5236 __ movl(temp.AsRegister<Register>(), in LoadMethod()
5259 __ fs()->movl(temp.AsRegister<Register>(), Address::Absolute(offset)); in GenerateStaticOrDirectCall()
5293 Register base_reg = GetInvokeExtraParameter(invoke, temp.AsRegister<Register>()); in GenerateStaticOrDirectCall()
5298 __ call(Address(callee_method.AsRegister<Register>(), in GenerateStaticOrDirectCall()
5344 __ call(Address(callee_method.AsRegister<Register>(), in GenerateStaticOrDirectCall()
5356 Register temp = temp_in.AsRegister<Register>(); in GenerateVirtualCall()
5365 Register receiver = calling_convention.GetRegisterAt(0); in GenerateVirtualCall()
5488 void CodeGeneratorX86::LoadBootImageAddress(Register reg, in LoadBootImageAddress()
5495 Register method_address_reg = in LoadBootImageAddress()
5496 invoke->GetLocations()->InAt(invoke->GetSpecialInputIndex()).AsRegister<Register>(); in LoadBootImageAddress()
5503 Register method_address_reg = in LoadBootImageAddress()
5504 invoke->GetLocations()->InAt(invoke->GetSpecialInputIndex()).AsRegister<Register>(); in LoadBootImageAddress()
5516 void CodeGeneratorX86::LoadIntrinsicDeclaringClass(Register reg, HInvokeStaticOrDirect* invoke) { in LoadIntrinsicDeclaringClass()
5523 Register method_address_reg = in LoadIntrinsicDeclaringClass()
5524 invoke->GetLocations()->InAt(invoke->GetSpecialInputIndex()).AsRegister<Register>(); in LoadIntrinsicDeclaringClass()
5610 void CodeGeneratorX86::MarkGCCard(Register temp, in MarkGCCard()
5611 Register card, in MarkGCCard()
5612 Register object, in MarkGCCard()
5613 Register value, in MarkGCCard()
5705 Register base = base_loc.AsRegister<Register>(); in HandleFieldGet()
5715 __ movzxb(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
5720 __ movsxb(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
5725 __ movzxw(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
5730 __ movsxw(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
5735 __ movl(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
5749 __ movl(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
5767 __ movd(out.AsRegisterPairLow<Register>(), temp); in HandleFieldGet()
5769 __ movd(out.AsRegisterPairHigh<Register>(), temp); in HandleFieldGet()
5771 DCHECK_NE(base, out.AsRegisterPairLow<Register>()); in HandleFieldGet()
5772 __ movl(out.AsRegisterPairLow<Register>(), Address(base, offset)); in HandleFieldGet()
5774 __ movl(out.AsRegisterPairHigh<Register>(), Address(base, kX86WordSize + offset)); in HandleFieldGet()
5862 Register base, in HandleFieldSet()
5893 __ movw(field_addr, value.AsRegister<Register>()); in HandleFieldSet()
5905 Register temp = locations->GetTemp(0).AsRegister<Register>(); in HandleFieldSet()
5906 __ movl(temp, value.AsRegister<Register>()); in HandleFieldSet()
5914 __ movl(field_addr, value.AsRegister<Register>()); in HandleFieldSet()
5923 __ movd(temp1, value.AsRegisterPairLow<Register>()); in HandleFieldSet()
5924 __ movd(temp2, value.AsRegisterPairHigh<Register>()); in HandleFieldSet()
5934 __ movl(field_addr, value.AsRegisterPairLow<Register>()); in HandleFieldSet()
5936 __ movl(field_addr.displaceBy(kX86WordSize), value.AsRegisterPairHigh<Register>()); in HandleFieldSet()
5978 Register temp = locations->GetTemp(0).AsRegister<Register>(); in HandleFieldSet()
5979 Register card = locations->GetTemp(1).AsRegister<Register>(); in HandleFieldSet()
5980 codegen_->MarkGCCard(temp, card, base, value.AsRegister<Register>(), value_can_be_null); in HandleFieldSet()
5994 Register base = locations->InAt(0).AsRegister<Register>(); in HandleFieldSet()
6059 Register recv = locations->InAt(1).AsRegister<Register>(); in VisitPredicatedInstanceFieldGet()
6161 __ testl(EAX, Address(obj.AsRegister<Register>(), 0)); in GenerateImplicitNullCheck()
6173 __ testl(obj.AsRegister<Register>(), obj.AsRegister<Register>()); in GenerateExplicitNullCheck()
6221 Register obj = obj_loc.AsRegister<Register>(); in VisitArrayGet()
6230 Register out = out_loc.AsRegister<Register>(); in VisitArrayGet()
6236 Register out = out_loc.AsRegister<Register>(); in VisitArrayGet()
6242 Register out = out_loc.AsRegister<Register>(); in VisitArrayGet()
6266 Register out = out_loc.AsRegister<Register>(); in VisitArrayGet()
6272 Register out = out_loc.AsRegister<Register>(); in VisitArrayGet()
6289 Register out = out_loc.AsRegister<Register>(); in VisitArrayGet()
6308 DCHECK_NE(obj, out_loc.AsRegisterPairLow<Register>()); in VisitArrayGet()
6309 __ movl(out_loc.AsRegisterPairLow<Register>(), in VisitArrayGet()
6312 __ movl(out_loc.AsRegisterPairHigh<Register>(), in VisitArrayGet()
6380 Register array = array_loc.AsRegister<Register>(); in VisitArraySet()
6408 __ movw(address, value.AsRegister<Register>()); in VisitArraySet()
6432 Register register_value = value.AsRegister<Register>(); in VisitArraySet()
6434 Register temp = temp_loc.AsRegister<Register>(); in VisitArraySet()
6490 Register card = locations->GetTemp(1).AsRegister<Register>(); in VisitArraySet()
6492 temp, card, array, value.AsRegister<Register>(), /* value_can_be_null= */ false); in VisitArraySet()
6499 Register source = register_value; in VisitArraySet()
6523 __ movl(address, value.AsRegister<Register>()); in VisitArraySet()
6537 value.AsRegisterPairLow<Register>()); in VisitArraySet()
6540 value.AsRegisterPairHigh<Register>()); in VisitArraySet()
6607 Register obj = locations->InAt(0).AsRegister<Register>(); in VisitArrayLength()
6608 Register out = locations->Out().AsRegister<Register>(); in VisitArrayLength()
6659 Register index_reg = index_loc.AsRegister<Register>(); in VisitBoundsCheck()
6670 Address array_len(array_loc.AsRegister<Register>(), len_offset); in VisitBoundsCheck()
6674 Register length_reg = locations->GetTemp(0).AsRegister<Register>(); in VisitBoundsCheck()
6686 __ cmpl(array_len, index_loc.AsRegister<Register>()); in VisitBoundsCheck()
6771 Register temp_reg = static_cast<Register>(ensure_scratch.GetRegister()); in MoveMemoryToMemory()
6789 __ movl(destination.AsRegister<Register>(), source.AsRegister<Register>()); in EmitMove()
6791 __ movd(destination.AsFpuRegister<XmmRegister>(), source.AsRegister<Register>()); in EmitMove()
6794 __ movl(Address(ESP, destination.GetStackIndex()), source.AsRegister<Register>()); in EmitMove()
6798 __ movl(destination.AsRegisterPairLow<Register>(), source.AsRegisterPairLow<Register>()); in EmitMove()
6799 DCHECK_NE(destination.AsRegisterPairLow<Register>(), source.AsRegisterPairHigh<Register>()); in EmitMove()
6800 __ movl(destination.AsRegisterPairHigh<Register>(), source.AsRegisterPairHigh<Register>()); in EmitMove()
6804 __ pushl(source.AsRegisterPairHigh<Register>()); in EmitMove()
6806 __ pushl(source.AsRegisterPairLow<Register>()); in EmitMove()
6814 __ movl(Address(ESP, destination.GetStackIndex()), source.AsRegisterPairLow<Register>()); in EmitMove()
6816 source.AsRegisterPairHigh<Register>()); in EmitMove()
6820 __ movd(destination.AsRegister<Register>(), source.AsFpuRegister<XmmRegister>()); in EmitMove()
6830 __ popl(destination.AsRegisterPairLow<Register>()); in EmitMove()
6832 __ popl(destination.AsRegisterPairHigh<Register>()); in EmitMove()
6844 __ movl(destination.AsRegister<Register>(), Address(ESP, source.GetStackIndex())); in EmitMove()
6853 __ movl(destination.AsRegisterPairLow<Register>(), Address(ESP, source.GetStackIndex())); in EmitMove()
6854 __ movl(destination.AsRegisterPairHigh<Register>(), in EmitMove()
6875 __ xorl(destination.AsRegister<Register>(), destination.AsRegister<Register>()); in EmitMove()
6877 __ movl(destination.AsRegister<Register>(), Immediate(value)); in EmitMove()
6895 Register temp = static_cast<Register>(ensure_scratch.GetRegister()); in EmitMove()
6913 __ movl(destination.AsRegisterPairLow<Register>(), low); in EmitMove()
6914 __ movl(destination.AsRegisterPairHigh<Register>(), high); in EmitMove()
6948 void ParallelMoveResolverX86::Exchange(Register reg, int mem) { in Exchange()
6949 Register suggested_scratch = reg == EAX ? EBX : EAX; in Exchange()
6954 __ movl(static_cast<Register>(ensure_scratch.GetRegister()), Address(ESP, mem + stack_offset)); in Exchange()
6956 __ movl(reg, static_cast<Register>(ensure_scratch.GetRegister())); in Exchange()
6963 Register temp_reg = static_cast<Register>(ensure_scratch.GetRegister()); in Exchange32()
6983 Register suggested_scratch = ensure_scratch1.GetRegister() == EAX ? EBX : EAX; in ExchangeMemory()
6992 … __ movl(static_cast<Register>(ensure_scratch1.GetRegister()), Address(ESP, mem1 + stack_offset)); in ExchangeMemory()
6993 … __ movl(static_cast<Register>(ensure_scratch2.GetRegister()), Address(ESP, mem2 + stack_offset)); in ExchangeMemory()
6994 … __ movl(Address(ESP, mem2 + stack_offset), static_cast<Register>(ensure_scratch1.GetRegister())); in ExchangeMemory()
6995 … __ movl(Address(ESP, mem1 + stack_offset), static_cast<Register>(ensure_scratch2.GetRegister())); in ExchangeMemory()
7007 DCHECK_NE(destination.AsRegister<Register>(), source.AsRegister<Register>()); in EmitSwap()
7008 __ xorl(destination.AsRegister<Register>(), source.AsRegister<Register>()); in EmitSwap()
7009 __ xorl(source.AsRegister<Register>(), destination.AsRegister<Register>()); in EmitSwap()
7010 __ xorl(destination.AsRegister<Register>(), source.AsRegister<Register>()); in EmitSwap()
7012 Exchange(source.AsRegister<Register>(), destination.GetStackIndex()); in EmitSwap()
7014 Exchange(destination.AsRegister<Register>(), source.GetStackIndex()); in EmitSwap()
7065 __ pushl(static_cast<Register>(reg)); in SpillScratch()
7069 __ popl(static_cast<Register>(reg)); in RestoreScratch()
7159 Register out = out_loc.AsRegister<Register>(); in VisitLoadClass()
7170 Register current_method = locations->InAt(0).AsRegister<Register>(); in VisitLoadClass()
7183 Register method_address = locations->InAt(0).AsRegister<Register>(); in VisitLoadClass()
7190 Register method_address = locations->InAt(0).AsRegister<Register>(); in VisitLoadClass()
7199 Register method_address = locations->InAt(0).AsRegister<Register>(); in VisitLoadClass()
7283 check->GetLocations()->InAt(0).AsRegister<Register>()); in VisitClinitCheck()
7287 SlowPathCode* slow_path, Register class_reg) { in GenerateClassInitializationCheck()
7300 Register temp) { in GenerateBitstringTypeCheckCompare()
7376 Register out = out_loc.AsRegister<Register>(); in VisitLoadString()
7382 Register method_address = locations->InAt(0).AsRegister<Register>(); in VisitLoadString()
7389 Register method_address = locations->InAt(0).AsRegister<Register>(); in VisitLoadString()
7396 Register method_address = locations->InAt(0).AsRegister<Register>(); in VisitLoadString()
7446 __ fs()->movl(load->GetLocations()->Out().AsRegister<Register>(), GetExceptionTlsAddress()); in VisitLoadException()
7537 Register obj = obj_loc.AsRegister<Register>(); in VisitInstanceOf()
7540 Register out = out_loc.AsRegister<Register>(); in VisitInstanceOf()
7569 __ cmpl(out, cls.AsRegister<Register>()); in VisitInstanceOf()
7605 __ cmpl(out, cls.AsRegister<Register>()); in VisitInstanceOf()
7631 __ cmpl(out, cls.AsRegister<Register>()); in VisitInstanceOf()
7667 __ cmpl(out, cls.AsRegister<Register>()); in VisitInstanceOf()
7700 __ cmpl(out, cls.AsRegister<Register>()); in VisitInstanceOf()
7803 Register obj = obj_loc.AsRegister<Register>(); in VisitCheckCast()
7806 Register temp = temp_loc.AsRegister<Register>(); in VisitCheckCast()
7844 __ cmpl(temp, cls.AsRegister<Register>()); in VisitCheckCast()
7881 __ cmpl(temp, cls.AsRegister<Register>()); in VisitCheckCast()
7902 __ cmpl(temp, cls.AsRegister<Register>()); in VisitCheckCast()
7935 __ cmpl(temp, cls.AsRegister<Register>()); in VisitCheckCast()
7989 __ movl(maybe_temp2_loc.AsRegister<Register>(), Address(temp, array_length_offset)); in VisitCheckCast()
7991 __ MaybePoisonHeapReference(cls.AsRegister<Register>()); in VisitCheckCast()
7996 __ subl(maybe_temp2_loc.AsRegister<Register>(), Immediate(2)); in VisitCheckCast()
7999 __ cmpl(cls.AsRegister<Register>(), in VisitCheckCast()
8006 __ MaybeUnpoisonHeapReference(cls.AsRegister<Register>()); in VisitCheckCast()
8062 __ andn(dest.AsRegister<Register>(), in VisitX86AndNot()
8063 first.AsRegister<Register>(), in VisitX86AndNot()
8064 second.AsRegister<Register>()); in VisitX86AndNot()
8067 __ andn(dest.AsRegisterPairLow<Register>(), in VisitX86AndNot()
8068 first.AsRegisterPairLow<Register>(), in VisitX86AndNot()
8069 second.AsRegisterPairLow<Register>()); in VisitX86AndNot()
8070 __ andn(dest.AsRegisterPairHigh<Register>(), in VisitX86AndNot()
8071 first.AsRegisterPairHigh<Register>(), in VisitX86AndNot()
8072 second.AsRegisterPairHigh<Register>()); in VisitX86AndNot()
8092 __ blsr(dest.AsRegister<Register>(), src.AsRegister<Register>()); in VisitX86MaskOrResetLeastSetBit()
8095 __ blsmsk(dest.AsRegister<Register>(), src.AsRegister<Register>()); in VisitX86MaskOrResetLeastSetBit()
8137 __ andl(first.AsRegister<Register>(), second.AsRegister<Register>()); in HandleBitwiseOperation()
8139 __ orl(first.AsRegister<Register>(), second.AsRegister<Register>()); in HandleBitwiseOperation()
8142 __ xorl(first.AsRegister<Register>(), second.AsRegister<Register>()); in HandleBitwiseOperation()
8146 __ andl(first.AsRegister<Register>(), in HandleBitwiseOperation()
8149 __ orl(first.AsRegister<Register>(), in HandleBitwiseOperation()
8153 __ xorl(first.AsRegister<Register>(), in HandleBitwiseOperation()
8158 __ andl(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
8160 __ orl(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
8163 __ xorl(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
8170 __ andl(first.AsRegisterPairLow<Register>(), second.AsRegisterPairLow<Register>()); in HandleBitwiseOperation()
8171 __ andl(first.AsRegisterPairHigh<Register>(), second.AsRegisterPairHigh<Register>()); in HandleBitwiseOperation()
8173 __ orl(first.AsRegisterPairLow<Register>(), second.AsRegisterPairLow<Register>()); in HandleBitwiseOperation()
8174 __ orl(first.AsRegisterPairHigh<Register>(), second.AsRegisterPairHigh<Register>()); in HandleBitwiseOperation()
8177 __ xorl(first.AsRegisterPairLow<Register>(), second.AsRegisterPairLow<Register>()); in HandleBitwiseOperation()
8178 __ xorl(first.AsRegisterPairHigh<Register>(), second.AsRegisterPairHigh<Register>()); in HandleBitwiseOperation()
8182 __ andl(first.AsRegisterPairLow<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
8183 __ andl(first.AsRegisterPairHigh<Register>(), in HandleBitwiseOperation()
8186 __ orl(first.AsRegisterPairLow<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
8187 __ orl(first.AsRegisterPairHigh<Register>(), in HandleBitwiseOperation()
8191 __ xorl(first.AsRegisterPairLow<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
8192 __ xorl(first.AsRegisterPairHigh<Register>(), in HandleBitwiseOperation()
8202 Register first_low = first.AsRegisterPairLow<Register>(); in HandleBitwiseOperation()
8203 Register first_high = first.AsRegisterPairHigh<Register>(); in HandleBitwiseOperation()
8241 Register out_reg = out.AsRegister<Register>(); in GenerateReferenceLoadOneRegister()
8255 __ movl(maybe_temp.AsRegister<Register>(), out_reg); in GenerateReferenceLoadOneRegister()
8274 Register out_reg = out.AsRegister<Register>(); in GenerateReferenceLoadTwoRegisters()
8275 Register obj_reg = obj.AsRegister<Register>(); in GenerateReferenceLoadTwoRegisters()
8303 Register root_reg = root.AsRegister<Register>(); in GenerateGcRootFieldLoad()
8366 Register obj, in GenerateFieldLoadWithBakerReadBarrier()
8379 Register obj, in GenerateArrayLoadWithBakerReadBarrier()
8397 Register obj, in GenerateReferenceLoadWithBakerReadBarrier()
8401 Register* temp) { in GenerateReferenceLoadWithBakerReadBarrier()
8429 Register ref_reg = ref.AsRegister<Register>(); in GenerateReferenceLoadWithBakerReadBarrier()
8518 __ UnpoisonHeapReference(out.AsRegister<Register>()); in MaybeGenerateReadBarrierSlow()
8556 void InstructionCodeGeneratorX86::GenPackedSwitchWithCompares(Register value_reg, in GenPackedSwitchWithCompares()
8608 Register value_reg = locations->InAt(0).AsRegister<Register>(); in VisitPackedSwitch()
8633 Register value_reg = locations->InAt(0).AsRegister<Register>(); in VisitX86PackedSwitch()
8646 Register temp_reg = locations->GetTemp(0).AsRegister<Register>(); in VisitX86PackedSwitch()
8647 Register constant_area = locations->InAt(1).AsRegister<Register>(); in VisitX86PackedSwitch()
8681 Register reg = locations->Out().AsRegister<Register>(); in VisitX86ComputeBaseMethodAddress()
8730 Register const_area = locations->InAt(0).AsRegister<Register>(); in VisitX86LoadFromConstantTable()
8747 __ movl(out.AsRegister<Register>(), in VisitX86LoadFromConstantTable()
8857 Register reg) { in LiteralDoubleAddress()
8865 Register reg) { in LiteralFloatAddress()
8873 Register reg) { in LiteralInt32Address()
8881 Register reg) { in LiteralInt64Address()
8887 void CodeGeneratorX86::Load32BitValue(Register dest, int32_t value) { in Load32BitValue()
8895 void CodeGeneratorX86::Compare32BitValue(Register dest, int32_t value) { in Compare32BitValue()
8904 Register lhs_reg = lhs.AsRegister<Register>(); in GenerateIntCompare()
8908 void CodeGeneratorX86::GenerateIntCompare(Register lhs, Location rhs) { in GenerateIntCompare()
8915 __ cmpl(lhs, rhs.AsRegister<Register>()); in GenerateIntCompare()
8919 Address CodeGeneratorX86::ArrayAddress(Register obj, in ArrayAddress()
8925 Address(obj, index.AsRegister<Register>(), scale, data_offset); in ArrayAddress()
8929 Register reg, in LiteralCaseTable()
8930 Register value) { in LiteralCaseTable()