Lines Matching refs:__
50 #define __ down_cast<X86Assembler*>(codegen->GetAssembler())-> macro
59 __ Bind(GetEntryLabel()); in EmitNativeCode()
85 __ Bind(GetEntryLabel()); in EmitNativeCode()
111 __ Bind(GetEntryLabel()); in EmitNativeCode()
113 __ negl(reg_); in EmitNativeCode()
115 __ movl(reg_, Immediate(0)); in EmitNativeCode()
117 __ jmp(GetExitLabel()); in EmitNativeCode()
135 __ Bind(GetEntryLabel()); in EmitNativeCode()
172 __ Bind(GetEntryLabel()); in EmitNativeCode()
181 __ jmp(GetReturnLabel()); in EmitNativeCode()
183 __ jmp(x86_codegen->GetLabelOf(successor_)); in EmitNativeCode()
214 __ Bind(GetEntryLabel()); in EmitNativeCode()
219 __ movl(calling_convention.GetRegisterAt(0), Immediate(string_index)); in EmitNativeCode()
228 __ jmp(GetExitLabel()); in EmitNativeCode()
250 __ Bind(GetEntryLabel()); in EmitNativeCode()
254 __ movl(calling_convention.GetRegisterAt(0), Immediate(cls_->GetTypeIndex())); in EmitNativeCode()
272 __ jmp(GetExitLabel()); in EmitNativeCode()
307 __ Bind(GetEntryLabel()); in EmitNativeCode()
346 __ jmp(GetExitLabel()); in EmitNativeCode()
366 __ Bind(GetEntryLabel()); in EmitNativeCode()
387 __ Bind(GetEntryLabel()); in EmitNativeCode()
416 __ jmp(GetExitLabel()); in EmitNativeCode()
450 __ Bind(GetEntryLabel()); in EmitNativeCode()
464 __ jmp(GetExitLabel()); in EmitNativeCode()
515 __ Bind(GetEntryLabel()); in EmitNativeCode()
552 __ movl(free_reg, index_reg); in EmitNativeCode()
565 __ shll(index_reg, Immediate(TIMES_4)); in EmitNativeCode()
569 __ AddImmediate(index_reg, Immediate(offset_)); in EmitNativeCode()
604 __ movl(calling_convention.GetRegisterAt(2), Immediate(offset_)); in EmitNativeCode()
615 __ jmp(GetExitLabel()); in EmitNativeCode()
667 __ Bind(GetEntryLabel()); in EmitNativeCode()
681 __ jmp(GetExitLabel()); in EmitNativeCode()
693 #undef __
694 #define __ down_cast<X86Assembler*>(GetAssembler())-> macro
742 __ movl(Address(ESP, stack_index), static_cast<Register>(reg_id)); in SaveCoreRegister()
747 __ movl(static_cast<Register>(reg_id), Address(ESP, stack_index)); in RestoreCoreRegister()
752 __ movsd(Address(ESP, stack_index), XmmRegister(reg_id)); in SaveFloatingPointRegister()
757 __ movsd(XmmRegister(reg_id), Address(ESP, stack_index)); in RestoreFloatingPointRegister()
776 __ fs()->call(Address::Absolute(entry_point_offset)); in InvokeRuntime()
843 __ cfi().SetCurrentCFAOffset(kX86WordSize); // return address in GenerateFrameEntry()
844 __ Bind(&frame_entry_label_); in GenerateFrameEntry()
850 __ testl(EAX, Address(ESP, -static_cast<int32_t>(GetStackOverflowReservedBytes(kX86)))); in GenerateFrameEntry()
861 __ pushl(reg); in GenerateFrameEntry()
862 __ cfi().AdjustCFAOffset(kX86WordSize); in GenerateFrameEntry()
863 __ cfi().RelOffset(DWARFReg(reg), 0); in GenerateFrameEntry()
868 __ subl(ESP, Immediate(adjust)); in GenerateFrameEntry()
869 __ cfi().AdjustCFAOffset(adjust); in GenerateFrameEntry()
870 __ movl(Address(ESP, kCurrentMethodStackOffset), kMethodRegisterArgument); in GenerateFrameEntry()
874 __ cfi().RememberState(); in GenerateFrameExit()
877 __ addl(ESP, Immediate(adjust)); in GenerateFrameExit()
878 __ cfi().AdjustCFAOffset(-adjust); in GenerateFrameExit()
883 __ popl(reg); in GenerateFrameExit()
884 __ cfi().AdjustCFAOffset(-static_cast<int>(kX86WordSize)); in GenerateFrameExit()
885 __ cfi().Restore(DWARFReg(reg)); in GenerateFrameExit()
889 __ ret(); in GenerateFrameExit()
890 __ cfi().RestoreState(); in GenerateFrameExit()
891 __ cfi().DefCFAOffset(GetFrameSize()); in GenerateFrameExit()
895 __ Bind(GetLabelOf(block)); in Bind()
989 __ movl(destination.AsRegister<Register>(), source.AsRegister<Register>()); in Move32()
991 __ movd(destination.AsRegister<Register>(), source.AsFpuRegister<XmmRegister>()); in Move32()
994 __ movl(destination.AsRegister<Register>(), Address(ESP, source.GetStackIndex())); in Move32()
998 __ movd(destination.AsFpuRegister<XmmRegister>(), source.AsRegister<Register>()); in Move32()
1000 __ movaps(destination.AsFpuRegister<XmmRegister>(), source.AsFpuRegister<XmmRegister>()); in Move32()
1003 __ movss(destination.AsFpuRegister<XmmRegister>(), Address(ESP, source.GetStackIndex())); in Move32()
1008 __ movl(Address(ESP, destination.GetStackIndex()), source.AsRegister<Register>()); in Move32()
1010 __ movss(Address(ESP, destination.GetStackIndex()), source.AsFpuRegister<XmmRegister>()); in Move32()
1014 __ movl(Address(ESP, destination.GetStackIndex()), Immediate(value)); in Move32()
1017 __ pushl(Address(ESP, source.GetStackIndex())); in Move32()
1018 __ popl(Address(ESP, destination.GetStackIndex())); in Move32()
1038 __ movd(destination.AsRegisterPairLow<Register>(), src_reg); in Move64()
1039 __ psrlq(src_reg, Immediate(32)); in Move64()
1040 __ movd(destination.AsRegisterPairHigh<Register>(), src_reg); in Move64()
1044 __ movl(destination.AsRegisterPairLow<Register>(), Address(ESP, source.GetStackIndex())); in Move64()
1045 __ movl(destination.AsRegisterPairHigh<Register>(), in Move64()
1050 __ movaps(destination.AsFpuRegister<XmmRegister>(), source.AsFpuRegister<XmmRegister>()); in Move64()
1052 __ movsd(destination.AsFpuRegister<XmmRegister>(), Address(ESP, source.GetStackIndex())); in Move64()
1056 __ subl(ESP, Immediate(2 * elem_size)); in Move64()
1057 __ movl(Address(ESP, 0), source.AsRegisterPairLow<Register>()); in Move64()
1058 __ movl(Address(ESP, elem_size), source.AsRegisterPairHigh<Register>()); in Move64()
1059 __ movsd(destination.AsFpuRegister<XmmRegister>(), Address(ESP, 0)); in Move64()
1061 __ addl(ESP, Immediate(2 * elem_size)); in Move64()
1069 __ movl(Address(ESP, destination.GetStackIndex()), source.AsRegisterPairLow<Register>()); in Move64()
1070 __ movl(Address(ESP, destination.GetHighStackIndex(kX86WordSize)), in Move64()
1073 __ movsd(Address(ESP, destination.GetStackIndex()), source.AsFpuRegister<XmmRegister>()); in Move64()
1083 __ movl(Address(ESP, destination.GetStackIndex()), Immediate(Low32Bits(value))); in Move64()
1084 … __ movl(Address(ESP, destination.GetHighStackIndex(kX86WordSize)), Immediate(High32Bits(value))); in Move64()
1100 __ movl(location.AsRegister<Register>(), Immediate(value)); in MoveConstant()
1141 __ jmp(codegen_->GetLabelOf(successor)); in HandleGoto()
1176 __ j(kUnordered, true_label); in GenerateFPJumps()
1178 __ j(kUnordered, false_label); in GenerateFPJumps()
1180 __ j(X86UnsignedOrFPCondition(cond->GetCondition()), true_label); in GenerateFPJumps()
1238 __ j(X86Condition(true_high_cond), true_label); in GenerateLongComparesAndJumps()
1240 __ j(X86Condition(false_high_cond), false_label); in GenerateLongComparesAndJumps()
1242 __ j(X86Condition(true_high_cond), true_label); in GenerateLongComparesAndJumps()
1243 __ j(X86Condition(false_high_cond), false_label); in GenerateLongComparesAndJumps()
1251 __ cmpl(left_high, right_high); in GenerateLongComparesAndJumps()
1253 __ j(X86Condition(true_high_cond), true_label); in GenerateLongComparesAndJumps()
1255 __ j(X86Condition(false_high_cond), false_label); in GenerateLongComparesAndJumps()
1257 __ j(X86Condition(true_high_cond), true_label); in GenerateLongComparesAndJumps()
1258 __ j(X86Condition(false_high_cond), false_label); in GenerateLongComparesAndJumps()
1261 __ cmpl(left_low, right_low); in GenerateLongComparesAndJumps()
1264 __ cmpl(left_high, Address(ESP, right.GetHighStackIndex(kX86WordSize))); in GenerateLongComparesAndJumps()
1266 __ j(X86Condition(true_high_cond), true_label); in GenerateLongComparesAndJumps()
1268 __ j(X86Condition(false_high_cond), false_label); in GenerateLongComparesAndJumps()
1270 __ j(X86Condition(true_high_cond), true_label); in GenerateLongComparesAndJumps()
1271 __ j(X86Condition(false_high_cond), false_label); in GenerateLongComparesAndJumps()
1274 __ cmpl(left_low, Address(ESP, right.GetStackIndex())); in GenerateLongComparesAndJumps()
1277 __ j(final_condition, true_label); in GenerateLongComparesAndJumps()
1287 __ ucomisd(lhs.AsFpuRegister<XmmRegister>(), rhs.AsFpuRegister<XmmRegister>()); in GenerateFPCompare()
1290 __ ucomisd(lhs.AsFpuRegister<XmmRegister>(), in GenerateFPCompare()
1296 __ ucomisd(lhs.AsFpuRegister<XmmRegister>(), Address(ESP, rhs.GetStackIndex())); in GenerateFPCompare()
1300 __ ucomiss(lhs.AsFpuRegister<XmmRegister>(), rhs.AsFpuRegister<XmmRegister>()); in GenerateFPCompare()
1303 __ ucomiss(lhs.AsFpuRegister<XmmRegister>(), in GenerateFPCompare()
1309 __ ucomiss(lhs.AsFpuRegister<XmmRegister>(), Address(ESP, rhs.GetStackIndex())); in GenerateFPCompare()
1346 __ jmp(false_target); in GenerateCompareTestAndBranch()
1350 __ Bind(&fallthrough_target); in GenerateCompareTestAndBranch()
1378 __ jmp(true_target); in GenerateTestAndBranch()
1383 __ jmp(false_target); in GenerateTestAndBranch()
1400 __ j(X86Condition(cond->AsCondition()->GetOppositeCondition()), false_target); in GenerateTestAndBranch()
1402 __ j(X86Condition(cond->AsCondition()->GetCondition()), true_target); in GenerateTestAndBranch()
1408 __ testl(lhs.AsRegister<Register>(), lhs.AsRegister<Register>()); in GenerateTestAndBranch()
1410 __ cmpl(Address(ESP, lhs.GetStackIndex()), Immediate(0)); in GenerateTestAndBranch()
1413 __ j(kEqual, false_target); in GenerateTestAndBranch()
1415 __ j(kNotEqual, true_target); in GenerateTestAndBranch()
1435 __ cmpl(lhs.AsRegister<Register>(), rhs.AsRegister<Register>()); in GenerateTestAndBranch()
1440 __ cmpl(lhs.AsRegister<Register>(), Address(ESP, rhs.GetStackIndex())); in GenerateTestAndBranch()
1443 __ j(X86Condition(condition->GetOppositeCondition()), false_target); in GenerateTestAndBranch()
1445 __ j(X86Condition(condition->GetCondition()), true_target); in GenerateTestAndBranch()
1452 __ jmp(false_target); in GenerateTestAndBranch()
1540 __ cmpl(lhs_reg, Address(ESP, rhs.GetStackIndex())); in GenerateIntCompare()
1542 __ cmpl(lhs_reg, rhs.AsRegister<Register>()); in GenerateIntCompare()
1568 __ testl(cond_reg, cond_reg); in VisitSelect()
1581 __ testl(cond_reg, cond_reg); in VisitSelect()
1592 __ cmovl(cond, false_high, true_loc.AsRegisterPairHigh<Register>()); in VisitSelect()
1593 __ cmovl(cond, false_low, true_loc.AsRegisterPairLow<Register>()); in VisitSelect()
1595 __ cmovl(cond, false_high, Address(ESP, true_loc.GetHighStackIndex(kX86WordSize))); in VisitSelect()
1596 __ cmovl(cond, false_low, Address(ESP, true_loc.GetStackIndex())); in VisitSelect()
1602 __ cmovl(cond, false_reg, true_loc.AsRegister<Register>()); in VisitSelect()
1604 __ cmovl(cond, false_reg, Address(ESP, true_loc.GetStackIndex())); in VisitSelect()
1612 __ Bind(&false_target); in VisitSelect()
1625 __ nop(); in GenerateNop()
1683 __ xorl(reg, reg); in HandleCondition()
1685 __ setb(X86Condition(cond->GetCondition()), reg); in HandleCondition()
1705 __ Bind(&false_label); in HandleCondition()
1706 __ xorl(reg, reg); in HandleCondition()
1707 __ jmp(&done_label); in HandleCondition()
1710 __ Bind(&true_label); in HandleCondition()
1711 __ movl(reg, Immediate(1)); in HandleCondition()
1712 __ Bind(&done_label); in HandleCondition()
2021 __ movl(temp, Immediate(invoke->GetDexMethodIndex())); in VisitInvokeInterface()
2022 __ movd(hidden_reg, temp); in VisitInvokeInterface()
2025 __ movl(temp, Address(ESP, receiver.GetStackIndex())); in VisitInvokeInterface()
2027 __ movl(temp, Address(temp, class_offset)); in VisitInvokeInterface()
2030 __ movl(temp, Address(receiver.AsRegister<Register>(), class_offset)); in VisitInvokeInterface()
2040 __ MaybeUnpoisonHeapReference(temp); in VisitInvokeInterface()
2042 __ movl(temp, Address(temp, method_offset)); in VisitInvokeInterface()
2044 __ call(Address(temp, in VisitInvokeInterface()
2087 __ negl(out.AsRegister<Register>()); in VisitNeg()
2093 __ negl(out.AsRegisterPairLow<Register>()); in VisitNeg()
2099 __ adcl(out.AsRegisterPairHigh<Register>(), Immediate(0)); in VisitNeg()
2100 __ negl(out.AsRegisterPairHigh<Register>()); in VisitNeg()
2110 __ movl(constant, Immediate(INT32_C(0x80000000))); in VisitNeg()
2111 __ movd(mask, constant); in VisitNeg()
2112 __ xorps(out.AsFpuRegister<XmmRegister>(), mask); in VisitNeg()
2122 __ LoadLongConstant(mask, INT64_C(0x8000000000000000)); in VisitNeg()
2123 __ xorpd(out.AsFpuRegister<XmmRegister>(), mask); in VisitNeg()
2150 __ movss(mask, codegen_->LiteralInt32Address(INT32_C(0x80000000), constant_area)); in VisitX86FPNeg()
2151 __ xorps(out.AsFpuRegister<XmmRegister>(), mask); in VisitX86FPNeg()
2153 __ movsd(mask, codegen_->LiteralInt64Address(INT64_C(0x8000000000000000), constant_area)); in VisitX86FPNeg()
2154 __ xorpd(out.AsFpuRegister<XmmRegister>(), mask); in VisitX86FPNeg()
2389 __ movsxb(out.AsRegister<Register>(), in.AsRegisterPairLow<ByteRegister>()); in VisitTypeConversion()
2393 __ movl(out.AsRegister<Register>(), Immediate(static_cast<int8_t>(value))); in VisitTypeConversion()
2403 __ movsxb(out.AsRegister<Register>(), in.AsRegister<ByteRegister>()); in VisitTypeConversion()
2407 __ movl(out.AsRegister<Register>(), Immediate(static_cast<int8_t>(value))); in VisitTypeConversion()
2422 __ movsxw(out.AsRegister<Register>(), in.AsRegisterPairLow<Register>()); in VisitTypeConversion()
2424 __ movsxw(out.AsRegister<Register>(), Address(ESP, in.GetStackIndex())); in VisitTypeConversion()
2428 __ movl(out.AsRegister<Register>(), Immediate(static_cast<int16_t>(value))); in VisitTypeConversion()
2438 __ movsxw(out.AsRegister<Register>(), in.AsRegister<Register>()); in VisitTypeConversion()
2440 __ movsxw(out.AsRegister<Register>(), Address(ESP, in.GetStackIndex())); in VisitTypeConversion()
2444 __ movl(out.AsRegister<Register>(), Immediate(static_cast<int16_t>(value))); in VisitTypeConversion()
2459 __ movl(out.AsRegister<Register>(), in.AsRegisterPairLow<Register>()); in VisitTypeConversion()
2461 __ movl(out.AsRegister<Register>(), Address(ESP, in.GetStackIndex())); in VisitTypeConversion()
2466 __ movl(out.AsRegister<Register>(), Immediate(static_cast<int32_t>(value))); in VisitTypeConversion()
2477 __ movl(output, Immediate(kPrimIntMax)); in VisitTypeConversion()
2479 __ cvtsi2ss(temp, output); in VisitTypeConversion()
2481 __ comiss(input, temp); in VisitTypeConversion()
2482 __ j(kAboveEqual, &done); in VisitTypeConversion()
2484 __ j(kUnordered, &nan); in VisitTypeConversion()
2486 __ cvttss2si(output, input); in VisitTypeConversion()
2487 __ jmp(&done); in VisitTypeConversion()
2488 __ Bind(&nan); in VisitTypeConversion()
2490 __ xorl(output, output); in VisitTypeConversion()
2491 __ Bind(&done); in VisitTypeConversion()
2502 __ movl(output, Immediate(kPrimIntMax)); in VisitTypeConversion()
2504 __ cvtsi2sd(temp, output); in VisitTypeConversion()
2506 __ comisd(input, temp); in VisitTypeConversion()
2507 __ j(kAboveEqual, &done); in VisitTypeConversion()
2509 __ j(kUnordered, &nan); in VisitTypeConversion()
2511 __ cvttsd2si(output, input); in VisitTypeConversion()
2512 __ jmp(&done); in VisitTypeConversion()
2513 __ Bind(&nan); in VisitTypeConversion()
2515 __ xorl(output, output); in VisitTypeConversion()
2516 __ Bind(&done); in VisitTypeConversion()
2538 __ cdq(); in VisitTypeConversion()
2570 __ movzxw(out.AsRegister<Register>(), in.AsRegisterPairLow<Register>()); in VisitTypeConversion()
2572 __ movzxw(out.AsRegister<Register>(), Address(ESP, in.GetStackIndex())); in VisitTypeConversion()
2576 __ movl(out.AsRegister<Register>(), Immediate(static_cast<uint16_t>(value))); in VisitTypeConversion()
2586 __ movzxw(out.AsRegister<Register>(), in.AsRegister<Register>()); in VisitTypeConversion()
2588 __ movzxw(out.AsRegister<Register>(), Address(ESP, in.GetStackIndex())); in VisitTypeConversion()
2592 __ movl(out.AsRegister<Register>(), Immediate(static_cast<uint16_t>(value))); in VisitTypeConversion()
2611 __ cvtsi2ss(out.AsFpuRegister<XmmRegister>(), in.AsRegister<Register>()); in VisitTypeConversion()
2623 __ subl(ESP, Immediate(adjustment)); in VisitTypeConversion()
2630 __ fstps(Address(ESP, out.GetStackIndex() + adjustment)); in VisitTypeConversion()
2632 __ fstps(Address(ESP, 0)); in VisitTypeConversion()
2639 __ addl(ESP, Immediate(adjustment)); in VisitTypeConversion()
2646 __ cvtsd2ss(out.AsFpuRegister<XmmRegister>(), in.AsFpuRegister<XmmRegister>()); in VisitTypeConversion()
2664 __ cvtsi2sd(out.AsFpuRegister<XmmRegister>(), in.AsRegister<Register>()); in VisitTypeConversion()
2676 __ subl(ESP, Immediate(adjustment)); in VisitTypeConversion()
2683 __ fstpl(Address(ESP, out.GetStackIndex() + adjustment)); in VisitTypeConversion()
2685 __ fstpl(Address(ESP, 0)); in VisitTypeConversion()
2692 __ addl(ESP, Immediate(adjustment)); in VisitTypeConversion()
2699 __ cvtss2sd(out.AsFpuRegister<XmmRegister>(), in.AsFpuRegister<XmmRegister>()); in VisitTypeConversion()
2762 __ addl(out.AsRegister<Register>(), second.AsRegister<Register>()); in VisitAdd()
2764 __ addl(out.AsRegister<Register>(), first.AsRegister<Register>()); in VisitAdd()
2766 __ leal(out.AsRegister<Register>(), Address( in VisitAdd()
2772 __ addl(out.AsRegister<Register>(), Immediate(value)); in VisitAdd()
2774 __ leal(out.AsRegister<Register>(), Address(first.AsRegister<Register>(), value)); in VisitAdd()
2778 __ addl(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in VisitAdd()
2785 __ addl(first.AsRegisterPairLow<Register>(), second.AsRegisterPairLow<Register>()); in VisitAdd()
2786 __ adcl(first.AsRegisterPairHigh<Register>(), second.AsRegisterPairHigh<Register>()); in VisitAdd()
2788 __ addl(first.AsRegisterPairLow<Register>(), Address(ESP, second.GetStackIndex())); in VisitAdd()
2789 __ adcl(first.AsRegisterPairHigh<Register>(), in VisitAdd()
2794 __ addl(first.AsRegisterPairLow<Register>(), Immediate(Low32Bits(value))); in VisitAdd()
2795 __ adcl(first.AsRegisterPairHigh<Register>(), Immediate(High32Bits(value))); in VisitAdd()
2802 __ addss(first.AsFpuRegister<XmmRegister>(), second.AsFpuRegister<XmmRegister>()); in VisitAdd()
2806 __ addss(first.AsFpuRegister<XmmRegister>(), in VisitAdd()
2812 __ addss(first.AsFpuRegister<XmmRegister>(), Address(ESP, second.GetStackIndex())); in VisitAdd()
2819 __ addsd(first.AsFpuRegister<XmmRegister>(), second.AsFpuRegister<XmmRegister>()); in VisitAdd()
2823 __ addsd(first.AsFpuRegister<XmmRegister>(), in VisitAdd()
2829 __ addsd(first.AsFpuRegister<XmmRegister>(), Address(ESP, second.GetStackIndex())); in VisitAdd()
2877 __ subl(first.AsRegister<Register>(), second.AsRegister<Register>()); in VisitSub()
2879 __ subl(first.AsRegister<Register>(), in VisitSub()
2882 __ subl(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in VisitSub()
2889 __ subl(first.AsRegisterPairLow<Register>(), second.AsRegisterPairLow<Register>()); in VisitSub()
2890 __ sbbl(first.AsRegisterPairHigh<Register>(), second.AsRegisterPairHigh<Register>()); in VisitSub()
2892 __ subl(first.AsRegisterPairLow<Register>(), Address(ESP, second.GetStackIndex())); in VisitSub()
2893 __ sbbl(first.AsRegisterPairHigh<Register>(), in VisitSub()
2898 __ subl(first.AsRegisterPairLow<Register>(), Immediate(Low32Bits(value))); in VisitSub()
2899 __ sbbl(first.AsRegisterPairHigh<Register>(), Immediate(High32Bits(value))); in VisitSub()
2906 __ subss(first.AsFpuRegister<XmmRegister>(), second.AsFpuRegister<XmmRegister>()); in VisitSub()
2910 __ subss(first.AsFpuRegister<XmmRegister>(), in VisitSub()
2916 __ subss(first.AsFpuRegister<XmmRegister>(), Address(ESP, second.GetStackIndex())); in VisitSub()
2923 __ subsd(first.AsFpuRegister<XmmRegister>(), second.AsFpuRegister<XmmRegister>()); in VisitSub()
2927 __ subsd(first.AsFpuRegister<XmmRegister>(), in VisitSub()
2933 __ subsd(first.AsFpuRegister<XmmRegister>(), Address(ESP, second.GetStackIndex())); in VisitSub()
2997 __ imull(out.AsRegister<Register>(), first.AsRegister<Register>(), imm); in VisitMul()
3000 __ imull(first.AsRegister<Register>(), second.AsRegister<Register>()); in VisitMul()
3004 __ imull(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in VisitMul()
3031 __ movl(eax, high); in VisitMul()
3033 __ imull(eax, in1_lo); in VisitMul()
3035 __ imull(in1_hi, low); in VisitMul()
3037 __ addl(in1_hi, eax); in VisitMul()
3039 __ movl(eax, low); in VisitMul()
3041 __ mull(in1_lo); in VisitMul()
3043 __ addl(in1_hi, edx); in VisitMul()
3045 __ movl(in1_lo, eax); in VisitMul()
3050 __ movl(eax, in2_hi); in VisitMul()
3052 __ imull(eax, in1_lo); in VisitMul()
3054 __ imull(in1_hi, in2_lo); in VisitMul()
3056 __ addl(in1_hi, eax); in VisitMul()
3058 __ movl(eax, in1_lo); in VisitMul()
3060 __ mull(in2_lo); in VisitMul()
3062 __ addl(in1_hi, edx); in VisitMul()
3064 __ movl(in1_lo, eax); in VisitMul()
3070 __ movl(eax, in2_hi); in VisitMul()
3072 __ imull(eax, in1_lo); in VisitMul()
3074 __ imull(in1_hi, in2_lo); in VisitMul()
3076 __ addl(in1_hi, eax); in VisitMul()
3078 __ movl(eax, in1_lo); in VisitMul()
3080 __ mull(in2_lo); in VisitMul()
3082 __ addl(in1_hi, edx); in VisitMul()
3084 __ movl(in1_lo, eax); in VisitMul()
3093 __ mulss(first.AsFpuRegister<XmmRegister>(), second.AsFpuRegister<XmmRegister>()); in VisitMul()
3097 __ mulss(first.AsFpuRegister<XmmRegister>(), in VisitMul()
3103 __ mulss(first.AsFpuRegister<XmmRegister>(), Address(ESP, second.GetStackIndex())); in VisitMul()
3111 __ mulsd(first.AsFpuRegister<XmmRegister>(), second.AsFpuRegister<XmmRegister>()); in VisitMul()
3115 __ mulsd(first.AsFpuRegister<XmmRegister>(), in VisitMul()
3121 __ mulsd(first.AsFpuRegister<XmmRegister>(), Address(ESP, second.GetStackIndex())); in VisitMul()
3139 __ flds(Address(ESP, source.GetStackIndex() + stack_adjustment)); in PushOntoFPStack()
3141 __ filds(Address(ESP, source.GetStackIndex() + stack_adjustment)); in PushOntoFPStack()
3146 __ fldl(Address(ESP, source.GetStackIndex() + stack_adjustment)); in PushOntoFPStack()
3148 __ fildl(Address(ESP, source.GetStackIndex() + stack_adjustment)); in PushOntoFPStack()
3156 __ flds(Address(ESP, temp_offset)); in PushOntoFPStack()
3158 __ filds(Address(ESP, temp_offset)); in PushOntoFPStack()
3164 __ fldl(Address(ESP, temp_offset)); in PushOntoFPStack()
3166 __ fildl(Address(ESP, temp_offset)); in PushOntoFPStack()
3183 __ subl(ESP, Immediate(2 * elem_size)); in GenerateRemFP()
3192 __ Bind(&retry); in GenerateRemFP()
3193 __ fprem(); in GenerateRemFP()
3196 __ fstsw(); in GenerateRemFP()
3200 __ andl(EAX, Immediate(kC2ConditionMask)); in GenerateRemFP()
3201 __ j(kNotEqual, &retry); in GenerateRemFP()
3206 __ fsts(Address(ESP, 0)); in GenerateRemFP()
3208 __ fstl(Address(ESP, 0)); in GenerateRemFP()
3212 __ fucompp(); in GenerateRemFP()
3217 __ movss(out.AsFpuRegister<XmmRegister>(), Address(ESP, 0)); in GenerateRemFP()
3219 __ movsd(out.AsFpuRegister<XmmRegister>(), Address(ESP, 0)); in GenerateRemFP()
3223 __ addl(ESP, Immediate(2 * elem_size)); in GenerateRemFP()
3241 __ xorl(out_register, out_register); in DivRemOneOrMinusOne()
3243 __ movl(out_register, input_register); in DivRemOneOrMinusOne()
3245 __ negl(out_register); in DivRemOneOrMinusOne()
3262 __ leal(num, Address(input_register, abs_imm - 1)); in DivByPowerOfTwo()
3263 __ testl(input_register, input_register); in DivByPowerOfTwo()
3264 __ cmovl(kGreaterEqual, num, input_register); in DivByPowerOfTwo()
3266 __ sarl(num, Immediate(shift)); in DivByPowerOfTwo()
3269 __ negl(num); in DivByPowerOfTwo()
3272 __ movl(out_register, num); in DivByPowerOfTwo()
3309 __ testl(eax, eax); in GenerateDivRemWithAnyConstant()
3310 __ j(kNotEqual, &ndiv); in GenerateDivRemWithAnyConstant()
3312 __ xorl(out, out); in GenerateDivRemWithAnyConstant()
3313 __ jmp(&end); in GenerateDivRemWithAnyConstant()
3315 __ Bind(&ndiv); in GenerateDivRemWithAnyConstant()
3318 __ movl(num, eax); in GenerateDivRemWithAnyConstant()
3321 __ movl(eax, Immediate(magic)); in GenerateDivRemWithAnyConstant()
3324 __ imull(num); in GenerateDivRemWithAnyConstant()
3328 __ addl(edx, num); in GenerateDivRemWithAnyConstant()
3330 __ subl(edx, num); in GenerateDivRemWithAnyConstant()
3335 __ sarl(edx, Immediate(shift)); in GenerateDivRemWithAnyConstant()
3339 __ movl(eax, edx); in GenerateDivRemWithAnyConstant()
3340 __ shrl(edx, Immediate(31)); in GenerateDivRemWithAnyConstant()
3341 __ addl(edx, eax); in GenerateDivRemWithAnyConstant()
3344 __ movl(eax, num); in GenerateDivRemWithAnyConstant()
3345 __ imull(edx, Immediate(imm)); in GenerateDivRemWithAnyConstant()
3346 __ subl(eax, edx); in GenerateDivRemWithAnyConstant()
3347 __ movl(edx, eax); in GenerateDivRemWithAnyConstant()
3349 __ movl(eax, edx); in GenerateDivRemWithAnyConstant()
3351 __ Bind(&end); in GenerateDivRemWithAnyConstant()
3391 __ cmpl(second_reg, Immediate(-1)); in GenerateDivRemIntegral()
3392 __ j(kEqual, slow_path->GetEntryLabel()); in GenerateDivRemIntegral()
3395 __ cdq(); in GenerateDivRemIntegral()
3397 __ idivl(second_reg); in GenerateDivRemIntegral()
3398 __ Bind(slow_path->GetExitLabel()); in GenerateDivRemIntegral()
3497 __ divss(first.AsFpuRegister<XmmRegister>(), second.AsFpuRegister<XmmRegister>()); in VisitDiv()
3501 __ divss(first.AsFpuRegister<XmmRegister>(), in VisitDiv()
3507 __ divss(first.AsFpuRegister<XmmRegister>(), Address(ESP, second.GetStackIndex())); in VisitDiv()
3514 __ divsd(first.AsFpuRegister<XmmRegister>(), second.AsFpuRegister<XmmRegister>()); in VisitDiv()
3518 __ divsd(first.AsFpuRegister<XmmRegister>(), in VisitDiv()
3524 __ divsd(first.AsFpuRegister<XmmRegister>(), Address(ESP, second.GetStackIndex())); in VisitDiv()
3640 __ testl(value.AsRegister<Register>(), value.AsRegister<Register>()); in VisitDivZeroCheck()
3641 __ j(kEqual, slow_path->GetEntryLabel()); in VisitDivZeroCheck()
3643 __ cmpl(Address(ESP, value.GetStackIndex()), Immediate(0)); in VisitDivZeroCheck()
3644 __ j(kEqual, slow_path->GetEntryLabel()); in VisitDivZeroCheck()
3648 __ jmp(slow_path->GetEntryLabel()); in VisitDivZeroCheck()
3656 __ movl(temp, value.AsRegisterPairLow<Register>()); in VisitDivZeroCheck()
3657 __ orl(temp, value.AsRegisterPairHigh<Register>()); in VisitDivZeroCheck()
3658 __ j(kEqual, slow_path->GetEntryLabel()); in VisitDivZeroCheck()
3662 __ jmp(slow_path->GetEntryLabel()); in VisitDivZeroCheck()
3709 __ shll(first_reg, second_reg); in HandleShift()
3711 __ sarl(first_reg, second_reg); in HandleShift()
3713 __ shrl(first_reg, second_reg); in HandleShift()
3722 __ shll(first_reg, imm); in HandleShift()
3724 __ sarl(first_reg, imm); in HandleShift()
3726 __ shrl(first_reg, imm); in HandleShift()
3768 __ addl(low, low); in GenerateShlLong()
3769 __ adcl(high, high); in GenerateShlLong()
3781 __ movl(high, low); in GenerateShlLong()
3782 __ shll(high, Immediate(shift - 32)); in GenerateShlLong()
3783 __ xorl(low, low); in GenerateShlLong()
3786 __ shld(high, low, Immediate(shift)); in GenerateShlLong()
3787 __ shll(low, Immediate(shift)); in GenerateShlLong()
3793 __ shld(loc.AsRegisterPairHigh<Register>(), loc.AsRegisterPairLow<Register>(), shifter); in GenerateShlLong()
3794 __ shll(loc.AsRegisterPairLow<Register>(), shifter); in GenerateShlLong()
3795 __ testl(shifter, Immediate(32)); in GenerateShlLong()
3796 __ j(kEqual, &done); in GenerateShlLong()
3797 __ movl(loc.AsRegisterPairHigh<Register>(), loc.AsRegisterPairLow<Register>()); in GenerateShlLong()
3798 __ movl(loc.AsRegisterPairLow<Register>(), Immediate(0)); in GenerateShlLong()
3799 __ Bind(&done); in GenerateShlLong()
3808 __ movl(low, high); in GenerateShrLong()
3809 __ sarl(high, Immediate(31)); in GenerateShrLong()
3813 __ movl(low, high); in GenerateShrLong()
3814 __ sarl(high, Immediate(31)); in GenerateShrLong()
3815 __ sarl(low, Immediate(shift - 32)); in GenerateShrLong()
3818 __ shrd(low, high, Immediate(shift)); in GenerateShrLong()
3819 __ sarl(high, Immediate(shift)); in GenerateShrLong()
3825 __ shrd(loc.AsRegisterPairLow<Register>(), loc.AsRegisterPairHigh<Register>(), shifter); in GenerateShrLong()
3826 __ sarl(loc.AsRegisterPairHigh<Register>(), shifter); in GenerateShrLong()
3827 __ testl(shifter, Immediate(32)); in GenerateShrLong()
3828 __ j(kEqual, &done); in GenerateShrLong()
3829 __ movl(loc.AsRegisterPairLow<Register>(), loc.AsRegisterPairHigh<Register>()); in GenerateShrLong()
3830 __ sarl(loc.AsRegisterPairHigh<Register>(), Immediate(31)); in GenerateShrLong()
3831 __ Bind(&done); in GenerateShrLong()
3848 __ movl(low, high); in GenerateUShrLong()
3849 __ shrl(low, Immediate(shift - 32)); in GenerateUShrLong()
3850 __ xorl(high, high); in GenerateUShrLong()
3853 __ shrd(low, high, Immediate(shift)); in GenerateUShrLong()
3854 __ shrl(high, Immediate(shift)); in GenerateUShrLong()
3860 __ shrd(loc.AsRegisterPairLow<Register>(), loc.AsRegisterPairHigh<Register>(), shifter); in GenerateUShrLong()
3861 __ shrl(loc.AsRegisterPairHigh<Register>(), shifter); in GenerateUShrLong()
3862 __ testl(shifter, Immediate(32)); in GenerateUShrLong()
3863 __ j(kEqual, &done); in GenerateUShrLong()
3864 __ movl(loc.AsRegisterPairLow<Register>(), loc.AsRegisterPairHigh<Register>()); in GenerateUShrLong()
3865 __ movl(loc.AsRegisterPairHigh<Register>(), Immediate(0)); in GenerateUShrLong()
3866 __ Bind(&done); in GenerateUShrLong()
3899 __ rorl(first_reg, second_reg); in VisitRor()
3902 __ rorl(first_reg, imm); in VisitRor()
3914 __ movl(temp_reg, first_reg_hi); in VisitRor()
3915 __ shrd(first_reg_hi, first_reg_lo, second_reg); in VisitRor()
3916 __ shrd(first_reg_lo, temp_reg, second_reg); in VisitRor()
3917 __ movl(temp_reg, first_reg_hi); in VisitRor()
3918 __ testl(second_reg, Immediate(32)); in VisitRor()
3919 __ cmovl(kNotEqual, first_reg_hi, first_reg_lo); in VisitRor()
3920 __ cmovl(kNotEqual, first_reg_lo, temp_reg); in VisitRor()
3929 __ movl(temp_reg, first_reg_lo); in VisitRor()
3930 __ movl(first_reg_lo, first_reg_hi); in VisitRor()
3931 __ movl(first_reg_hi, temp_reg); in VisitRor()
3937 __ movl(temp_reg, first_reg_lo); in VisitRor()
3940 __ shrd(first_reg_lo, first_reg_hi, imm); in VisitRor()
3943 __ shrd(first_reg_hi, temp_reg, imm); in VisitRor()
3947 __ movl(temp_reg, first_reg_lo); in VisitRor()
3948 __ movl(first_reg_lo, first_reg_hi); in VisitRor()
3949 __ movl(first_reg_hi, temp_reg); in VisitRor()
3998 __ fs()->movl(temp, Address::Absolute(QUICK_ENTRY_POINT(pNewEmptyString))); in VisitNewInstance()
3999 __ call(Address(temp, code_offset.Int32Value())); in VisitNewInstance()
4023 __ movl(calling_convention.GetRegisterAt(0), Immediate(instruction->GetTypeIndex())); in VisitNewArray()
4076 __ movl(locations->Out().AsRegister<Register>(), in VisitClassTableGet()
4094 __ notl(out.AsRegister<Register>()); in VisitNot()
4098 __ notl(out.AsRegisterPairLow<Register>()); in VisitNot()
4099 __ notl(out.AsRegisterPairHigh<Register>()); in VisitNot()
4119 __ xorl(out.AsRegister<Register>(), Immediate(1)); in VisitBooleanNot()
4189 __ cmpl(left_high, right.AsRegisterPairHigh<Register>()); in VisitCompare()
4191 __ cmpl(left_high, Address(ESP, right.GetHighStackIndex(kX86WordSize))); in VisitCompare()
4196 __ j(kLess, &less); // Signed compare. in VisitCompare()
4197 __ j(kGreater, &greater); // Signed compare. in VisitCompare()
4199 __ cmpl(left_low, right.AsRegisterPairLow<Register>()); in VisitCompare()
4201 __ cmpl(left_low, Address(ESP, right.GetStackIndex())); in VisitCompare()
4211 __ j(kUnordered, compare->IsGtBias() ? &greater : &less); in VisitCompare()
4217 __ j(kUnordered, compare->IsGtBias() ? &greater : &less); in VisitCompare()
4225 __ movl(out, Immediate(0)); in VisitCompare()
4226 __ j(kEqual, &done); in VisitCompare()
4227 __ j(less_cond, &less); in VisitCompare()
4229 __ Bind(&greater); in VisitCompare()
4230 __ movl(out, Immediate(1)); in VisitCompare()
4231 __ jmp(&done); in VisitCompare()
4233 __ Bind(&less); in VisitCompare()
4234 __ movl(out, Immediate(-1)); in VisitCompare()
4236 __ Bind(&done); in VisitCompare()
4313 __ movl(temp, Address(ESP, location.GetStackIndex())); in GetInvokeStaticOrDirectExtraParameter()
4324 __ movl(temp, Address(ESP, stack_offset)); in GetInvokeStaticOrDirectExtraParameter()
4335 __ fs()->movl(temp.AsRegister<Register>(), Address::Absolute(invoke->GetStringInitOffset())); in GenerateStaticOrDirectCall()
4341 __ movl(temp.AsRegister<Register>(), Immediate(invoke->GetMethodAddress())); in GenerateStaticOrDirectCall()
4344 __ movl(temp.AsRegister<Register>(), Immediate(/* placeholder */ 0)); in GenerateStaticOrDirectCall()
4346 __ Bind(&method_patches_.back().label); // Bind the label at the end of the "movl" insn. in GenerateStaticOrDirectCall()
4351 __ movl(temp.AsRegister<Register>(), Address(base_reg, kDummy32BitOffset)); in GenerateStaticOrDirectCall()
4354 __ Bind(NewPcRelativeDexCacheArrayPatch(*invoke->GetTargetMethod().dex_file, offset)); in GenerateStaticOrDirectCall()
4367 __ movl(reg, Address(ESP, kCurrentMethodStackOffset)); in GenerateStaticOrDirectCall()
4370 __ movl(reg, Address(method_reg, in GenerateStaticOrDirectCall()
4375 __ movl(reg, Address(reg, CodeGenerator::GetCachePointerOffset(index_in_cache))); in GenerateStaticOrDirectCall()
4382 __ call(GetFrameEntryLabel()); in GenerateStaticOrDirectCall()
4387 __ call(label); // Bind to the patch label, override at link time. in GenerateStaticOrDirectCall()
4388 __ Bind(label); // Bind the label at the end of the "call" insn. in GenerateStaticOrDirectCall()
4398 __ call(Address(callee_method.AsRegister<Register>(), in GenerateStaticOrDirectCall()
4420 __ movl(temp, Address(receiver, class_offset)); in GenerateVirtualCall()
4429 __ MaybeUnpoisonHeapReference(temp); in GenerateVirtualCall()
4431 __ movl(temp, Address(temp, method_offset)); in GenerateVirtualCall()
4433 __ call(Address( in GenerateVirtualCall()
4440 __ Bind(&simple_patches_.back()); in RecordSimplePatch()
4446 __ Bind(&string_patches_.back().label); in RecordStringPatch()
4516 __ testl(value, value); in MarkGCCard()
4517 __ j(kEqual, &is_null); in MarkGCCard()
4519 __ fs()->movl(card, Address::Absolute(Thread::CardTableOffset<kX86WordSize>().Int32Value())); in MarkGCCard()
4520 __ movl(temp, object); in MarkGCCard()
4521 __ shrl(temp, Immediate(gc::accounting::CardTable::kCardShift)); in MarkGCCard()
4522 __ movb(Address(temp, card, TIMES_1, 0), in MarkGCCard()
4525 __ Bind(&is_null); in MarkGCCard()
4583 __ movzxb(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
4588 __ movsxb(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
4593 __ movsxw(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
4598 __ movzxw(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
4603 __ movl(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
4618 __ movl(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
4634 __ movsd(temp, Address(base, offset)); in HandleFieldGet()
4636 __ movd(out.AsRegisterPairLow<Register>(), temp); in HandleFieldGet()
4637 __ psrlq(temp, Immediate(32)); in HandleFieldGet()
4638 __ movd(out.AsRegisterPairHigh<Register>(), temp); in HandleFieldGet()
4641 __ movl(out.AsRegisterPairLow<Register>(), Address(base, offset)); in HandleFieldGet()
4643 __ movl(out.AsRegisterPairHigh<Register>(), Address(base, kX86WordSize + offset)); in HandleFieldGet()
4649 __ movss(out.AsFpuRegister<XmmRegister>(), Address(base, offset)); in HandleFieldGet()
4654 __ movsd(out.AsFpuRegister<XmmRegister>(), Address(base, offset)); in HandleFieldGet()
4749 __ movb(Address(base, offset), value.AsRegister<ByteRegister>()); in HandleFieldSet()
4757 __ movw(Address(base, offset), Immediate(v)); in HandleFieldSet()
4759 __ movw(Address(base, offset), value.AsRegister<Register>()); in HandleFieldSet()
4772 __ movl(temp, value.AsRegister<Register>()); in HandleFieldSet()
4773 __ PoisonHeapReference(temp); in HandleFieldSet()
4774 __ movl(Address(base, offset), temp); in HandleFieldSet()
4777 __ movl(Address(base, offset), Immediate(v)); in HandleFieldSet()
4780 __ movl(Address(base, offset), value.AsRegister<Register>()); in HandleFieldSet()
4789 __ movd(temp1, value.AsRegisterPairLow<Register>()); in HandleFieldSet()
4790 __ movd(temp2, value.AsRegisterPairHigh<Register>()); in HandleFieldSet()
4791 __ punpckldq(temp1, temp2); in HandleFieldSet()
4792 __ movsd(Address(base, offset), temp1); in HandleFieldSet()
4796 __ movl(Address(base, offset), Immediate(Low32Bits(v))); in HandleFieldSet()
4798 __ movl(Address(base, kX86WordSize + offset), Immediate(High32Bits(v))); in HandleFieldSet()
4800 __ movl(Address(base, offset), value.AsRegisterPairLow<Register>()); in HandleFieldSet()
4802 __ movl(Address(base, kX86WordSize + offset), value.AsRegisterPairHigh<Register>()); in HandleFieldSet()
4811 __ movl(Address(base, offset), Immediate(v)); in HandleFieldSet()
4813 __ movss(Address(base, offset), value.AsFpuRegister<XmmRegister>()); in HandleFieldSet()
4821 __ movl(Address(base, offset), Immediate(Low32Bits(v))); in HandleFieldSet()
4823 __ movl(Address(base, kX86WordSize + offset), Immediate(High32Bits(v))); in HandleFieldSet()
4826 __ movsd(Address(base, offset), value.AsFpuRegister<XmmRegister>()); in HandleFieldSet()
4972 __ testl(EAX, Address(obj.AsRegister<Register>(), 0)); in GenerateImplicitNullCheck()
4984 __ testl(obj.AsRegister<Register>(), obj.AsRegister<Register>()); in GenerateExplicitNullCheck()
4986 __ cmpl(Address(ESP, obj.GetStackIndex()), Immediate(0)); in GenerateExplicitNullCheck()
4990 __ jmp(slow_path->GetEntryLabel()); in GenerateExplicitNullCheck()
4993 __ j(kEqual, slow_path->GetEntryLabel()); in GenerateExplicitNullCheck()
5044 __ movzxb(out, Address(obj, in VisitArrayGet()
5047 __ movzxb(out, Address(obj, index.AsRegister<Register>(), TIMES_1, data_offset)); in VisitArrayGet()
5056 __ movsxb(out, Address(obj, in VisitArrayGet()
5059 __ movsxb(out, Address(obj, index.AsRegister<Register>(), TIMES_1, data_offset)); in VisitArrayGet()
5068 __ movsxw(out, Address(obj, in VisitArrayGet()
5071 __ movsxw(out, Address(obj, index.AsRegister<Register>(), TIMES_2, data_offset)); in VisitArrayGet()
5080 __ movzxw(out, Address(obj, in VisitArrayGet()
5083 __ movzxw(out, Address(obj, index.AsRegister<Register>(), TIMES_2, data_offset)); in VisitArrayGet()
5092 __ movl(out, Address(obj, in VisitArrayGet()
5095 __ movl(out, Address(obj, index.AsRegister<Register>(), TIMES_4, data_offset)); in VisitArrayGet()
5118 __ movl(out, Address(obj, offset)); in VisitArrayGet()
5125 __ movl(out, Address(obj, index.AsRegister<Register>(), TIMES_4, data_offset)); in VisitArrayGet()
5142 __ movl(out_loc.AsRegisterPairLow<Register>(), Address(obj, offset)); in VisitArrayGet()
5144 __ movl(out_loc.AsRegisterPairHigh<Register>(), Address(obj, offset + kX86WordSize)); in VisitArrayGet()
5146 __ movl(out_loc.AsRegisterPairLow<Register>(), in VisitArrayGet()
5149 __ movl(out_loc.AsRegisterPairHigh<Register>(), in VisitArrayGet()
5159 __ movss(out, Address(obj, in VisitArrayGet()
5162 __ movss(out, Address(obj, index.AsRegister<Register>(), TIMES_4, data_offset)); in VisitArrayGet()
5171 __ movsd(out, Address(obj, in VisitArrayGet()
5174 __ movsd(out, Address(obj, index.AsRegister<Register>(), TIMES_8, data_offset)); in VisitArrayGet()
5252 __ movb(address, value.AsRegister<ByteRegister>()); in VisitArraySet()
5254 __ movb(address, Immediate(value.GetConstant()->AsIntConstant()->GetValue())); in VisitArraySet()
5267 __ movw(address, value.AsRegister<Register>()); in VisitArraySet()
5269 __ movw(address, Immediate(value.GetConstant()->AsIntConstant()->GetValue())); in VisitArraySet()
5285 __ movl(address, Immediate(0)); in VisitArraySet()
5301 __ testl(register_value, register_value); in VisitArraySet()
5302 __ j(kNotEqual, ¬_null); in VisitArraySet()
5303 __ movl(address, Immediate(0)); in VisitArraySet()
5305 __ jmp(&done); in VisitArraySet()
5306 __ Bind(¬_null); in VisitArraySet()
5335 __ jmp(slow_path->GetEntryLabel()); in VisitArraySet()
5338 __ movl(temp, Address(array, class_offset)); in VisitArraySet()
5340 __ MaybeUnpoisonHeapReference(temp); in VisitArraySet()
5343 __ movl(temp, Address(temp, component_offset)); in VisitArraySet()
5347 __ cmpl(temp, Address(register_value, class_offset)); in VisitArraySet()
5350 __ j(kEqual, &do_put); in VisitArraySet()
5353 __ MaybeUnpoisonHeapReference(temp); in VisitArraySet()
5356 __ movl(temp, Address(temp, super_offset)); in VisitArraySet()
5359 __ testl(temp, temp); in VisitArraySet()
5360 __ j(kNotEqual, slow_path->GetEntryLabel()); in VisitArraySet()
5361 __ Bind(&do_put); in VisitArraySet()
5363 __ j(kNotEqual, slow_path->GetEntryLabel()); in VisitArraySet()
5369 __ movl(temp, register_value); in VisitArraySet()
5370 __ PoisonHeapReference(temp); in VisitArraySet()
5371 __ movl(address, temp); in VisitArraySet()
5373 __ movl(address, register_value); in VisitArraySet()
5382 __ Bind(&done); in VisitArraySet()
5385 __ Bind(slow_path->GetExitLabel()); in VisitArraySet()
5397 __ movl(address, value.AsRegister<Register>()); in VisitArraySet()
5401 __ movl(address, Immediate(v)); in VisitArraySet()
5412 __ movl(Address(array, offset), value.AsRegisterPairLow<Register>()); in VisitArraySet()
5414 __ movl(Address(array, offset + kX86WordSize), value.AsRegisterPairHigh<Register>()); in VisitArraySet()
5418 __ movl(Address(array, offset), Immediate(Low32Bits(val))); in VisitArraySet()
5420 __ movl(Address(array, offset + kX86WordSize), Immediate(High32Bits(val))); in VisitArraySet()
5424 __ movl(Address(array, index.AsRegister<Register>(), TIMES_8, data_offset), in VisitArraySet()
5427 __ movl(Address(array, index.AsRegister<Register>(), TIMES_8, data_offset + kX86WordSize), in VisitArraySet()
5432 __ movl(Address(array, index.AsRegister<Register>(), TIMES_8, data_offset), in VisitArraySet()
5435 __ movl(Address(array, index.AsRegister<Register>(), TIMES_8, data_offset + kX86WordSize), in VisitArraySet()
5448 __ movss(address, value.AsFpuRegister<XmmRegister>()); in VisitArraySet()
5452 __ movl(address, Immediate(v)); in VisitArraySet()
5464 __ movsd(address, value.AsFpuRegister<XmmRegister>()); in VisitArraySet()
5472 __ movl(address, Immediate(Low32Bits(v))); in VisitArraySet()
5474 __ movl(address_hi, Immediate(High32Bits(v))); in VisitArraySet()
5496 __ movl(out, Address(obj, offset)); in VisitArrayLength()
5526 __ jmp(slow_path->GetEntryLabel()); in VisitBoundsCheck()
5536 __ cmpl(index_reg, Immediate(length)); in VisitBoundsCheck()
5538 __ j(kAboveEqual, slow_path->GetEntryLabel()); in VisitBoundsCheck()
5543 __ cmpl(length, Immediate(value)); in VisitBoundsCheck()
5545 __ cmpl(length, index_loc.AsRegister<Register>()); in VisitBoundsCheck()
5548 __ j(kBelowEqual, slow_path->GetEntryLabel()); in VisitBoundsCheck()
5594 __ fs()->cmpw(Address::Absolute(Thread::ThreadFlagsOffset<kX86WordSize>().Int32Value()), in GenerateSuspendCheck()
5597 __ j(kNotEqual, slow_path->GetEntryLabel()); in GenerateSuspendCheck()
5598 __ Bind(slow_path->GetReturnLabel()); in GenerateSuspendCheck()
5600 __ j(kEqual, codegen_->GetLabelOf(successor)); in GenerateSuspendCheck()
5601 __ jmp(slow_path->GetEntryLabel()); in GenerateSuspendCheck()
5614 __ movl(temp_reg, Address(ESP, src + stack_offset)); in MoveMemoryToMemory32()
5615 __ movl(Address(ESP, dst + stack_offset), temp_reg); in MoveMemoryToMemory32()
5623 __ movl(temp_reg, Address(ESP, src + stack_offset)); in MoveMemoryToMemory64()
5624 __ movl(Address(ESP, dst + stack_offset), temp_reg); in MoveMemoryToMemory64()
5625 __ movl(temp_reg, Address(ESP, src + stack_offset + kX86WordSize)); in MoveMemoryToMemory64()
5626 __ movl(Address(ESP, dst + stack_offset + kX86WordSize), temp_reg); in MoveMemoryToMemory64()
5636 __ movl(destination.AsRegister<Register>(), source.AsRegister<Register>()); in EmitMove()
5638 __ movd(destination.AsFpuRegister<XmmRegister>(), source.AsRegister<Register>()); in EmitMove()
5641 __ movl(Address(ESP, destination.GetStackIndex()), source.AsRegister<Register>()); in EmitMove()
5646 __ subl(ESP, Immediate(2 * elem_size)); in EmitMove()
5647 __ movl(Address(ESP, 0), source.AsRegisterPairLow<Register>()); in EmitMove()
5648 __ movl(Address(ESP, elem_size), source.AsRegisterPairHigh<Register>()); in EmitMove()
5649 __ movsd(destination.AsFpuRegister<XmmRegister>(), Address(ESP, 0)); in EmitMove()
5651 __ addl(ESP, Immediate(2 * elem_size)); in EmitMove()
5654 __ movd(destination.AsRegister<Register>(), source.AsFpuRegister<XmmRegister>()); in EmitMove()
5656 __ movaps(destination.AsFpuRegister<XmmRegister>(), source.AsFpuRegister<XmmRegister>()); in EmitMove()
5659 __ movd(destination.AsRegisterPairLow<Register>(), src_reg); in EmitMove()
5660 __ psrlq(src_reg, Immediate(32)); in EmitMove()
5661 __ movd(destination.AsRegisterPairHigh<Register>(), src_reg); in EmitMove()
5663 __ movss(Address(ESP, destination.GetStackIndex()), source.AsFpuRegister<XmmRegister>()); in EmitMove()
5666 __ movsd(Address(ESP, destination.GetStackIndex()), source.AsFpuRegister<XmmRegister>()); in EmitMove()
5670 __ movl(destination.AsRegister<Register>(), Address(ESP, source.GetStackIndex())); in EmitMove()
5672 __ movss(destination.AsFpuRegister<XmmRegister>(), Address(ESP, source.GetStackIndex())); in EmitMove()
5679 __ movl(destination.AsRegisterPairLow<Register>(), Address(ESP, source.GetStackIndex())); in EmitMove()
5680 __ movl(destination.AsRegisterPairHigh<Register>(), in EmitMove()
5683 __ movsd(destination.AsFpuRegister<XmmRegister>(), Address(ESP, source.GetStackIndex())); in EmitMove()
5694 __ xorl(destination.AsRegister<Register>(), destination.AsRegister<Register>()); in EmitMove()
5696 __ movl(destination.AsRegister<Register>(), Immediate(value)); in EmitMove()
5700 __ movl(Address(ESP, destination.GetStackIndex()), Immediate(value)); in EmitMove()
5710 __ xorps(dest, dest); in EmitMove()
5715 __ movl(temp, Immediate(value)); in EmitMove()
5716 __ movd(dest, temp); in EmitMove()
5720 __ movl(Address(ESP, destination.GetStackIndex()), imm); in EmitMove()
5729 __ movl(Address(ESP, destination.GetStackIndex()), low); in EmitMove()
5730 __ movl(Address(ESP, destination.GetHighStackIndex(kX86WordSize)), high); in EmitMove()
5732 __ movl(destination.AsRegisterPairLow<Register>(), low); in EmitMove()
5733 __ movl(destination.AsRegisterPairHigh<Register>(), high); in EmitMove()
5747 __ xorpd(dest, dest); in EmitMove()
5749 __ pushl(high); in EmitMove()
5750 __ pushl(low); in EmitMove()
5751 __ movsd(dest, Address(ESP, 0)); in EmitMove()
5752 __ addl(ESP, Immediate(8)); in EmitMove()
5756 __ movl(Address(ESP, destination.GetStackIndex()), low); in EmitMove()
5757 __ movl(Address(ESP, destination.GetHighStackIndex(kX86WordSize)), high); in EmitMove()
5771 __ movl(static_cast<Register>(ensure_scratch.GetRegister()), Address(ESP, mem + stack_offset)); in Exchange()
5772 __ movl(Address(ESP, mem + stack_offset), reg); in Exchange()
5773 __ movl(reg, static_cast<Register>(ensure_scratch.GetRegister())); in Exchange()
5782 __ movl(temp_reg, Address(ESP, mem + stack_offset)); in Exchange32()
5783 __ movss(Address(ESP, mem + stack_offset), reg); in Exchange32()
5784 __ movd(reg, temp_reg); in Exchange32()
5797 __ movl(static_cast<Register>(ensure_scratch1.GetRegister()), Address(ESP, mem1 + stack_offset)); in Exchange()
5798 __ movl(static_cast<Register>(ensure_scratch2.GetRegister()), Address(ESP, mem2 + stack_offset)); in Exchange()
5799 __ movl(Address(ESP, mem2 + stack_offset), static_cast<Register>(ensure_scratch1.GetRegister())); in Exchange()
5800 __ movl(Address(ESP, mem1 + stack_offset), static_cast<Register>(ensure_scratch2.GetRegister())); in Exchange()
5811 __ xorl(destination.AsRegister<Register>(), source.AsRegister<Register>()); in EmitSwap()
5812 __ xorl(source.AsRegister<Register>(), destination.AsRegister<Register>()); in EmitSwap()
5813 __ xorl(destination.AsRegister<Register>(), source.AsRegister<Register>()); in EmitSwap()
5823 __ xorpd(destination.AsFpuRegister<XmmRegister>(), source.AsFpuRegister<XmmRegister>()); in EmitSwap()
5824 __ xorpd(source.AsFpuRegister<XmmRegister>(), destination.AsFpuRegister<XmmRegister>()); in EmitSwap()
5825 __ xorpd(destination.AsFpuRegister<XmmRegister>(), source.AsFpuRegister<XmmRegister>()); in EmitSwap()
5835 __ movhpd(reg, stack); in EmitSwap()
5838 __ movsd(stack, reg); in EmitSwap()
5841 __ psrldq(reg, Immediate(8)); in EmitSwap()
5847 __ movhpd(reg, stack); in EmitSwap()
5850 __ movsd(stack, reg); in EmitSwap()
5853 __ psrldq(reg, Immediate(8)); in EmitSwap()
5863 __ pushl(static_cast<Register>(reg)); in SpillScratch()
5867 __ popl(static_cast<Register>(reg)); in RestoreScratch()
5904 __ movl(out, Address(current_method, in VisitLoadClass()
5917 __ testl(out, out); in VisitLoadClass()
5918 __ j(kEqual, slow_path->GetEntryLabel()); in VisitLoadClass()
5924 __ Bind(slow_path->GetExitLabel()); in VisitLoadClass()
5950 __ cmpl(Address(class_reg, mirror::Class::StatusOffset().Int32Value()), in GenerateClassInitializationCheck()
5952 __ j(kLess, slow_path->GetEntryLabel()); in GenerateClassInitializationCheck()
5953 __ Bind(slow_path->GetExitLabel()); in GenerateClassInitializationCheck()
6020 __ movl(out, Immediate(/* placeholder */ 0)); in VisitLoadString()
6027 __ leal(out, Address(method_address, CodeGeneratorX86::kDummy32BitOffset)); in VisitLoadString()
6035 __ movl(out, Immediate(address)); in VisitLoadString()
6061 __ movl(out, Address(out, mirror::Class::DexCacheStringsOffset().Int32Value())); in VisitLoadString()
6075 __ testl(out, out); in VisitLoadString()
6076 __ j(kEqual, slow_path->GetEntryLabel()); in VisitLoadString()
6077 __ Bind(slow_path->GetExitLabel()); in VisitLoadString()
6092 __ fs()->movl(load->GetLocations()->Out().AsRegister<Register>(), GetExceptionTlsAddress()); in VisitLoadException()
6100 __ fs()->movl(GetExceptionTlsAddress(), Immediate(0)); in VisitClearException()
6177 __ testl(obj, obj); in VisitInstanceOf()
6178 __ j(kEqual, &zero); in VisitInstanceOf()
6187 __ cmpl(out, cls.AsRegister<Register>()); in VisitInstanceOf()
6190 __ cmpl(out, Address(ESP, cls.GetStackIndex())); in VisitInstanceOf()
6194 __ j(kNotEqual, &zero); in VisitInstanceOf()
6195 __ movl(out, Immediate(1)); in VisitInstanceOf()
6196 __ jmp(&done); in VisitInstanceOf()
6204 __ Bind(&loop); in VisitInstanceOf()
6207 __ testl(out, out); in VisitInstanceOf()
6209 __ j(kEqual, &done); in VisitInstanceOf()
6211 __ cmpl(out, cls.AsRegister<Register>()); in VisitInstanceOf()
6214 __ cmpl(out, Address(ESP, cls.GetStackIndex())); in VisitInstanceOf()
6216 __ j(kNotEqual, &loop); in VisitInstanceOf()
6217 __ movl(out, Immediate(1)); in VisitInstanceOf()
6219 __ jmp(&done); in VisitInstanceOf()
6227 __ Bind(&loop); in VisitInstanceOf()
6229 __ cmpl(out, cls.AsRegister<Register>()); in VisitInstanceOf()
6232 __ cmpl(out, Address(ESP, cls.GetStackIndex())); in VisitInstanceOf()
6234 __ j(kEqual, &success); in VisitInstanceOf()
6237 __ testl(out, out); in VisitInstanceOf()
6238 __ j(kNotEqual, &loop); in VisitInstanceOf()
6240 __ jmp(&done); in VisitInstanceOf()
6241 __ Bind(&success); in VisitInstanceOf()
6242 __ movl(out, Immediate(1)); in VisitInstanceOf()
6244 __ jmp(&done); in VisitInstanceOf()
6253 __ cmpl(out, cls.AsRegister<Register>()); in VisitInstanceOf()
6256 __ cmpl(out, Address(ESP, cls.GetStackIndex())); in VisitInstanceOf()
6258 __ j(kEqual, &exact_check); in VisitInstanceOf()
6262 __ testl(out, out); in VisitInstanceOf()
6264 __ j(kEqual, &done); in VisitInstanceOf()
6265 __ cmpw(Address(out, primitive_offset), Immediate(Primitive::kPrimNot)); in VisitInstanceOf()
6266 __ j(kNotEqual, &zero); in VisitInstanceOf()
6267 __ Bind(&exact_check); in VisitInstanceOf()
6268 __ movl(out, Immediate(1)); in VisitInstanceOf()
6269 __ jmp(&done); in VisitInstanceOf()
6275 __ cmpl(out, cls.AsRegister<Register>()); in VisitInstanceOf()
6278 __ cmpl(out, Address(ESP, cls.GetStackIndex())); in VisitInstanceOf()
6284 __ j(kNotEqual, slow_path->GetEntryLabel()); in VisitInstanceOf()
6285 __ movl(out, Immediate(1)); in VisitInstanceOf()
6287 __ jmp(&done); in VisitInstanceOf()
6316 __ jmp(slow_path->GetEntryLabel()); in VisitInstanceOf()
6318 __ jmp(&done); in VisitInstanceOf()
6325 __ Bind(&zero); in VisitInstanceOf()
6326 __ xorl(out, out); in VisitInstanceOf()
6330 __ Bind(&done); in VisitInstanceOf()
6334 __ Bind(slow_path->GetExitLabel()); in VisitInstanceOf()
6399 __ testl(obj, obj); in VisitCheckCast()
6400 __ j(kEqual, &done); in VisitCheckCast()
6410 __ cmpl(temp, cls.AsRegister<Register>()); in VisitCheckCast()
6413 __ cmpl(temp, Address(ESP, cls.GetStackIndex())); in VisitCheckCast()
6417 __ j(kNotEqual, type_check_slow_path->GetEntryLabel()); in VisitCheckCast()
6425 __ Bind(&loop); in VisitCheckCast()
6432 __ testl(temp, temp); in VisitCheckCast()
6433 __ j(kNotEqual, &compare_classes); in VisitCheckCast()
6442 __ jmp(type_check_slow_path->GetEntryLabel()); in VisitCheckCast()
6444 __ Bind(&compare_classes); in VisitCheckCast()
6446 __ cmpl(temp, cls.AsRegister<Register>()); in VisitCheckCast()
6449 __ cmpl(temp, Address(ESP, cls.GetStackIndex())); in VisitCheckCast()
6451 __ j(kNotEqual, &loop); in VisitCheckCast()
6458 __ Bind(&loop); in VisitCheckCast()
6460 __ cmpl(temp, cls.AsRegister<Register>()); in VisitCheckCast()
6463 __ cmpl(temp, Address(ESP, cls.GetStackIndex())); in VisitCheckCast()
6465 __ j(kEqual, &done); in VisitCheckCast()
6472 __ testl(temp, temp); in VisitCheckCast()
6473 __ j(kNotEqual, &loop); in VisitCheckCast()
6482 __ jmp(type_check_slow_path->GetEntryLabel()); in VisitCheckCast()
6490 __ cmpl(temp, cls.AsRegister<Register>()); in VisitCheckCast()
6493 __ cmpl(temp, Address(ESP, cls.GetStackIndex())); in VisitCheckCast()
6495 __ j(kEqual, &done); in VisitCheckCast()
6505 __ testl(temp, temp); in VisitCheckCast()
6506 __ j(kNotEqual, &check_non_primitive_component_type); in VisitCheckCast()
6515 __ jmp(type_check_slow_path->GetEntryLabel()); in VisitCheckCast()
6517 __ Bind(&check_non_primitive_component_type); in VisitCheckCast()
6518 __ cmpw(Address(temp, primitive_offset), Immediate(Primitive::kPrimNot)); in VisitCheckCast()
6519 __ j(kEqual, &done); in VisitCheckCast()
6524 __ jmp(type_check_slow_path->GetEntryLabel()); in VisitCheckCast()
6547 __ jmp(type_check_slow_path->GetEntryLabel()); in VisitCheckCast()
6550 __ Bind(&done); in VisitCheckCast()
6552 __ Bind(type_check_slow_path->GetExitLabel()); in VisitCheckCast()
6610 __ andl(first.AsRegister<Register>(), second.AsRegister<Register>()); in HandleBitwiseOperation()
6612 __ orl(first.AsRegister<Register>(), second.AsRegister<Register>()); in HandleBitwiseOperation()
6615 __ xorl(first.AsRegister<Register>(), second.AsRegister<Register>()); in HandleBitwiseOperation()
6619 __ andl(first.AsRegister<Register>(), in HandleBitwiseOperation()
6622 __ orl(first.AsRegister<Register>(), in HandleBitwiseOperation()
6626 __ xorl(first.AsRegister<Register>(), in HandleBitwiseOperation()
6631 __ andl(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
6633 __ orl(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
6636 __ xorl(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
6643 __ andl(first.AsRegisterPairLow<Register>(), second.AsRegisterPairLow<Register>()); in HandleBitwiseOperation()
6644 __ andl(first.AsRegisterPairHigh<Register>(), second.AsRegisterPairHigh<Register>()); in HandleBitwiseOperation()
6646 __ orl(first.AsRegisterPairLow<Register>(), second.AsRegisterPairLow<Register>()); in HandleBitwiseOperation()
6647 __ orl(first.AsRegisterPairHigh<Register>(), second.AsRegisterPairHigh<Register>()); in HandleBitwiseOperation()
6650 __ xorl(first.AsRegisterPairLow<Register>(), second.AsRegisterPairLow<Register>()); in HandleBitwiseOperation()
6651 __ xorl(first.AsRegisterPairHigh<Register>(), second.AsRegisterPairHigh<Register>()); in HandleBitwiseOperation()
6655 __ andl(first.AsRegisterPairLow<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
6656 __ andl(first.AsRegisterPairHigh<Register>(), in HandleBitwiseOperation()
6659 __ orl(first.AsRegisterPairLow<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
6660 __ orl(first.AsRegisterPairHigh<Register>(), in HandleBitwiseOperation()
6664 __ xorl(first.AsRegisterPairLow<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
6665 __ xorl(first.AsRegisterPairHigh<Register>(), in HandleBitwiseOperation()
6679 __ xorl(first_low, first_low); in HandleBitwiseOperation()
6681 __ andl(first_low, low); in HandleBitwiseOperation()
6684 __ xorl(first_high, first_high); in HandleBitwiseOperation()
6686 __ andl(first_high, high); in HandleBitwiseOperation()
6690 __ orl(first_low, low); in HandleBitwiseOperation()
6693 __ orl(first_high, high); in HandleBitwiseOperation()
6698 __ xorl(first_low, low); in HandleBitwiseOperation()
6701 __ xorl(first_high, high); in HandleBitwiseOperation()
6725 __ movl(maybe_temp.AsRegister<Register>(), out_reg); in GenerateReferenceLoadOneRegister()
6727 __ movl(out_reg, Address(out_reg, offset)); in GenerateReferenceLoadOneRegister()
6733 __ movl(out_reg, Address(out_reg, offset)); in GenerateReferenceLoadOneRegister()
6734 __ MaybeUnpoisonHeapReference(out_reg); in GenerateReferenceLoadOneRegister()
6755 __ movl(out_reg, Address(obj_reg, offset)); in GenerateReferenceLoadTwoRegisters()
6761 __ movl(out_reg, Address(obj_reg, offset)); in GenerateReferenceLoadTwoRegisters()
6762 __ MaybeUnpoisonHeapReference(out_reg); in GenerateReferenceLoadTwoRegisters()
6782 __ movl(root_reg, address); in GenerateGcRootFieldLoad()
6784 __ Bind(fixup_label); in GenerateGcRootFieldLoad()
6799 __ fs()->cmpl(Address::Absolute(Thread::IsGcMarkingOffset<kX86WordSize>().Int32Value()), in GenerateGcRootFieldLoad()
6801 __ j(kNotEqual, slow_path->GetEntryLabel()); in GenerateGcRootFieldLoad()
6802 __ Bind(slow_path->GetExitLabel()); in GenerateGcRootFieldLoad()
6807 __ leal(root_reg, address); in GenerateGcRootFieldLoad()
6809 __ Bind(fixup_label); in GenerateGcRootFieldLoad()
6817 __ movl(root_reg, address); in GenerateGcRootFieldLoad()
6819 __ Bind(fixup_label); in GenerateGcRootFieldLoad()
6896 __ movl(temp_reg, Address(obj, monitor_offset)); in GenerateReferenceLoadWithBakerReadBarrier()
6904 __ shrl(temp_reg, Immediate(LockWord::kReadBarrierStateShift)); in GenerateReferenceLoadWithBakerReadBarrier()
6905 __ andl(temp_reg, Immediate(LockWord::kReadBarrierStateMask)); in GenerateReferenceLoadWithBakerReadBarrier()
6916 __ movl(ref_reg, src); in GenerateReferenceLoadWithBakerReadBarrier()
6919 __ MaybeUnpoisonHeapReference(ref_reg); in GenerateReferenceLoadWithBakerReadBarrier()
6928 __ cmpl(temp_reg, Immediate(ReadBarrier::gray_ptr_)); in GenerateReferenceLoadWithBakerReadBarrier()
6929 __ j(kEqual, slow_path->GetEntryLabel()); in GenerateReferenceLoadWithBakerReadBarrier()
6930 __ Bind(slow_path->GetExitLabel()); in GenerateReferenceLoadWithBakerReadBarrier()
6956 __ jmp(slow_path->GetEntryLabel()); in GenerateReadBarrierSlow()
6957 __ Bind(slow_path->GetExitLabel()); in GenerateReadBarrierSlow()
6974 __ UnpoisonHeapReference(out.AsRegister<Register>()); in MaybeGenerateReadBarrierSlow()
6991 __ jmp(slow_path->GetEntryLabel()); in GenerateReadBarrierForRootSlow()
6992 __ Bind(slow_path->GetExitLabel()); in GenerateReadBarrierForRootSlow()
7026 __ cmpl(value_reg, Immediate(lower_bound)); in GenPackedSwitchWithCompares()
7027 __ j(first_condition, codegen_->GetLabelOf(default_block)); in GenPackedSwitchWithCompares()
7028 __ j(kEqual, codegen_->GetLabelOf(successors[0])); in GenPackedSwitchWithCompares()
7040 __ cmpl(value_reg, Immediate(compare_to_value)); in GenPackedSwitchWithCompares()
7042 __ j(first_condition, codegen_->GetLabelOf(successors[index])); in GenPackedSwitchWithCompares()
7044 __ j(kEqual, codegen_->GetLabelOf(successors[index + 1])); in GenPackedSwitchWithCompares()
7050 __ cmpl(value_reg, Immediate(lower_bound + index)); in GenPackedSwitchWithCompares()
7051 __ j(kEqual, codegen_->GetLabelOf(successors[index])); in GenPackedSwitchWithCompares()
7056 __ jmp(codegen_->GetLabelOf(default_block)); in GenPackedSwitchWithCompares()
7107 __ leal(temp_reg, Address(value_reg, -lower_bound)); in VisitX86PackedSwitch()
7113 __ cmpl(value_reg, Immediate(num_entries - 1)); in VisitX86PackedSwitch()
7114 __ j(kAbove, codegen_->GetLabelOf(default_block)); in VisitX86PackedSwitch()
7118 __ movl(temp_reg, codegen_->LiteralCaseTable(switch_instr, constant_area, value_reg)); in VisitX86PackedSwitch()
7121 __ addl(temp_reg, constant_area); in VisitX86PackedSwitch()
7124 __ jmp(temp_reg); in VisitX86PackedSwitch()
7141 __ call(&next_instruction); in VisitX86ComputeBaseMethodAddress()
7142 __ Bind(&next_instruction); in VisitX86ComputeBaseMethodAddress()
7148 __ popl(reg); in VisitX86ComputeBaseMethodAddress()
7191 __ movss(out.AsFpuRegister<XmmRegister>(), in VisitX86LoadFromConstantTable()
7196 __ movsd(out.AsFpuRegister<XmmRegister>(), in VisitX86LoadFromConstantTable()
7201 __ movl(out.AsRegister<Register>(), in VisitX86LoadFromConstantTable()
7301 AssemblerFixup* fixup = new (GetGraph()->GetArena()) RIPFixup(*this, __ AddDouble(v)); in LiteralDoubleAddress()
7306 AssemblerFixup* fixup = new (GetGraph()->GetArena()) RIPFixup(*this, __ AddFloat(v)); in LiteralFloatAddress()
7311 AssemblerFixup* fixup = new (GetGraph()->GetArena()) RIPFixup(*this, __ AddInt32(v)); in LiteralInt32Address()
7316 AssemblerFixup* fixup = new (GetGraph()->GetArena()) RIPFixup(*this, __ AddInt64(v)); in LiteralInt64Address()
7322 __ xorl(dest, dest); in Load32BitValue()
7324 __ movl(dest, Immediate(value)); in Load32BitValue()
7330 __ testl(dest, dest); in Compare32BitValue()
7332 __ cmpl(dest, Immediate(value)); in Compare32BitValue()
7379 #undef __