Lines Matching refs:__

51 #define __ down_cast<X86Assembler*>(codegen->GetAssembler())->  // NOLINT  macro
60 __ Bind(GetEntryLabel()); in EmitNativeCode()
86 __ Bind(GetEntryLabel()); in EmitNativeCode()
105 __ Bind(GetEntryLabel()); in EmitNativeCode()
107 __ negl(reg_); in EmitNativeCode()
109 __ movl(reg_, Immediate(0)); in EmitNativeCode()
111 __ jmp(GetExitLabel()); in EmitNativeCode()
129 __ Bind(GetEntryLabel()); in EmitNativeCode()
152 __ movl(length_loc.AsRegister<Register>(), array_len); in EmitNativeCode()
154 __ shrl(length_loc.AsRegister<Register>(), Immediate(1)); in EmitNativeCode()
188 __ Bind(GetEntryLabel()); in EmitNativeCode()
194 __ jmp(GetReturnLabel()); in EmitNativeCode()
196 __ jmp(x86_codegen->GetLabelOf(successor_)); in EmitNativeCode()
227 __ Bind(GetEntryLabel()); in EmitNativeCode()
232 __ movl(calling_convention.GetRegisterAt(0), Immediate(string_index.index_)); in EmitNativeCode()
240 __ movl(Address(method_address, CodeGeneratorX86::kDummy32BitOffset), in EmitNativeCode()
243 __ Bind(fixup_label); in EmitNativeCode()
245 __ jmp(GetExitLabel()); in EmitNativeCode()
267 __ Bind(GetEntryLabel()); in EmitNativeCode()
272 __ movl(calling_convention.GetRegisterAt(0), Immediate(type_index.index_)); in EmitNativeCode()
296 __ movl(Address(method_address, CodeGeneratorX86::kDummy32BitOffset), in EmitNativeCode()
299 __ Bind(fixup_label); in EmitNativeCode()
301 __ jmp(GetExitLabel()); in EmitNativeCode()
330 __ Bind(GetEntryLabel()); in EmitNativeCode()
366 __ jmp(GetExitLabel()); in EmitNativeCode()
386 __ Bind(GetEntryLabel()); in EmitNativeCode()
409 __ Bind(GetEntryLabel()); in EmitNativeCode()
435 __ jmp(GetExitLabel()); in EmitNativeCode()
486 __ Bind(GetEntryLabel()); in EmitNativeCode()
489 __ MaybeUnpoisonHeapReference(ref_reg); in EmitNativeCode()
515 __ jmp(GetExitLabel()); in EmitNativeCode()
568 __ Bind(GetEntryLabel()); in EmitNativeCode()
571 __ MaybeUnpoisonHeapReference(ref_reg); in EmitNativeCode()
575 __ movl(temp_, ref_reg); in EmitNativeCode()
610 __ cmpl(temp_, ref_reg); in EmitNativeCode()
611 __ j(kEqual, &done); in EmitNativeCode()
622 __ pushl(EAX); in EmitNativeCode()
623 __ movl(EAX, temp_); in EmitNativeCode()
637 __ movl(value, base); in EmitNativeCode()
651 __ PoisonHeapReference(expected); in EmitNativeCode()
652 __ PoisonHeapReference(value); in EmitNativeCode()
655 __ LockCmpxchgl(field_addr_, value); in EmitNativeCode()
664 __ UnpoisonHeapReference(value); in EmitNativeCode()
670 __ popl(EAX); in EmitNativeCode()
672 __ Bind(&done); in EmitNativeCode()
673 __ jmp(GetExitLabel()); in EmitNativeCode()
736 __ Bind(GetEntryLabel()); in EmitNativeCode()
773 __ movl(free_reg, index_reg); in EmitNativeCode()
786 __ shll(index_reg, Immediate(TIMES_4)); in EmitNativeCode()
790 __ AddImmediate(index_reg, Immediate(offset_)); in EmitNativeCode()
829 __ movl(calling_convention.GetRegisterAt(2), Immediate(offset_)); in EmitNativeCode()
837 __ jmp(GetExitLabel()); in EmitNativeCode()
889 __ Bind(GetEntryLabel()); in EmitNativeCode()
903 __ jmp(GetExitLabel()); in EmitNativeCode()
915 #undef __
917 #define __ down_cast<X86Assembler*>(GetAssembler())-> // NOLINT macro
965 __ movl(Address(ESP, stack_index), static_cast<Register>(reg_id)); in SaveCoreRegister()
970 __ movl(static_cast<Register>(reg_id), Address(ESP, stack_index)); in RestoreCoreRegister()
976 __ movups(Address(ESP, stack_index), XmmRegister(reg_id)); in SaveFloatingPointRegister()
978 __ movsd(Address(ESP, stack_index), XmmRegister(reg_id)); in SaveFloatingPointRegister()
985 __ movups(XmmRegister(reg_id), Address(ESP, stack_index)); in RestoreFloatingPointRegister()
987 __ movsd(XmmRegister(reg_id), Address(ESP, stack_index)); in RestoreFloatingPointRegister()
1011 __ fs()->call(Address::Absolute(entry_point_offset)); in GenerateInvokeRuntime()
1063 __ cfi().SetCurrentCFAOffset(kX86WordSize); // return address in GenerateFrameEntry()
1064 __ Bind(&frame_entry_label_); in GenerateFrameEntry()
1070 __ testl(EAX, Address(ESP, -static_cast<int32_t>(GetStackOverflowReservedBytes(kX86)))); in GenerateFrameEntry()
1081 __ pushl(reg); in GenerateFrameEntry()
1082 __ cfi().AdjustCFAOffset(kX86WordSize); in GenerateFrameEntry()
1083 __ cfi().RelOffset(DWARFReg(reg), 0); in GenerateFrameEntry()
1089 __ movl(Address(ESP, -kShouldDeoptimizeFlagSize), Immediate(0)); in GenerateFrameEntry()
1093 __ subl(ESP, Immediate(adjust)); in GenerateFrameEntry()
1094 __ cfi().AdjustCFAOffset(adjust); in GenerateFrameEntry()
1099 __ movl(Address(ESP, kCurrentMethodStackOffset), kMethodRegisterArgument); in GenerateFrameEntry()
1104 __ cfi().RememberState(); in GenerateFrameExit()
1107 __ addl(ESP, Immediate(adjust)); in GenerateFrameExit()
1108 __ cfi().AdjustCFAOffset(-adjust); in GenerateFrameExit()
1113 __ popl(reg); in GenerateFrameExit()
1114 __ cfi().AdjustCFAOffset(-static_cast<int>(kX86WordSize)); in GenerateFrameExit()
1115 __ cfi().Restore(DWARFReg(reg)); in GenerateFrameExit()
1119 __ ret(); in GenerateFrameExit()
1120 __ cfi().RestoreState(); in GenerateFrameExit()
1121 __ cfi().DefCFAOffset(GetFrameSize()); in GenerateFrameExit()
1125 __ Bind(GetLabelOf(block)); in Bind()
1219 __ movl(destination.AsRegister<Register>(), source.AsRegister<Register>()); in Move32()
1221 __ movd(destination.AsRegister<Register>(), source.AsFpuRegister<XmmRegister>()); in Move32()
1224 __ movl(destination.AsRegister<Register>(), Address(ESP, source.GetStackIndex())); in Move32()
1228 __ movd(destination.AsFpuRegister<XmmRegister>(), source.AsRegister<Register>()); in Move32()
1230 __ movaps(destination.AsFpuRegister<XmmRegister>(), source.AsFpuRegister<XmmRegister>()); in Move32()
1233 __ movss(destination.AsFpuRegister<XmmRegister>(), Address(ESP, source.GetStackIndex())); in Move32()
1238 __ movl(Address(ESP, destination.GetStackIndex()), source.AsRegister<Register>()); in Move32()
1240 __ movss(Address(ESP, destination.GetStackIndex()), source.AsFpuRegister<XmmRegister>()); in Move32()
1244 __ movl(Address(ESP, destination.GetStackIndex()), Immediate(value)); in Move32()
1247 __ pushl(Address(ESP, source.GetStackIndex())); in Move32()
1248 __ popl(Address(ESP, destination.GetStackIndex())); in Move32()
1268 __ movd(destination.AsRegisterPairLow<Register>(), src_reg); in Move64()
1269 __ psrlq(src_reg, Immediate(32)); in Move64()
1270 __ movd(destination.AsRegisterPairHigh<Register>(), src_reg); in Move64()
1274 __ movl(destination.AsRegisterPairLow<Register>(), Address(ESP, source.GetStackIndex())); in Move64()
1275 __ movl(destination.AsRegisterPairHigh<Register>(), in Move64()
1280 __ movaps(destination.AsFpuRegister<XmmRegister>(), source.AsFpuRegister<XmmRegister>()); in Move64()
1282 __ movsd(destination.AsFpuRegister<XmmRegister>(), Address(ESP, source.GetStackIndex())); in Move64()
1286 __ subl(ESP, Immediate(2 * elem_size)); in Move64()
1287 __ movl(Address(ESP, 0), source.AsRegisterPairLow<Register>()); in Move64()
1288 __ movl(Address(ESP, elem_size), source.AsRegisterPairHigh<Register>()); in Move64()
1289 __ movsd(destination.AsFpuRegister<XmmRegister>(), Address(ESP, 0)); in Move64()
1291 __ addl(ESP, Immediate(2 * elem_size)); in Move64()
1299 __ movl(Address(ESP, destination.GetStackIndex()), source.AsRegisterPairLow<Register>()); in Move64()
1300 __ movl(Address(ESP, destination.GetHighStackIndex(kX86WordSize)), in Move64()
1303 __ movsd(Address(ESP, destination.GetStackIndex()), source.AsFpuRegister<XmmRegister>()); in Move64()
1308 __ movl(Address(ESP, destination.GetStackIndex()), Immediate(Low32Bits(value))); in Move64()
1309 __ movl(Address(ESP, destination.GetHighStackIndex(kX86WordSize)), in Move64()
1326 __ movl(location.AsRegister<Register>(), Immediate(value)); in MoveConstant()
1367 __ jmp(codegen_->GetLabelOf(successor)); in HandleGoto()
1402 __ j(kUnordered, true_label); in GenerateFPJumps()
1404 __ j(kUnordered, false_label); in GenerateFPJumps()
1406 __ j(X86UnsignedOrFPCondition(cond->GetCondition()), true_label); in GenerateFPJumps()
1464 __ j(X86Condition(true_high_cond), true_label); in GenerateLongComparesAndJumps()
1466 __ j(X86Condition(false_high_cond), false_label); in GenerateLongComparesAndJumps()
1468 __ j(X86Condition(true_high_cond), true_label); in GenerateLongComparesAndJumps()
1469 __ j(X86Condition(false_high_cond), false_label); in GenerateLongComparesAndJumps()
1477 __ cmpl(left_high, right_high); in GenerateLongComparesAndJumps()
1479 __ j(X86Condition(true_high_cond), true_label); in GenerateLongComparesAndJumps()
1481 __ j(X86Condition(false_high_cond), false_label); in GenerateLongComparesAndJumps()
1483 __ j(X86Condition(true_high_cond), true_label); in GenerateLongComparesAndJumps()
1484 __ j(X86Condition(false_high_cond), false_label); in GenerateLongComparesAndJumps()
1487 __ cmpl(left_low, right_low); in GenerateLongComparesAndJumps()
1490 __ cmpl(left_high, Address(ESP, right.GetHighStackIndex(kX86WordSize))); in GenerateLongComparesAndJumps()
1492 __ j(X86Condition(true_high_cond), true_label); in GenerateLongComparesAndJumps()
1494 __ j(X86Condition(false_high_cond), false_label); in GenerateLongComparesAndJumps()
1496 __ j(X86Condition(true_high_cond), true_label); in GenerateLongComparesAndJumps()
1497 __ j(X86Condition(false_high_cond), false_label); in GenerateLongComparesAndJumps()
1500 __ cmpl(left_low, Address(ESP, right.GetStackIndex())); in GenerateLongComparesAndJumps()
1503 __ j(final_condition, true_label); in GenerateLongComparesAndJumps()
1513 __ ucomisd(lhs.AsFpuRegister<XmmRegister>(), rhs.AsFpuRegister<XmmRegister>()); in GenerateFPCompare()
1516 __ ucomisd(lhs.AsFpuRegister<XmmRegister>(), in GenerateFPCompare()
1523 __ ucomisd(lhs.AsFpuRegister<XmmRegister>(), Address(ESP, rhs.GetStackIndex())); in GenerateFPCompare()
1527 __ ucomiss(lhs.AsFpuRegister<XmmRegister>(), rhs.AsFpuRegister<XmmRegister>()); in GenerateFPCompare()
1530 __ ucomiss(lhs.AsFpuRegister<XmmRegister>(), in GenerateFPCompare()
1537 __ ucomiss(lhs.AsFpuRegister<XmmRegister>(), Address(ESP, rhs.GetStackIndex())); in GenerateFPCompare()
1574 __ jmp(false_target); in GenerateCompareTestAndBranch()
1578 __ Bind(&fallthrough_target); in GenerateCompareTestAndBranch()
1606 __ jmp(true_target); in GenerateTestAndBranch()
1611 __ jmp(false_target); in GenerateTestAndBranch()
1628 __ j(X86Condition(cond->AsCondition()->GetOppositeCondition()), false_target); in GenerateTestAndBranch()
1630 __ j(X86Condition(cond->AsCondition()->GetCondition()), true_target); in GenerateTestAndBranch()
1636 __ testl(lhs.AsRegister<Register>(), lhs.AsRegister<Register>()); in GenerateTestAndBranch()
1638 __ cmpl(Address(ESP, lhs.GetStackIndex()), Immediate(0)); in GenerateTestAndBranch()
1641 __ j(kEqual, false_target); in GenerateTestAndBranch()
1643 __ j(kNotEqual, true_target); in GenerateTestAndBranch()
1664 __ j(X86Condition(condition->GetOppositeCondition()), false_target); in GenerateTestAndBranch()
1666 __ j(X86Condition(condition->GetCondition()), true_target); in GenerateTestAndBranch()
1673 __ jmp(false_target); in GenerateTestAndBranch()
1721 __ movl(flag->GetLocations()->Out().AsRegister<Register>(), in VisitShouldDeoptimizeFlag()
1792 __ testl(cond_reg, cond_reg); in VisitSelect()
1805 __ testl(cond_reg, cond_reg); in VisitSelect()
1816 __ cmovl(cond, false_high, true_loc.AsRegisterPairHigh<Register>()); in VisitSelect()
1817 __ cmovl(cond, false_low, true_loc.AsRegisterPairLow<Register>()); in VisitSelect()
1819 __ cmovl(cond, false_high, Address(ESP, true_loc.GetHighStackIndex(kX86WordSize))); in VisitSelect()
1820 __ cmovl(cond, false_low, Address(ESP, true_loc.GetStackIndex())); in VisitSelect()
1826 __ cmovl(cond, false_reg, true_loc.AsRegister<Register>()); in VisitSelect()
1828 __ cmovl(cond, false_reg, Address(ESP, true_loc.GetStackIndex())); in VisitSelect()
1836 __ Bind(&false_target); in VisitSelect()
1849 __ nop(); in GenerateNop()
1907 __ xorl(reg, reg); in HandleCondition()
1909 __ setb(X86Condition(cond->GetCondition()), reg); in HandleCondition()
1929 __ Bind(&false_label); in HandleCondition()
1930 __ xorl(reg, reg); in HandleCondition()
1931 __ jmp(&done_label); in HandleCondition()
1934 __ Bind(&true_label); in HandleCondition()
1935 __ movl(reg, Immediate(1)); in HandleCondition()
1936 __ Bind(&done_label); in HandleCondition()
2243 __ movl(temp, Immediate(invoke->GetDexMethodIndex())); in VisitInvokeInterface()
2244 __ movd(hidden_reg, temp); in VisitInvokeInterface()
2247 __ movl(temp, Address(ESP, receiver.GetStackIndex())); in VisitInvokeInterface()
2249 __ movl(temp, Address(temp, class_offset)); in VisitInvokeInterface()
2252 __ movl(temp, Address(receiver.AsRegister<Register>(), class_offset)); in VisitInvokeInterface()
2262 __ MaybeUnpoisonHeapReference(temp); in VisitInvokeInterface()
2264 __ movl(temp, in VisitInvokeInterface()
2269 __ movl(temp, Address(temp, method_offset)); in VisitInvokeInterface()
2271 __ call(Address(temp, in VisitInvokeInterface()
2322 __ negl(out.AsRegister<Register>()); in VisitNeg()
2328 __ negl(out.AsRegisterPairLow<Register>()); in VisitNeg()
2334 __ adcl(out.AsRegisterPairHigh<Register>(), Immediate(0)); in VisitNeg()
2335 __ negl(out.AsRegisterPairHigh<Register>()); in VisitNeg()
2345 __ movl(constant, Immediate(INT32_C(0x80000000))); in VisitNeg()
2346 __ movd(mask, constant); in VisitNeg()
2347 __ xorps(out.AsFpuRegister<XmmRegister>(), mask); in VisitNeg()
2357 __ LoadLongConstant(mask, INT64_C(0x8000000000000000)); in VisitNeg()
2358 __ xorpd(out.AsFpuRegister<XmmRegister>(), mask); in VisitNeg()
2385 __ movss(mask, codegen_->LiteralInt32Address(INT32_C(0x80000000), in VisitX86FPNeg()
2388 __ xorps(out.AsFpuRegister<XmmRegister>(), mask); in VisitX86FPNeg()
2390 __ movsd(mask, codegen_->LiteralInt64Address(INT64_C(0x8000000000000000), in VisitX86FPNeg()
2393 __ xorpd(out.AsFpuRegister<XmmRegister>(), mask); in VisitX86FPNeg()
2628 __ movsxb(out.AsRegister<Register>(), in.AsRegisterPairLow<ByteRegister>()); in VisitTypeConversion()
2632 __ movl(out.AsRegister<Register>(), Immediate(static_cast<int8_t>(value))); in VisitTypeConversion()
2642 __ movsxb(out.AsRegister<Register>(), in.AsRegister<ByteRegister>()); in VisitTypeConversion()
2646 __ movl(out.AsRegister<Register>(), Immediate(static_cast<int8_t>(value))); in VisitTypeConversion()
2661 __ movsxw(out.AsRegister<Register>(), in.AsRegisterPairLow<Register>()); in VisitTypeConversion()
2663 __ movsxw(out.AsRegister<Register>(), Address(ESP, in.GetStackIndex())); in VisitTypeConversion()
2667 __ movl(out.AsRegister<Register>(), Immediate(static_cast<int16_t>(value))); in VisitTypeConversion()
2677 __ movsxw(out.AsRegister<Register>(), in.AsRegister<Register>()); in VisitTypeConversion()
2679 __ movsxw(out.AsRegister<Register>(), Address(ESP, in.GetStackIndex())); in VisitTypeConversion()
2683 __ movl(out.AsRegister<Register>(), Immediate(static_cast<int16_t>(value))); in VisitTypeConversion()
2698 __ movl(out.AsRegister<Register>(), in.AsRegisterPairLow<Register>()); in VisitTypeConversion()
2700 __ movl(out.AsRegister<Register>(), Address(ESP, in.GetStackIndex())); in VisitTypeConversion()
2705 __ movl(out.AsRegister<Register>(), Immediate(static_cast<int32_t>(value))); in VisitTypeConversion()
2716 __ movl(output, Immediate(kPrimIntMax)); in VisitTypeConversion()
2718 __ cvtsi2ss(temp, output); in VisitTypeConversion()
2720 __ comiss(input, temp); in VisitTypeConversion()
2721 __ j(kAboveEqual, &done); in VisitTypeConversion()
2723 __ j(kUnordered, &nan); in VisitTypeConversion()
2725 __ cvttss2si(output, input); in VisitTypeConversion()
2726 __ jmp(&done); in VisitTypeConversion()
2727 __ Bind(&nan); in VisitTypeConversion()
2729 __ xorl(output, output); in VisitTypeConversion()
2730 __ Bind(&done); in VisitTypeConversion()
2741 __ movl(output, Immediate(kPrimIntMax)); in VisitTypeConversion()
2743 __ cvtsi2sd(temp, output); in VisitTypeConversion()
2745 __ comisd(input, temp); in VisitTypeConversion()
2746 __ j(kAboveEqual, &done); in VisitTypeConversion()
2748 __ j(kUnordered, &nan); in VisitTypeConversion()
2750 __ cvttsd2si(output, input); in VisitTypeConversion()
2751 __ jmp(&done); in VisitTypeConversion()
2752 __ Bind(&nan); in VisitTypeConversion()
2754 __ xorl(output, output); in VisitTypeConversion()
2755 __ Bind(&done); in VisitTypeConversion()
2777 __ cdq(); in VisitTypeConversion()
2803 __ movzxw(out.AsRegister<Register>(), in.AsRegisterPairLow<Register>()); in VisitTypeConversion()
2805 __ movzxw(out.AsRegister<Register>(), Address(ESP, in.GetStackIndex())); in VisitTypeConversion()
2809 __ movl(out.AsRegister<Register>(), Immediate(static_cast<uint16_t>(value))); in VisitTypeConversion()
2819 __ movzxw(out.AsRegister<Register>(), in.AsRegister<Register>()); in VisitTypeConversion()
2821 __ movzxw(out.AsRegister<Register>(), Address(ESP, in.GetStackIndex())); in VisitTypeConversion()
2825 __ movl(out.AsRegister<Register>(), Immediate(static_cast<uint16_t>(value))); in VisitTypeConversion()
2844 __ cvtsi2ss(out.AsFpuRegister<XmmRegister>(), in.AsRegister<Register>()); in VisitTypeConversion()
2856 __ subl(ESP, Immediate(adjustment)); in VisitTypeConversion()
2863 __ fstps(Address(ESP, out.GetStackIndex() + adjustment)); in VisitTypeConversion()
2865 __ fstps(Address(ESP, 0)); in VisitTypeConversion()
2872 __ addl(ESP, Immediate(adjustment)); in VisitTypeConversion()
2879 __ cvtsd2ss(out.AsFpuRegister<XmmRegister>(), in.AsFpuRegister<XmmRegister>()); in VisitTypeConversion()
2897 __ cvtsi2sd(out.AsFpuRegister<XmmRegister>(), in.AsRegister<Register>()); in VisitTypeConversion()
2909 __ subl(ESP, Immediate(adjustment)); in VisitTypeConversion()
2916 __ fstpl(Address(ESP, out.GetStackIndex() + adjustment)); in VisitTypeConversion()
2918 __ fstpl(Address(ESP, 0)); in VisitTypeConversion()
2925 __ addl(ESP, Immediate(adjustment)); in VisitTypeConversion()
2932 __ cvtss2sd(out.AsFpuRegister<XmmRegister>(), in.AsFpuRegister<XmmRegister>()); in VisitTypeConversion()
2995 __ addl(out.AsRegister<Register>(), second.AsRegister<Register>()); in VisitAdd()
2997 __ addl(out.AsRegister<Register>(), first.AsRegister<Register>()); in VisitAdd()
2999 __ leal(out.AsRegister<Register>(), Address( in VisitAdd()
3005 __ addl(out.AsRegister<Register>(), Immediate(value)); in VisitAdd()
3007 __ leal(out.AsRegister<Register>(), Address(first.AsRegister<Register>(), value)); in VisitAdd()
3011 __ addl(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in VisitAdd()
3018 __ addl(first.AsRegisterPairLow<Register>(), second.AsRegisterPairLow<Register>()); in VisitAdd()
3019 __ adcl(first.AsRegisterPairHigh<Register>(), second.AsRegisterPairHigh<Register>()); in VisitAdd()
3021 __ addl(first.AsRegisterPairLow<Register>(), Address(ESP, second.GetStackIndex())); in VisitAdd()
3022 __ adcl(first.AsRegisterPairHigh<Register>(), in VisitAdd()
3027 __ addl(first.AsRegisterPairLow<Register>(), Immediate(Low32Bits(value))); in VisitAdd()
3028 __ adcl(first.AsRegisterPairHigh<Register>(), Immediate(High32Bits(value))); in VisitAdd()
3035 __ addss(first.AsFpuRegister<XmmRegister>(), second.AsFpuRegister<XmmRegister>()); in VisitAdd()
3039 __ addss(first.AsFpuRegister<XmmRegister>(), in VisitAdd()
3046 __ addss(first.AsFpuRegister<XmmRegister>(), Address(ESP, second.GetStackIndex())); in VisitAdd()
3053 __ addsd(first.AsFpuRegister<XmmRegister>(), second.AsFpuRegister<XmmRegister>()); in VisitAdd()
3057 __ addsd(first.AsFpuRegister<XmmRegister>(), in VisitAdd()
3064 __ addsd(first.AsFpuRegister<XmmRegister>(), Address(ESP, second.GetStackIndex())); in VisitAdd()
3112 __ subl(first.AsRegister<Register>(), second.AsRegister<Register>()); in VisitSub()
3114 __ subl(first.AsRegister<Register>(), in VisitSub()
3117 __ subl(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in VisitSub()
3124 __ subl(first.AsRegisterPairLow<Register>(), second.AsRegisterPairLow<Register>()); in VisitSub()
3125 __ sbbl(first.AsRegisterPairHigh<Register>(), second.AsRegisterPairHigh<Register>()); in VisitSub()
3127 __ subl(first.AsRegisterPairLow<Register>(), Address(ESP, second.GetStackIndex())); in VisitSub()
3128 __ sbbl(first.AsRegisterPairHigh<Register>(), in VisitSub()
3133 __ subl(first.AsRegisterPairLow<Register>(), Immediate(Low32Bits(value))); in VisitSub()
3134 __ sbbl(first.AsRegisterPairHigh<Register>(), Immediate(High32Bits(value))); in VisitSub()
3141 __ subss(first.AsFpuRegister<XmmRegister>(), second.AsFpuRegister<XmmRegister>()); in VisitSub()
3145 __ subss(first.AsFpuRegister<XmmRegister>(), in VisitSub()
3152 __ subss(first.AsFpuRegister<XmmRegister>(), Address(ESP, second.GetStackIndex())); in VisitSub()
3159 __ subsd(first.AsFpuRegister<XmmRegister>(), second.AsFpuRegister<XmmRegister>()); in VisitSub()
3163 __ subsd(first.AsFpuRegister<XmmRegister>(), in VisitSub()
3170 __ subsd(first.AsFpuRegister<XmmRegister>(), Address(ESP, second.GetStackIndex())); in VisitSub()
3234 __ imull(out.AsRegister<Register>(), first.AsRegister<Register>(), imm); in VisitMul()
3237 __ imull(first.AsRegister<Register>(), second.AsRegister<Register>()); in VisitMul()
3241 __ imull(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in VisitMul()
3268 __ movl(eax, high); in VisitMul()
3270 __ imull(eax, in1_lo); in VisitMul()
3272 __ imull(in1_hi, low); in VisitMul()
3274 __ addl(in1_hi, eax); in VisitMul()
3276 __ movl(eax, low); in VisitMul()
3278 __ mull(in1_lo); in VisitMul()
3280 __ addl(in1_hi, edx); in VisitMul()
3282 __ movl(in1_lo, eax); in VisitMul()
3287 __ movl(eax, in2_hi); in VisitMul()
3289 __ imull(eax, in1_lo); in VisitMul()
3291 __ imull(in1_hi, in2_lo); in VisitMul()
3293 __ addl(in1_hi, eax); in VisitMul()
3295 __ movl(eax, in1_lo); in VisitMul()
3297 __ mull(in2_lo); in VisitMul()
3299 __ addl(in1_hi, edx); in VisitMul()
3301 __ movl(in1_lo, eax); in VisitMul()
3307 __ movl(eax, in2_hi); in VisitMul()
3309 __ imull(eax, in1_lo); in VisitMul()
3311 __ imull(in1_hi, in2_lo); in VisitMul()
3313 __ addl(in1_hi, eax); in VisitMul()
3315 __ movl(eax, in1_lo); in VisitMul()
3317 __ mull(in2_lo); in VisitMul()
3319 __ addl(in1_hi, edx); in VisitMul()
3321 __ movl(in1_lo, eax); in VisitMul()
3330 __ mulss(first.AsFpuRegister<XmmRegister>(), second.AsFpuRegister<XmmRegister>()); in VisitMul()
3334 __ mulss(first.AsFpuRegister<XmmRegister>(), in VisitMul()
3341 __ mulss(first.AsFpuRegister<XmmRegister>(), Address(ESP, second.GetStackIndex())); in VisitMul()
3349 __ mulsd(first.AsFpuRegister<XmmRegister>(), second.AsFpuRegister<XmmRegister>()); in VisitMul()
3353 __ mulsd(first.AsFpuRegister<XmmRegister>(), in VisitMul()
3360 __ mulsd(first.AsFpuRegister<XmmRegister>(), Address(ESP, second.GetStackIndex())); in VisitMul()
3378 __ flds(Address(ESP, source.GetStackIndex() + stack_adjustment)); in PushOntoFPStack()
3380 __ filds(Address(ESP, source.GetStackIndex() + stack_adjustment)); in PushOntoFPStack()
3385 __ fldl(Address(ESP, source.GetStackIndex() + stack_adjustment)); in PushOntoFPStack()
3387 __ fildl(Address(ESP, source.GetStackIndex() + stack_adjustment)); in PushOntoFPStack()
3395 __ flds(Address(ESP, temp_offset)); in PushOntoFPStack()
3397 __ filds(Address(ESP, temp_offset)); in PushOntoFPStack()
3403 __ fldl(Address(ESP, temp_offset)); in PushOntoFPStack()
3405 __ fildl(Address(ESP, temp_offset)); in PushOntoFPStack()
3422 __ subl(ESP, Immediate(2 * elem_size)); in GenerateRemFP()
3431 __ Bind(&retry); in GenerateRemFP()
3432 __ fprem(); in GenerateRemFP()
3435 __ fstsw(); in GenerateRemFP()
3439 __ andl(EAX, Immediate(kC2ConditionMask)); in GenerateRemFP()
3440 __ j(kNotEqual, &retry); in GenerateRemFP()
3445 __ fsts(Address(ESP, 0)); in GenerateRemFP()
3447 __ fstl(Address(ESP, 0)); in GenerateRemFP()
3451 __ fucompp(); in GenerateRemFP()
3456 __ movss(out.AsFpuRegister<XmmRegister>(), Address(ESP, 0)); in GenerateRemFP()
3458 __ movsd(out.AsFpuRegister<XmmRegister>(), Address(ESP, 0)); in GenerateRemFP()
3462 __ addl(ESP, Immediate(2 * elem_size)); in GenerateRemFP()
3480 __ xorl(out_register, out_register); in DivRemOneOrMinusOne()
3482 __ movl(out_register, input_register); in DivRemOneOrMinusOne()
3484 __ negl(out_register); in DivRemOneOrMinusOne()
3501 __ leal(num, Address(input_register, abs_imm - 1)); in DivByPowerOfTwo()
3502 __ testl(input_register, input_register); in DivByPowerOfTwo()
3503 __ cmovl(kGreaterEqual, num, input_register); in DivByPowerOfTwo()
3505 __ sarl(num, Immediate(shift)); in DivByPowerOfTwo()
3508 __ negl(num); in DivByPowerOfTwo()
3511 __ movl(out_register, num); in DivByPowerOfTwo()
3546 __ movl(num, eax); in GenerateDivRemWithAnyConstant()
3549 __ movl(eax, Immediate(magic)); in GenerateDivRemWithAnyConstant()
3552 __ imull(num); in GenerateDivRemWithAnyConstant()
3556 __ addl(edx, num); in GenerateDivRemWithAnyConstant()
3558 __ subl(edx, num); in GenerateDivRemWithAnyConstant()
3563 __ sarl(edx, Immediate(shift)); in GenerateDivRemWithAnyConstant()
3567 __ movl(eax, edx); in GenerateDivRemWithAnyConstant()
3568 __ shrl(edx, Immediate(31)); in GenerateDivRemWithAnyConstant()
3569 __ addl(edx, eax); in GenerateDivRemWithAnyConstant()
3572 __ movl(eax, num); in GenerateDivRemWithAnyConstant()
3573 __ imull(edx, Immediate(imm)); in GenerateDivRemWithAnyConstant()
3574 __ subl(eax, edx); in GenerateDivRemWithAnyConstant()
3575 __ movl(edx, eax); in GenerateDivRemWithAnyConstant()
3577 __ movl(eax, edx); in GenerateDivRemWithAnyConstant()
3618 __ cmpl(second_reg, Immediate(-1)); in GenerateDivRemIntegral()
3619 __ j(kEqual, slow_path->GetEntryLabel()); in GenerateDivRemIntegral()
3622 __ cdq(); in GenerateDivRemIntegral()
3624 __ idivl(second_reg); in GenerateDivRemIntegral()
3625 __ Bind(slow_path->GetExitLabel()); in GenerateDivRemIntegral()
3718 __ divss(first.AsFpuRegister<XmmRegister>(), second.AsFpuRegister<XmmRegister>()); in VisitDiv()
3722 __ divss(first.AsFpuRegister<XmmRegister>(), in VisitDiv()
3729 __ divss(first.AsFpuRegister<XmmRegister>(), Address(ESP, second.GetStackIndex())); in VisitDiv()
3736 __ divsd(first.AsFpuRegister<XmmRegister>(), second.AsFpuRegister<XmmRegister>()); in VisitDiv()
3740 __ divsd(first.AsFpuRegister<XmmRegister>(), in VisitDiv()
3747 __ divsd(first.AsFpuRegister<XmmRegister>(), Address(ESP, second.GetStackIndex())); in VisitDiv()
3857 __ testl(value.AsRegister<Register>(), value.AsRegister<Register>()); in VisitDivZeroCheck()
3858 __ j(kEqual, slow_path->GetEntryLabel()); in VisitDivZeroCheck()
3860 __ cmpl(Address(ESP, value.GetStackIndex()), Immediate(0)); in VisitDivZeroCheck()
3861 __ j(kEqual, slow_path->GetEntryLabel()); in VisitDivZeroCheck()
3865 __ jmp(slow_path->GetEntryLabel()); in VisitDivZeroCheck()
3873 __ movl(temp, value.AsRegisterPairLow<Register>()); in VisitDivZeroCheck()
3874 __ orl(temp, value.AsRegisterPairHigh<Register>()); in VisitDivZeroCheck()
3875 __ j(kEqual, slow_path->GetEntryLabel()); in VisitDivZeroCheck()
3879 __ jmp(slow_path->GetEntryLabel()); in VisitDivZeroCheck()
3926 __ shll(first_reg, second_reg); in HandleShift()
3928 __ sarl(first_reg, second_reg); in HandleShift()
3930 __ shrl(first_reg, second_reg); in HandleShift()
3939 __ shll(first_reg, imm); in HandleShift()
3941 __ sarl(first_reg, imm); in HandleShift()
3943 __ shrl(first_reg, imm); in HandleShift()
3985 __ addl(low, low); in GenerateShlLong()
3986 __ adcl(high, high); in GenerateShlLong()
3998 __ movl(high, low); in GenerateShlLong()
3999 __ shll(high, Immediate(shift - 32)); in GenerateShlLong()
4000 __ xorl(low, low); in GenerateShlLong()
4003 __ shld(high, low, Immediate(shift)); in GenerateShlLong()
4004 __ shll(low, Immediate(shift)); in GenerateShlLong()
4010 __ shld(loc.AsRegisterPairHigh<Register>(), loc.AsRegisterPairLow<Register>(), shifter); in GenerateShlLong()
4011 __ shll(loc.AsRegisterPairLow<Register>(), shifter); in GenerateShlLong()
4012 __ testl(shifter, Immediate(32)); in GenerateShlLong()
4013 __ j(kEqual, &done); in GenerateShlLong()
4014 __ movl(loc.AsRegisterPairHigh<Register>(), loc.AsRegisterPairLow<Register>()); in GenerateShlLong()
4015 __ movl(loc.AsRegisterPairLow<Register>(), Immediate(0)); in GenerateShlLong()
4016 __ Bind(&done); in GenerateShlLong()
4025 __ movl(low, high); in GenerateShrLong()
4026 __ sarl(high, Immediate(31)); in GenerateShrLong()
4030 __ movl(low, high); in GenerateShrLong()
4031 __ sarl(high, Immediate(31)); in GenerateShrLong()
4032 __ sarl(low, Immediate(shift - 32)); in GenerateShrLong()
4035 __ shrd(low, high, Immediate(shift)); in GenerateShrLong()
4036 __ sarl(high, Immediate(shift)); in GenerateShrLong()
4042 __ shrd(loc.AsRegisterPairLow<Register>(), loc.AsRegisterPairHigh<Register>(), shifter); in GenerateShrLong()
4043 __ sarl(loc.AsRegisterPairHigh<Register>(), shifter); in GenerateShrLong()
4044 __ testl(shifter, Immediate(32)); in GenerateShrLong()
4045 __ j(kEqual, &done); in GenerateShrLong()
4046 __ movl(loc.AsRegisterPairLow<Register>(), loc.AsRegisterPairHigh<Register>()); in GenerateShrLong()
4047 __ sarl(loc.AsRegisterPairHigh<Register>(), Immediate(31)); in GenerateShrLong()
4048 __ Bind(&done); in GenerateShrLong()
4065 __ movl(low, high); in GenerateUShrLong()
4066 __ shrl(low, Immediate(shift - 32)); in GenerateUShrLong()
4067 __ xorl(high, high); in GenerateUShrLong()
4070 __ shrd(low, high, Immediate(shift)); in GenerateUShrLong()
4071 __ shrl(high, Immediate(shift)); in GenerateUShrLong()
4077 __ shrd(loc.AsRegisterPairLow<Register>(), loc.AsRegisterPairHigh<Register>(), shifter); in GenerateUShrLong()
4078 __ shrl(loc.AsRegisterPairHigh<Register>(), shifter); in GenerateUShrLong()
4079 __ testl(shifter, Immediate(32)); in GenerateUShrLong()
4080 __ j(kEqual, &done); in GenerateUShrLong()
4081 __ movl(loc.AsRegisterPairLow<Register>(), loc.AsRegisterPairHigh<Register>()); in GenerateUShrLong()
4082 __ movl(loc.AsRegisterPairHigh<Register>(), Immediate(0)); in GenerateUShrLong()
4083 __ Bind(&done); in GenerateUShrLong()
4116 __ rorl(first_reg, second_reg); in VisitRor()
4119 __ rorl(first_reg, imm); in VisitRor()
4131 __ movl(temp_reg, first_reg_hi); in VisitRor()
4132 __ shrd(first_reg_hi, first_reg_lo, second_reg); in VisitRor()
4133 __ shrd(first_reg_lo, temp_reg, second_reg); in VisitRor()
4134 __ movl(temp_reg, first_reg_hi); in VisitRor()
4135 __ testl(second_reg, Immediate(32)); in VisitRor()
4136 __ cmovl(kNotEqual, first_reg_hi, first_reg_lo); in VisitRor()
4137 __ cmovl(kNotEqual, first_reg_lo, temp_reg); in VisitRor()
4146 __ movl(temp_reg, first_reg_lo); in VisitRor()
4147 __ movl(first_reg_lo, first_reg_hi); in VisitRor()
4148 __ movl(first_reg_hi, temp_reg); in VisitRor()
4154 __ movl(temp_reg, first_reg_lo); in VisitRor()
4157 __ shrd(first_reg_lo, first_reg_hi, imm); in VisitRor()
4160 __ shrd(first_reg_hi, temp_reg, imm); in VisitRor()
4164 __ movl(temp_reg, first_reg_lo); in VisitRor()
4165 __ movl(first_reg_lo, first_reg_hi); in VisitRor()
4166 __ movl(first_reg_hi, temp_reg); in VisitRor()
4214 __ fs()->movl(temp, Address::Absolute(QUICK_ENTRY_POINT(pNewEmptyString))); in VisitNewInstance()
4215 __ call(Address(temp, code_offset.Int32Value())); in VisitNewInstance()
4280 __ movl(locations->Out().AsRegister<Register>(), in VisitClassTableGet()
4285 __ movl(locations->Out().AsRegister<Register>(), in VisitClassTableGet()
4289 __ movl(locations->Out().AsRegister<Register>(), in VisitClassTableGet()
4308 __ notl(out.AsRegister<Register>()); in VisitNot()
4312 __ notl(out.AsRegisterPairLow<Register>()); in VisitNot()
4313 __ notl(out.AsRegisterPairHigh<Register>()); in VisitNot()
4333 __ xorl(out.AsRegister<Register>(), Immediate(1)); in VisitBooleanNot()
4403 __ cmpl(left_high, right.AsRegisterPairHigh<Register>()); in VisitCompare()
4405 __ cmpl(left_high, Address(ESP, right.GetHighStackIndex(kX86WordSize))); in VisitCompare()
4410 __ j(kLess, &less); // Signed compare. in VisitCompare()
4411 __ j(kGreater, &greater); // Signed compare. in VisitCompare()
4413 __ cmpl(left_low, right.AsRegisterPairLow<Register>()); in VisitCompare()
4415 __ cmpl(left_low, Address(ESP, right.GetStackIndex())); in VisitCompare()
4425 __ j(kUnordered, compare->IsGtBias() ? &greater : &less); in VisitCompare()
4431 __ j(kUnordered, compare->IsGtBias() ? &greater : &less); in VisitCompare()
4439 __ movl(out, Immediate(0)); in VisitCompare()
4440 __ j(kEqual, &done); in VisitCompare()
4441 __ j(less_cond, &less); in VisitCompare()
4443 __ Bind(&greater); in VisitCompare()
4444 __ movl(out, Immediate(1)); in VisitCompare()
4445 __ jmp(&done); in VisitCompare()
4447 __ Bind(&less); in VisitCompare()
4448 __ movl(out, Immediate(-1)); in VisitCompare()
4450 __ Bind(&done); in VisitCompare()
4505 __ movl(temp, Address(ESP, location.GetStackIndex())); in GetInvokeStaticOrDirectExtraParameter()
4516 __ movl(temp, Address(ESP, stack_offset)); in GetInvokeStaticOrDirectExtraParameter()
4531 __ fs()->movl(temp.AsRegister<Register>(), Address::Absolute(offset)); in GenerateCalleeMethodStaticOrDirectCall()
4538 __ movl(temp.AsRegister<Register>(), Immediate(invoke->GetMethodAddress())); in GenerateCalleeMethodStaticOrDirectCall()
4543 __ movl(temp.AsRegister<Register>(), Address(base_reg, kDummy32BitOffset)); in GenerateCalleeMethodStaticOrDirectCall()
4546 __ Bind(NewPcRelativeDexCacheArrayPatch( in GenerateCalleeMethodStaticOrDirectCall()
4562 __ movl(reg, Address(ESP, kCurrentMethodStackOffset)); in GenerateCalleeMethodStaticOrDirectCall()
4565 __ movl(reg, Address(method_reg, in GenerateCalleeMethodStaticOrDirectCall()
4570 __ movl(reg, Address(reg, CodeGenerator::GetCachePointerOffset(index_in_cache))); in GenerateCalleeMethodStaticOrDirectCall()
4582 __ call(GetFrameEntryLabel()); in GenerateStaticOrDirectCall()
4586 __ call(Address(callee_method.AsRegister<Register>(), in GenerateStaticOrDirectCall()
4608 __ movl(temp, Address(receiver, class_offset)); in GenerateVirtualCall()
4617 __ MaybeUnpoisonHeapReference(temp); in GenerateVirtualCall()
4619 __ movl(temp, Address(temp, method_offset)); in GenerateVirtualCall()
4621 __ call(Address( in GenerateVirtualCall()
4636 __ Bind(&string_patches_.back().label); in RecordBootStringPatch()
4649 __ Bind(&boot_image_type_patches_.back().label); in RecordBootTypePatch()
4733 __ testl(value, value); in MarkGCCard()
4734 __ j(kEqual, &is_null); in MarkGCCard()
4736 __ fs()->movl(card, Address::Absolute(Thread::CardTableOffset<kX86PointerSize>().Int32Value())); in MarkGCCard()
4737 __ movl(temp, object); in MarkGCCard()
4738 __ shrl(temp, Immediate(gc::accounting::CardTable::kCardShift)); in MarkGCCard()
4739 __ movb(Address(temp, card, TIMES_1, 0), in MarkGCCard()
4742 __ Bind(&is_null); in MarkGCCard()
4799 __ movzxb(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
4804 __ movsxb(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
4809 __ movsxw(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
4814 __ movzxw(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
4819 __ movl(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
4833 __ movl(out.AsRegister<Register>(), Address(base, offset)); in HandleFieldGet()
4849 __ movsd(temp, Address(base, offset)); in HandleFieldGet()
4851 __ movd(out.AsRegisterPairLow<Register>(), temp); in HandleFieldGet()
4852 __ psrlq(temp, Immediate(32)); in HandleFieldGet()
4853 __ movd(out.AsRegisterPairHigh<Register>(), temp); in HandleFieldGet()
4856 __ movl(out.AsRegisterPairLow<Register>(), Address(base, offset)); in HandleFieldGet()
4858 __ movl(out.AsRegisterPairHigh<Register>(), Address(base, kX86WordSize + offset)); in HandleFieldGet()
4864 __ movss(out.AsFpuRegister<XmmRegister>(), Address(base, offset)); in HandleFieldGet()
4869 __ movsd(out.AsFpuRegister<XmmRegister>(), Address(base, offset)); in HandleFieldGet()
4964 __ movb(Address(base, offset), value.AsRegister<ByteRegister>()); in HandleFieldSet()
4972 __ movw(Address(base, offset), Immediate(v)); in HandleFieldSet()
4974 __ movw(Address(base, offset), value.AsRegister<Register>()); in HandleFieldSet()
4987 __ movl(temp, value.AsRegister<Register>()); in HandleFieldSet()
4988 __ PoisonHeapReference(temp); in HandleFieldSet()
4989 __ movl(Address(base, offset), temp); in HandleFieldSet()
4992 __ movl(Address(base, offset), Immediate(v)); in HandleFieldSet()
4995 __ movl(Address(base, offset), value.AsRegister<Register>()); in HandleFieldSet()
5004 __ movd(temp1, value.AsRegisterPairLow<Register>()); in HandleFieldSet()
5005 __ movd(temp2, value.AsRegisterPairHigh<Register>()); in HandleFieldSet()
5006 __ punpckldq(temp1, temp2); in HandleFieldSet()
5007 __ movsd(Address(base, offset), temp1); in HandleFieldSet()
5011 __ movl(Address(base, offset), Immediate(Low32Bits(v))); in HandleFieldSet()
5013 __ movl(Address(base, kX86WordSize + offset), Immediate(High32Bits(v))); in HandleFieldSet()
5015 __ movl(Address(base, offset), value.AsRegisterPairLow<Register>()); in HandleFieldSet()
5017 __ movl(Address(base, kX86WordSize + offset), value.AsRegisterPairHigh<Register>()); in HandleFieldSet()
5026 __ movl(Address(base, offset), Immediate(v)); in HandleFieldSet()
5028 __ movss(Address(base, offset), value.AsFpuRegister<XmmRegister>()); in HandleFieldSet()
5036 __ movl(Address(base, offset), Immediate(Low32Bits(v))); in HandleFieldSet()
5038 __ movl(Address(base, kX86WordSize + offset), Immediate(High32Bits(v))); in HandleFieldSet()
5041 __ movsd(Address(base, offset), value.AsFpuRegister<XmmRegister>()); in HandleFieldSet()
5181 __ testl(EAX, Address(obj.AsRegister<Register>(), 0)); in GenerateImplicitNullCheck()
5193 __ testl(obj.AsRegister<Register>(), obj.AsRegister<Register>()); in GenerateExplicitNullCheck()
5195 __ cmpl(Address(ESP, obj.GetStackIndex()), Immediate(0)); in GenerateExplicitNullCheck()
5199 __ jmp(slow_path->GetEntryLabel()); in GenerateExplicitNullCheck()
5202 __ j(kEqual, slow_path->GetEntryLabel()); in GenerateExplicitNullCheck()
5250 __ movzxb(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_1, data_offset)); in VisitArrayGet()
5256 __ movsxb(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_1, data_offset)); in VisitArrayGet()
5262 __ movsxw(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_2, data_offset)); in VisitArrayGet()
5272 __ testb(Address(obj, count_offset), Immediate(1)); in VisitArrayGet()
5276 __ j(kNotZero, &not_compressed); in VisitArrayGet()
5277 __ movzxb(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_1, data_offset)); in VisitArrayGet()
5278 __ jmp(&done); in VisitArrayGet()
5279 __ Bind(&not_compressed); in VisitArrayGet()
5280 __ movzxw(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_2, data_offset)); in VisitArrayGet()
5281 __ Bind(&done); in VisitArrayGet()
5285 __ movzxw(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_2, data_offset)); in VisitArrayGet()
5292 __ movl(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_4, data_offset)); in VisitArrayGet()
5309 __ movl(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_4, data_offset)); in VisitArrayGet()
5328 __ movl(out_loc.AsRegisterPairLow<Register>(), in VisitArrayGet()
5331 __ movl(out_loc.AsRegisterPairHigh<Register>(), in VisitArrayGet()
5338 __ movss(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_4, data_offset)); in VisitArrayGet()
5344 __ movsd(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_8, data_offset)); in VisitArrayGet()
5417 __ movb(address, value.AsRegister<ByteRegister>()); in VisitArraySet()
5419 __ movb(address, Immediate(value.GetConstant()->AsIntConstant()->GetValue())); in VisitArraySet()
5430 __ movw(address, value.AsRegister<Register>()); in VisitArraySet()
5432 __ movw(address, Immediate(value.GetConstant()->AsIntConstant()->GetValue())); in VisitArraySet()
5446 __ movl(address, Immediate(0)); in VisitArraySet()
5466 __ testl(register_value, register_value); in VisitArraySet()
5467 __ j(kNotEqual, &not_null); in VisitArraySet()
5468 __ movl(address, Immediate(0)); in VisitArraySet()
5470 __ jmp(&done); in VisitArraySet()
5471 __ Bind(&not_null); in VisitArraySet()
5483 __ movl(temp, Address(array, class_offset)); in VisitArraySet()
5485 __ MaybeUnpoisonHeapReference(temp); in VisitArraySet()
5488 __ movl(temp, Address(temp, component_offset)); in VisitArraySet()
5492 __ cmpl(temp, Address(register_value, class_offset)); in VisitArraySet()
5495 __ j(kEqual, &do_put); in VisitArraySet()
5498 __ MaybeUnpoisonHeapReference(temp); in VisitArraySet()
5503 __ cmpl(Address(temp, super_offset), Immediate(0)); in VisitArraySet()
5504 __ j(kNotEqual, slow_path->GetEntryLabel()); in VisitArraySet()
5505 __ Bind(&do_put); in VisitArraySet()
5507 __ j(kNotEqual, slow_path->GetEntryLabel()); in VisitArraySet()
5512 __ movl(temp, register_value); in VisitArraySet()
5513 __ PoisonHeapReference(temp); in VisitArraySet()
5514 __ movl(address, temp); in VisitArraySet()
5516 __ movl(address, register_value); in VisitArraySet()
5525 __ Bind(&done); in VisitArraySet()
5528 __ Bind(slow_path->GetExitLabel()); in VisitArraySet()
5538 __ movl(address, value.AsRegister<Register>()); in VisitArraySet()
5542 __ movl(address, Immediate(v)); in VisitArraySet()
5551 __ movl(CodeGeneratorX86::ArrayAddress(array, index, TIMES_8, data_offset), in VisitArraySet()
5554 __ movl(CodeGeneratorX86::ArrayAddress(array, index, TIMES_8, data_offset + kX86WordSize), in VisitArraySet()
5559 __ movl(CodeGeneratorX86::ArrayAddress(array, index, TIMES_8, data_offset), in VisitArraySet()
5562 __ movl(CodeGeneratorX86::ArrayAddress(array, index, TIMES_8, data_offset + kX86WordSize), in VisitArraySet()
5572 __ movss(address, value.AsFpuRegister<XmmRegister>()); in VisitArraySet()
5576 __ movl(address, Immediate(v)); in VisitArraySet()
5586 __ movsd(address, value.AsFpuRegister<XmmRegister>()); in VisitArraySet()
5592 __ movl(address, Immediate(Low32Bits(v))); in VisitArraySet()
5594 __ movl(address_hi, Immediate(High32Bits(v))); in VisitArraySet()
5622 __ movl(out, Address(obj, offset)); in VisitArrayLength()
5626 __ shrl(out, Immediate(1)); in VisitArrayLength()
5663 __ jmp(slow_path->GetEntryLabel()); in VisitBoundsCheck()
5673 __ cmpl(index_reg, Immediate(length)); in VisitBoundsCheck()
5675 __ j(kAboveEqual, slow_path->GetEntryLabel()); in VisitBoundsCheck()
5688 __ movl(length_reg, array_len); in VisitBoundsCheck()
5690 __ shrl(length_reg, Immediate(1)); in VisitBoundsCheck()
5697 __ cmpl(array_len, Immediate(value)); in VisitBoundsCheck()
5699 __ cmpl(array_len, index_loc.AsRegister<Register>()); in VisitBoundsCheck()
5707 __ j(kBelowEqual, slow_path->GetEntryLabel()); in VisitBoundsCheck()
5759 __ fs()->cmpw(Address::Absolute(Thread::ThreadFlagsOffset<kX86PointerSize>().Int32Value()), in GenerateSuspendCheck()
5762 __ j(kNotEqual, slow_path->GetEntryLabel()); in GenerateSuspendCheck()
5763 __ Bind(slow_path->GetReturnLabel()); in GenerateSuspendCheck()
5765 __ j(kEqual, codegen_->GetLabelOf(successor)); in GenerateSuspendCheck()
5766 __ jmp(slow_path->GetEntryLabel()); in GenerateSuspendCheck()
5779 __ movl(temp_reg, Address(ESP, src + stack_offset)); in MoveMemoryToMemory32()
5780 __ movl(Address(ESP, dst + stack_offset), temp_reg); in MoveMemoryToMemory32()
5788 __ movl(temp_reg, Address(ESP, src + stack_offset)); in MoveMemoryToMemory64()
5789 __ movl(Address(ESP, dst + stack_offset), temp_reg); in MoveMemoryToMemory64()
5790 __ movl(temp_reg, Address(ESP, src + stack_offset + kX86WordSize)); in MoveMemoryToMemory64()
5791 __ movl(Address(ESP, dst + stack_offset + kX86WordSize), temp_reg); in MoveMemoryToMemory64()
5801 __ movl(destination.AsRegister<Register>(), source.AsRegister<Register>()); in EmitMove()
5803 __ movd(destination.AsFpuRegister<XmmRegister>(), source.AsRegister<Register>()); in EmitMove()
5806 __ movl(Address(ESP, destination.GetStackIndex()), source.AsRegister<Register>()); in EmitMove()
5811 __ subl(ESP, Immediate(2 * elem_size)); in EmitMove()
5812 __ movl(Address(ESP, 0), source.AsRegisterPairLow<Register>()); in EmitMove()
5813 __ movl(Address(ESP, elem_size), source.AsRegisterPairHigh<Register>()); in EmitMove()
5814 __ movsd(destination.AsFpuRegister<XmmRegister>(), Address(ESP, 0)); in EmitMove()
5816 __ addl(ESP, Immediate(2 * elem_size)); in EmitMove()
5819 __ movd(destination.AsRegister<Register>(), source.AsFpuRegister<XmmRegister>()); in EmitMove()
5821 __ movaps(destination.AsFpuRegister<XmmRegister>(), source.AsFpuRegister<XmmRegister>()); in EmitMove()
5824 __ movd(destination.AsRegisterPairLow<Register>(), src_reg); in EmitMove()
5825 __ psrlq(src_reg, Immediate(32)); in EmitMove()
5826 __ movd(destination.AsRegisterPairHigh<Register>(), src_reg); in EmitMove()
5828 __ movss(Address(ESP, destination.GetStackIndex()), source.AsFpuRegister<XmmRegister>()); in EmitMove()
5830 __ movsd(Address(ESP, destination.GetStackIndex()), source.AsFpuRegister<XmmRegister>()); in EmitMove()
5833 __ movups(Address(ESP, destination.GetStackIndex()), source.AsFpuRegister<XmmRegister>()); in EmitMove()
5837 __ movl(destination.AsRegister<Register>(), Address(ESP, source.GetStackIndex())); in EmitMove()
5839 __ movss(destination.AsFpuRegister<XmmRegister>(), Address(ESP, source.GetStackIndex())); in EmitMove()
5846 __ movl(destination.AsRegisterPairLow<Register>(), Address(ESP, source.GetStackIndex())); in EmitMove()
5847 __ movl(destination.AsRegisterPairHigh<Register>(), in EmitMove()
5850 __ movsd(destination.AsFpuRegister<XmmRegister>(), Address(ESP, source.GetStackIndex())); in EmitMove()
5857 __ movups(destination.AsFpuRegister<XmmRegister>(), Address(ESP, source.GetStackIndex())); in EmitMove()
5864 __ xorl(destination.AsRegister<Register>(), destination.AsRegister<Register>()); in EmitMove()
5866 __ movl(destination.AsRegister<Register>(), Immediate(value)); in EmitMove()
5870 __ movl(Address(ESP, destination.GetStackIndex()), Immediate(value)); in EmitMove()
5880 __ xorps(dest, dest); in EmitMove()
5885 __ movl(temp, Immediate(value)); in EmitMove()
5886 __ movd(dest, temp); in EmitMove()
5890 __ movl(Address(ESP, destination.GetStackIndex()), imm); in EmitMove()
5899 __ movl(Address(ESP, destination.GetStackIndex()), low); in EmitMove()
5900 __ movl(Address(ESP, destination.GetHighStackIndex(kX86WordSize)), high); in EmitMove()
5902 __ movl(destination.AsRegisterPairLow<Register>(), low); in EmitMove()
5903 __ movl(destination.AsRegisterPairHigh<Register>(), high); in EmitMove()
5917 __ xorpd(dest, dest); in EmitMove()
5919 __ pushl(high); in EmitMove()
5920 __ pushl(low); in EmitMove()
5921 __ movsd(dest, Address(ESP, 0)); in EmitMove()
5922 __ addl(ESP, Immediate(8)); in EmitMove()
5926 __ movl(Address(ESP, destination.GetStackIndex()), low); in EmitMove()
5927 __ movl(Address(ESP, destination.GetHighStackIndex(kX86WordSize)), high); in EmitMove()
5941 __ movl(static_cast<Register>(ensure_scratch.GetRegister()), Address(ESP, mem + stack_offset)); in Exchange()
5942 __ movl(Address(ESP, mem + stack_offset), reg); in Exchange()
5943 __ movl(reg, static_cast<Register>(ensure_scratch.GetRegister())); in Exchange()
5952 __ movl(temp_reg, Address(ESP, mem + stack_offset)); in Exchange32()
5953 __ movss(Address(ESP, mem + stack_offset), reg); in Exchange32()
5954 __ movd(reg, temp_reg); in Exchange32()
5967 __ movl(static_cast<Register>(ensure_scratch1.GetRegister()), Address(ESP, mem1 + stack_offset)); in Exchange()
5968 __ movl(static_cast<Register>(ensure_scratch2.GetRegister()), Address(ESP, mem2 + stack_offset)); in Exchange()
5969 __ movl(Address(ESP, mem2 + stack_offset), static_cast<Register>(ensure_scratch1.GetRegister())); in Exchange()
5970 __ movl(Address(ESP, mem1 + stack_offset), static_cast<Register>(ensure_scratch2.GetRegister())); in Exchange()
5981 __ xorl(destination.AsRegister<Register>(), source.AsRegister<Register>()); in EmitSwap()
5982 __ xorl(source.AsRegister<Register>(), destination.AsRegister<Register>()); in EmitSwap()
5983 __ xorl(destination.AsRegister<Register>(), source.AsRegister<Register>()); in EmitSwap()
5993 __ xorpd(destination.AsFpuRegister<XmmRegister>(), source.AsFpuRegister<XmmRegister>()); in EmitSwap()
5994 __ xorpd(source.AsFpuRegister<XmmRegister>(), destination.AsFpuRegister<XmmRegister>()); in EmitSwap()
5995 __ xorpd(destination.AsFpuRegister<XmmRegister>(), source.AsFpuRegister<XmmRegister>()); in EmitSwap()
6005 __ movhpd(reg, stack); in EmitSwap()
6008 __ movsd(stack, reg); in EmitSwap()
6011 __ psrldq(reg, Immediate(8)); in EmitSwap()
6017 __ movhpd(reg, stack); in EmitSwap()
6020 __ movsd(stack, reg); in EmitSwap()
6023 __ psrldq(reg, Immediate(8)); in EmitSwap()
6033 __ pushl(static_cast<Register>(reg)); in SpillScratch()
6037 __ popl(static_cast<Register>(reg)); in RestoreScratch()
6155 __ movl(out, Immediate(/* placeholder */ 0)); in VisitLoadClass()
6163 __ leal(out, Address(method_address, CodeGeneratorX86::kDummy32BitOffset)); in VisitLoadClass()
6172 __ movl(out, Immediate(address)); in VisitLoadClass()
6204 __ testl(out, out); in VisitLoadClass()
6205 __ j(kEqual, slow_path->GetEntryLabel()); in VisitLoadClass()
6211 __ Bind(slow_path->GetExitLabel()); in VisitLoadClass()
6236 __ cmpl(Address(class_reg, mirror::Class::StatusOffset().Int32Value()), in GenerateClassInitializationCheck()
6238 __ j(kLess, slow_path->GetEntryLabel()); in GenerateClassInitializationCheck()
6239 __ Bind(slow_path->GetExitLabel()); in GenerateClassInitializationCheck()
6313 __ movl(out, Immediate(/* placeholder */ 0)); in VisitLoadString()
6320 __ leal(out, Address(method_address, CodeGeneratorX86::kDummy32BitOffset)); in VisitLoadString()
6328 __ movl(out, Immediate(address)); in VisitLoadString()
6339 __ testl(out, out); in VisitLoadString()
6340 __ j(kEqual, slow_path->GetEntryLabel()); in VisitLoadString()
6341 __ Bind(slow_path->GetExitLabel()); in VisitLoadString()
6359 __ movl(calling_convention.GetRegisterAt(0), Immediate(load->GetStringIndex().index_)); in VisitLoadString()
6375 __ fs()->movl(load->GetLocations()->Out().AsRegister<Register>(), GetExceptionTlsAddress()); in VisitLoadException()
6383 __ fs()->movl(GetExceptionTlsAddress(), Immediate(0)); in VisitClearException()
6473 __ testl(obj, obj); in VisitInstanceOf()
6474 __ j(kEqual, &zero); in VisitInstanceOf()
6486 __ cmpl(out, cls.AsRegister<Register>()); in VisitInstanceOf()
6489 __ cmpl(out, Address(ESP, cls.GetStackIndex())); in VisitInstanceOf()
6493 __ j(kNotEqual, &zero); in VisitInstanceOf()
6494 __ movl(out, Immediate(1)); in VisitInstanceOf()
6495 __ jmp(&done); in VisitInstanceOf()
6509 __ Bind(&loop); in VisitInstanceOf()
6516 __ testl(out, out); in VisitInstanceOf()
6518 __ j(kEqual, &done); in VisitInstanceOf()
6520 __ cmpl(out, cls.AsRegister<Register>()); in VisitInstanceOf()
6523 __ cmpl(out, Address(ESP, cls.GetStackIndex())); in VisitInstanceOf()
6525 __ j(kNotEqual, &loop); in VisitInstanceOf()
6526 __ movl(out, Immediate(1)); in VisitInstanceOf()
6528 __ jmp(&done); in VisitInstanceOf()
6542 __ Bind(&loop); in VisitInstanceOf()
6544 __ cmpl(out, cls.AsRegister<Register>()); in VisitInstanceOf()
6547 __ cmpl(out, Address(ESP, cls.GetStackIndex())); in VisitInstanceOf()
6549 __ j(kEqual, &success); in VisitInstanceOf()
6556 __ testl(out, out); in VisitInstanceOf()
6557 __ j(kNotEqual, &loop); in VisitInstanceOf()
6559 __ jmp(&done); in VisitInstanceOf()
6560 __ Bind(&success); in VisitInstanceOf()
6561 __ movl(out, Immediate(1)); in VisitInstanceOf()
6563 __ jmp(&done); in VisitInstanceOf()
6578 __ cmpl(out, cls.AsRegister<Register>()); in VisitInstanceOf()
6581 __ cmpl(out, Address(ESP, cls.GetStackIndex())); in VisitInstanceOf()
6583 __ j(kEqual, &exact_check); in VisitInstanceOf()
6591 __ testl(out, out); in VisitInstanceOf()
6593 __ j(kEqual, &done); in VisitInstanceOf()
6594 __ cmpw(Address(out, primitive_offset), Immediate(Primitive::kPrimNot)); in VisitInstanceOf()
6595 __ j(kNotEqual, &zero); in VisitInstanceOf()
6596 __ Bind(&exact_check); in VisitInstanceOf()
6597 __ movl(out, Immediate(1)); in VisitInstanceOf()
6598 __ jmp(&done); in VisitInstanceOf()
6611 __ cmpl(out, cls.AsRegister<Register>()); in VisitInstanceOf()
6614 __ cmpl(out, Address(ESP, cls.GetStackIndex())); in VisitInstanceOf()
6620 __ j(kNotEqual, slow_path->GetEntryLabel()); in VisitInstanceOf()
6621 __ movl(out, Immediate(1)); in VisitInstanceOf()
6623 __ jmp(&done); in VisitInstanceOf()
6652 __ jmp(slow_path->GetEntryLabel()); in VisitInstanceOf()
6654 __ jmp(&done); in VisitInstanceOf()
6661 __ Bind(&zero); in VisitInstanceOf()
6662 __ xorl(out, out); in VisitInstanceOf()
6666 __ Bind(&done); in VisitInstanceOf()
6670 __ Bind(slow_path->GetExitLabel()); in VisitInstanceOf()
6748 __ testl(obj, obj); in VisitCheckCast()
6749 __ j(kEqual, &done); in VisitCheckCast()
6763 __ cmpl(temp, cls.AsRegister<Register>()); in VisitCheckCast()
6766 __ cmpl(temp, Address(ESP, cls.GetStackIndex())); in VisitCheckCast()
6770 __ j(kNotEqual, type_check_slow_path->GetEntryLabel()); in VisitCheckCast()
6785 __ Bind(&loop); in VisitCheckCast()
6795 __ testl(temp, temp); in VisitCheckCast()
6796 __ j(kZero, type_check_slow_path->GetEntryLabel()); in VisitCheckCast()
6800 __ cmpl(temp, cls.AsRegister<Register>()); in VisitCheckCast()
6803 __ cmpl(temp, Address(ESP, cls.GetStackIndex())); in VisitCheckCast()
6805 __ j(kNotEqual, &loop); in VisitCheckCast()
6819 __ Bind(&loop); in VisitCheckCast()
6821 __ cmpl(temp, cls.AsRegister<Register>()); in VisitCheckCast()
6824 __ cmpl(temp, Address(ESP, cls.GetStackIndex())); in VisitCheckCast()
6826 __ j(kEqual, &done); in VisitCheckCast()
6837 __ testl(temp, temp); in VisitCheckCast()
6838 __ j(kNotZero, &loop); in VisitCheckCast()
6840 __ jmp(type_check_slow_path->GetEntryLabel()); in VisitCheckCast()
6854 __ cmpl(temp, cls.AsRegister<Register>()); in VisitCheckCast()
6857 __ cmpl(temp, Address(ESP, cls.GetStackIndex())); in VisitCheckCast()
6859 __ j(kEqual, &done); in VisitCheckCast()
6871 __ testl(temp, temp); in VisitCheckCast()
6872 __ j(kZero, type_check_slow_path->GetEntryLabel()); in VisitCheckCast()
6874 __ cmpw(Address(temp, primitive_offset), Immediate(Primitive::kPrimNot)); in VisitCheckCast()
6875 __ j(kNotEqual, type_check_slow_path->GetEntryLabel()); in VisitCheckCast()
6888 __ jmp(type_check_slow_path->GetEntryLabel()); in VisitCheckCast()
6913 __ movl(maybe_temp2_loc.AsRegister<Register>(), Address(temp, array_length_offset)); in VisitCheckCast()
6916 __ Bind(&start_loop); in VisitCheckCast()
6918 __ subl(maybe_temp2_loc.AsRegister<Register>(), Immediate(2)); in VisitCheckCast()
6919 __ j(kNegative, type_check_slow_path->GetEntryLabel()); in VisitCheckCast()
6921 __ cmpl(cls.AsRegister<Register>(), in VisitCheckCast()
6926 __ j(kNotEqual, &start_loop); in VisitCheckCast()
6928 __ jmp(type_check_slow_path->GetEntryLabel()); in VisitCheckCast()
6933 __ Bind(&done); in VisitCheckCast()
6935 __ Bind(type_check_slow_path->GetExitLabel()); in VisitCheckCast()
6992 __ andl(first.AsRegister<Register>(), second.AsRegister<Register>()); in HandleBitwiseOperation()
6994 __ orl(first.AsRegister<Register>(), second.AsRegister<Register>()); in HandleBitwiseOperation()
6997 __ xorl(first.AsRegister<Register>(), second.AsRegister<Register>()); in HandleBitwiseOperation()
7001 __ andl(first.AsRegister<Register>(), in HandleBitwiseOperation()
7004 __ orl(first.AsRegister<Register>(), in HandleBitwiseOperation()
7008 __ xorl(first.AsRegister<Register>(), in HandleBitwiseOperation()
7013 __ andl(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
7015 __ orl(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
7018 __ xorl(first.AsRegister<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
7025 __ andl(first.AsRegisterPairLow<Register>(), second.AsRegisterPairLow<Register>()); in HandleBitwiseOperation()
7026 __ andl(first.AsRegisterPairHigh<Register>(), second.AsRegisterPairHigh<Register>()); in HandleBitwiseOperation()
7028 __ orl(first.AsRegisterPairLow<Register>(), second.AsRegisterPairLow<Register>()); in HandleBitwiseOperation()
7029 __ orl(first.AsRegisterPairHigh<Register>(), second.AsRegisterPairHigh<Register>()); in HandleBitwiseOperation()
7032 __ xorl(first.AsRegisterPairLow<Register>(), second.AsRegisterPairLow<Register>()); in HandleBitwiseOperation()
7033 __ xorl(first.AsRegisterPairHigh<Register>(), second.AsRegisterPairHigh<Register>()); in HandleBitwiseOperation()
7037 __ andl(first.AsRegisterPairLow<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
7038 __ andl(first.AsRegisterPairHigh<Register>(), in HandleBitwiseOperation()
7041 __ orl(first.AsRegisterPairLow<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
7042 __ orl(first.AsRegisterPairHigh<Register>(), in HandleBitwiseOperation()
7046 __ xorl(first.AsRegisterPairLow<Register>(), Address(ESP, second.GetStackIndex())); in HandleBitwiseOperation()
7047 __ xorl(first.AsRegisterPairHigh<Register>(), in HandleBitwiseOperation()
7061 __ xorl(first_low, first_low); in HandleBitwiseOperation()
7063 __ andl(first_low, low); in HandleBitwiseOperation()
7066 __ xorl(first_high, first_high); in HandleBitwiseOperation()
7068 __ andl(first_high, high); in HandleBitwiseOperation()
7072 __ orl(first_low, low); in HandleBitwiseOperation()
7075 __ orl(first_high, high); in HandleBitwiseOperation()
7080 __ xorl(first_low, low); in HandleBitwiseOperation()
7083 __ xorl(first_high, high); in HandleBitwiseOperation()
7110 __ movl(maybe_temp.AsRegister<Register>(), out_reg); in GenerateReferenceLoadOneRegister()
7112 __ movl(out_reg, Address(out_reg, offset)); in GenerateReferenceLoadOneRegister()
7118 __ movl(out_reg, Address(out_reg, offset)); in GenerateReferenceLoadOneRegister()
7119 __ MaybeUnpoisonHeapReference(out_reg); in GenerateReferenceLoadOneRegister()
7141 __ movl(out_reg, Address(obj_reg, offset)); in GenerateReferenceLoadTwoRegisters()
7147 __ movl(out_reg, Address(obj_reg, offset)); in GenerateReferenceLoadTwoRegisters()
7148 __ MaybeUnpoisonHeapReference(out_reg); in GenerateReferenceLoadTwoRegisters()
7172 __ movl(root_reg, address); in GenerateGcRootFieldLoad()
7174 __ Bind(fixup_label); in GenerateGcRootFieldLoad()
7192 __ fs()->cmpl(Address::Absolute(entry_point_offset), Immediate(0)); in GenerateGcRootFieldLoad()
7194 __ j(kNotEqual, slow_path->GetEntryLabel()); in GenerateGcRootFieldLoad()
7195 __ Bind(slow_path->GetExitLabel()); in GenerateGcRootFieldLoad()
7200 __ leal(root_reg, address); in GenerateGcRootFieldLoad()
7202 __ Bind(fixup_label); in GenerateGcRootFieldLoad()
7210 __ movl(root_reg, address); in GenerateGcRootFieldLoad()
7212 __ Bind(fixup_label); in GenerateGcRootFieldLoad()
7297 __ testb(Address(obj, monitor_offset + gray_byte_position), Immediate(test_value)); in GenerateReferenceLoadWithBakerReadBarrier()
7308 __ movl(ref_reg, src); // Flags are unaffected. in GenerateReferenceLoadWithBakerReadBarrier()
7324 __ j(kNotZero, slow_path->GetEntryLabel()); in GenerateReferenceLoadWithBakerReadBarrier()
7327 __ MaybeUnpoisonHeapReference(ref_reg); in GenerateReferenceLoadWithBakerReadBarrier()
7329 __ Bind(slow_path->GetExitLabel()); in GenerateReferenceLoadWithBakerReadBarrier()
7355 __ jmp(slow_path->GetEntryLabel()); in GenerateReadBarrierSlow()
7356 __ Bind(slow_path->GetExitLabel()); in GenerateReadBarrierSlow()
7373 __ UnpoisonHeapReference(out.AsRegister<Register>()); in MaybeGenerateReadBarrierSlow()
7390 __ jmp(slow_path->GetEntryLabel()); in GenerateReadBarrierForRootSlow()
7391 __ Bind(slow_path->GetExitLabel()); in GenerateReadBarrierForRootSlow()
7425 __ cmpl(value_reg, Immediate(lower_bound)); in GenPackedSwitchWithCompares()
7426 __ j(first_condition, codegen_->GetLabelOf(default_block)); in GenPackedSwitchWithCompares()
7427 __ j(kEqual, codegen_->GetLabelOf(successors[0])); in GenPackedSwitchWithCompares()
7439 __ cmpl(value_reg, Immediate(compare_to_value)); in GenPackedSwitchWithCompares()
7441 __ j(first_condition, codegen_->GetLabelOf(successors[index])); in GenPackedSwitchWithCompares()
7443 __ j(kEqual, codegen_->GetLabelOf(successors[index + 1])); in GenPackedSwitchWithCompares()
7449 __ cmpl(value_reg, Immediate(lower_bound + index)); in GenPackedSwitchWithCompares()
7450 __ j(kEqual, codegen_->GetLabelOf(successors[index])); in GenPackedSwitchWithCompares()
7455 __ jmp(codegen_->GetLabelOf(default_block)); in GenPackedSwitchWithCompares()
7506 __ leal(temp_reg, Address(value_reg, -lower_bound)); in VisitX86PackedSwitch()
7512 __ cmpl(value_reg, Immediate(num_entries - 1)); in VisitX86PackedSwitch()
7513 __ j(kAbove, codegen_->GetLabelOf(default_block)); in VisitX86PackedSwitch()
7517 __ movl(temp_reg, codegen_->LiteralCaseTable(switch_instr, constant_area, value_reg)); in VisitX86PackedSwitch()
7520 __ addl(temp_reg, constant_area); in VisitX86PackedSwitch()
7523 __ jmp(temp_reg); in VisitX86PackedSwitch()
7540 __ call(&next_instruction); in VisitX86ComputeBaseMethodAddress()
7541 __ Bind(&next_instruction); in VisitX86ComputeBaseMethodAddress()
7547 __ popl(reg); in VisitX86ComputeBaseMethodAddress()
7590 __ movss(out.AsFpuRegister<XmmRegister>(), in VisitX86LoadFromConstantTable()
7596 __ movsd(out.AsFpuRegister<XmmRegister>(), in VisitX86LoadFromConstantTable()
7602 __ movl(out.AsRegister<Register>(), in VisitX86LoadFromConstantTable()
7713 new (GetGraph()->GetArena()) RIPFixup(*this, method_base, __ AddDouble(v)); in LiteralDoubleAddress()
7720 AssemblerFixup* fixup = new (GetGraph()->GetArena()) RIPFixup(*this, method_base, __ AddFloat(v)); in LiteralFloatAddress()
7727 AssemblerFixup* fixup = new (GetGraph()->GetArena()) RIPFixup(*this, method_base, __ AddInt32(v)); in LiteralInt32Address()
7734 AssemblerFixup* fixup = new (GetGraph()->GetArena()) RIPFixup(*this, method_base, __ AddInt64(v)); in LiteralInt64Address()
7740 __ xorl(dest, dest); in Load32BitValue()
7742 __ movl(dest, Immediate(value)); in Load32BitValue()
7748 __ testl(dest, dest); in Compare32BitValue()
7750 __ cmpl(dest, Immediate(value)); in Compare32BitValue()
7764 __ cmpl(lhs, Address(ESP, rhs.GetStackIndex())); in GenerateIntCompare()
7766 __ cmpl(lhs, rhs.AsRegister<Register>()); in GenerateIntCompare()
7850 #undef __