• Home
  • Raw
  • Download

Lines Matching refs:codegen_

1069         codegen_(codegen) {}  in InstructionCodeGeneratorX86()
1452 codegen_->MaybeIncrementHotness(/* is_frame_entry= */ false); in HandleGoto()
1460 if (!codegen_->GoesToNextBlock(got->GetBlock(), successor)) { in HandleGoto()
1461 __ jmp(codegen_->GetLabelOf(successor)); in HandleGoto()
1556 codegen_->Compare32BitValue(left_high, val_high); in GenerateLongComparesAndJumps()
1566 codegen_->Compare32BitValue(left_low, val_low); in GenerateLongComparesAndJumps()
1611 codegen_->LiteralDoubleAddress( in GenerateFPCompare()
1625 codegen_->LiteralFloatAddress( in GenerateFPCompare()
1756 codegen_->GenerateIntCompare(lhs, rhs); in GenerateTestAndBranch()
1781 Label* true_target = codegen_->GoesToNextBlock(if_instr->GetBlock(), true_successor) ? in VisitIf()
1782 nullptr : codegen_->GetLabelOf(true_successor); in VisitIf()
1783 Label* false_target = codegen_->GoesToNextBlock(if_instr->GetBlock(), false_successor) ? in VisitIf()
1784 nullptr : codegen_->GetLabelOf(false_successor); in VisitIf()
1816 Address(ESP, codegen_->GetStackOffsetOfShouldDeoptimizeFlag())); in VisitShouldDeoptimizeFlag()
1893 codegen_->GenerateIntCompare(cond_locations->InAt(0), cond_locations->InAt(1)); in VisitSelect()
1929 codegen_->MoveLocation(locations->Out(), locations->InAt(1), select->GetType()); in VisitSelect()
2002 codegen_->GenerateIntCompare(lhs, rhs); in HandleCondition()
2169 codegen_->GenerateMemoryBarrier(MemBarrierKind::kStoreStore); in VisitConstructorFence()
2177 codegen_->GenerateMemoryBarrier(memory_barrier->GetBarrierKind()); in VisitMemoryBarrier()
2185 codegen_->GenerateFrameExit(); in VisitReturnVoid()
2260 codegen_->GenerateFrameExit(); in VisitReturn()
2271 codegen_->GenerateInvokeUnresolvedRuntimeCall(invoke); in VisitInvokeUnresolved()
2279 IntrinsicLocationsBuilderX86 intrinsic(codegen_); in VisitInvokeStaticOrDirect()
2311 if (TryGenerateIntrinsicCode(invoke, codegen_)) { in VisitInvokeStaticOrDirect()
2316 codegen_->GenerateStaticOrDirectCall( in VisitInvokeStaticOrDirect()
2321 IntrinsicLocationsBuilderX86 intrinsic(codegen_); in VisitInvokeVirtual()
2340 if (TryGenerateIntrinsicCode(invoke, codegen_)) { in VisitInvokeVirtual()
2344 codegen_->GenerateVirtualCall(invoke, invoke->GetLocations()->GetTemp(0)); in VisitInvokeVirtual()
2345 DCHECK(!codegen_->IsLeafMethod()); in VisitInvokeVirtual()
2414 codegen_->MaybeRecordImplicitNullCheck(invoke); in VisitInvokeInterface()
2424 codegen_->MaybeGenerateInlineCacheCheck(invoke, temp); in VisitInvokeInterface()
2437 DCHECK(!codegen_->IsLeafMethod()); in VisitInvokeInterface()
2438 codegen_->RecordPcInfo(invoke, invoke->GetDexPc()); in VisitInvokeInterface()
2446 codegen_->GenerateInvokePolymorphicCall(invoke); in VisitInvokePolymorphic()
2454 codegen_->GenerateInvokeCustomCall(invoke); in VisitInvokeCustom()
2556 __ movss(mask, codegen_->LiteralInt32Address(INT32_C(0x80000000), in VisitX86FPNeg()
2561 __ movsd(mask, codegen_->LiteralInt64Address(INT64_C(0x8000000000000000), in VisitX86FPNeg()
2957 codegen_->InvokeRuntime(kQuickF2l, conversion, conversion->GetDexPc()); in VisitTypeConversion()
2962 codegen_->InvokeRuntime(kQuickD2l, conversion, conversion->GetDexPc()); in VisitTypeConversion()
3002 codegen_->Move32(out, stack_temp); in VisitTypeConversion()
3052 codegen_->Move64(out, stack_temp); in VisitTypeConversion()
3171 codegen_->LiteralFloatAddress( in VisitAdd()
3189 codegen_->LiteralDoubleAddress( in VisitAdd()
3277 codegen_->LiteralFloatAddress( in VisitSub()
3295 codegen_->LiteralDoubleAddress( in VisitSub()
3466 codegen_->LiteralFloatAddress( in VisitMul()
3485 codegen_->LiteralDoubleAddress( in VisitMul()
3524 codegen_->Move32(stack_temp, source); in PushOntoFPStack()
3532 codegen_->Move64(stack_temp, source); in PushOntoFPStack()
3765 SlowPathCode* slow_path = new (codegen_->GetScopedAllocator()) DivRemMinusOneSlowPathX86( in GenerateDivRemIntegral()
3767 codegen_->AddSlowPath(slow_path); in GenerateDivRemIntegral()
3796 codegen_->InvokeRuntime(kQuickLdiv, instruction, instruction->GetDexPc()); in GenerateDivRemIntegral()
3799 codegen_->InvokeRuntime(kQuickLmod, instruction, instruction->GetDexPc()); in GenerateDivRemIntegral()
3879 codegen_->LiteralFloatAddress( in VisitDiv()
3897 codegen_->LiteralDoubleAddress( in VisitDiv()
4272 LocationSummary* locations = codegen_->CreateThrowingSlowPathLocations(instruction); in VisitDivZeroCheck()
4297 new (codegen_->GetScopedAllocator()) DivZeroCheckSlowPathX86(instruction); in VisitDivZeroCheck()
4298 codegen_->AddSlowPath(slow_path); in VisitDivZeroCheck()
4443 codegen_->EmitParallelMoves( in GenerateShlLong()
4510 codegen_->EmitParallelMoves( in GenerateUShrLong()
4658 codegen_->InvokeRuntime(instruction->GetEntrypoint(), instruction, instruction->GetDexPc()); in VisitNewInstance()
4660 DCHECK(!codegen_->IsLeafMethod()); in VisitNewInstance()
4675 codegen_->InvokeRuntime(entrypoint, instruction, instruction->GetDexPc()); in VisitNewArray()
4677 DCHECK(!codegen_->IsLeafMethod()); in VisitNewArray()
4685 location = Location::StackSlot(location.GetStackIndex() + codegen_->GetFrameSize()); in VisitParameterValue()
4687 location = Location::DoubleStackSlot(location.GetStackIndex() + codegen_->GetFrameSize()); in VisitParameterValue()
4823 codegen_->GenerateIntCompare(left, right); in VisitCompare()
4847 codegen_->Compare32BitValue(left_high, val_high); in VisitCompare()
4857 codegen_->Compare32BitValue(left_low, val_low); in VisitCompare()
5365 codegen_->GenerateFieldLoadWithBakerReadBarrier( in HandleFieldGet()
5368 codegen_->GenerateMemoryBarrier(MemBarrierKind::kLoadAny); in HandleFieldGet()
5372 codegen_->MaybeRecordImplicitNullCheck(instruction); in HandleFieldGet()
5374 codegen_->GenerateMemoryBarrier(MemBarrierKind::kLoadAny); in HandleFieldGet()
5379 codegen_->MaybeGenerateReadBarrierSlow(instruction, out, out, base_loc, offset); in HandleFieldGet()
5388 codegen_->MaybeRecordImplicitNullCheck(instruction); in HandleFieldGet()
5395 codegen_->MaybeRecordImplicitNullCheck(instruction); in HandleFieldGet()
5422 codegen_->MaybeRecordImplicitNullCheck(instruction); in HandleFieldGet()
5430 codegen_->GenerateMemoryBarrier(MemBarrierKind::kLoadAny); in HandleFieldGet()
5495 codegen_->GenerateMemoryBarrier(MemBarrierKind::kAnyStore); in HandleFieldSet()
5548 codegen_->MaybeRecordImplicitNullCheck(instruction); in HandleFieldSet()
5552 codegen_->MaybeRecordImplicitNullCheck(instruction); in HandleFieldSet()
5556 codegen_->MaybeRecordImplicitNullCheck(instruction); in HandleFieldSet()
5577 codegen_->MaybeRecordImplicitNullCheck(instruction); in HandleFieldSet()
5594 codegen_->MaybeRecordImplicitNullCheck(instruction); in HandleFieldSet()
5600 codegen_->MarkGCCard(temp, card, base, value.AsRegister<Register>(), value_can_be_null); in HandleFieldSet()
5604 codegen_->GenerateMemoryBarrier(MemBarrierKind::kAnyAny); in HandleFieldSet()
5641 codegen_->CreateStringBuilderAppendLocations(instruction, Location::RegisterLocation(EAX)); in VisitStringBuilderAppend()
5646 codegen_->InvokeRuntime(kQuickStringBuilderAppend, instruction, instruction->GetDexPc()); in VisitStringBuilderAppend()
5652 codegen_->CreateUnresolvedFieldLocationSummary( in VisitUnresolvedInstanceFieldGet()
5659 codegen_->GenerateUnresolvedFieldAccess(instruction, in VisitUnresolvedInstanceFieldGet()
5669 codegen_->CreateUnresolvedFieldLocationSummary( in VisitUnresolvedInstanceFieldSet()
5676 codegen_->GenerateUnresolvedFieldAccess(instruction, in VisitUnresolvedInstanceFieldSet()
5686 codegen_->CreateUnresolvedFieldLocationSummary( in VisitUnresolvedStaticFieldGet()
5693 codegen_->GenerateUnresolvedFieldAccess(instruction, in VisitUnresolvedStaticFieldGet()
5703 codegen_->CreateUnresolvedFieldLocationSummary( in VisitUnresolvedStaticFieldSet()
5710 codegen_->GenerateUnresolvedFieldAccess(instruction, in VisitUnresolvedStaticFieldSet()
5718 LocationSummary* locations = codegen_->CreateThrowingSlowPathLocations(instruction); in VisitNullCheck()
5719 Location loc = codegen_->GetCompilerOptions().GetImplicitNullChecks() in VisitNullCheck()
5757 codegen_->GenerateNullCheck(instruction); in VisitNullCheck()
5819 codegen_->MaybeRecordImplicitNullCheck(instruction); in VisitArrayGet()
5857 codegen_->GenerateArrayLoadWithBakerReadBarrier( in VisitArrayGet()
5862 codegen_->MaybeRecordImplicitNullCheck(instruction); in VisitArrayGet()
5869 codegen_->MaybeGenerateReadBarrierSlow(instruction, out_loc, out_loc, obj_loc, offset); in VisitArrayGet()
5871 codegen_->MaybeGenerateReadBarrierSlow( in VisitArrayGet()
5882 codegen_->MaybeRecordImplicitNullCheck(instruction); in VisitArrayGet()
5911 codegen_->MaybeRecordImplicitNullCheck(instruction); in VisitArrayGet()
5970 codegen_->MaybeRecordImplicitNullCheck(instruction); in VisitArraySet()
5983 codegen_->MaybeRecordImplicitNullCheck(instruction); in VisitArraySet()
5996 codegen_->MaybeRecordImplicitNullCheck(instruction); in VisitArraySet()
6016 slow_path = new (codegen_->GetScopedAllocator()) ArraySetSlowPathX86(instruction); in VisitArraySet()
6017 codegen_->AddSlowPath(slow_path); in VisitArraySet()
6033 codegen_->MaybeRecordImplicitNullCheck(instruction); in VisitArraySet()
6062 codegen_->MarkGCCard( in VisitArraySet()
6080 codegen_->MaybeRecordImplicitNullCheck(instruction); in VisitArraySet()
6100 codegen_->MaybeRecordImplicitNullCheck(instruction); in VisitArraySet()
6109 codegen_->MaybeRecordImplicitNullCheck(instruction); in VisitArraySet()
6117 codegen_->MaybeRecordImplicitNullCheck(instruction); in VisitArraySet()
6134 codegen_->MaybeRecordImplicitNullCheck(instruction); in VisitArraySet()
6149 codegen_->MaybeRecordImplicitNullCheck(instruction); in VisitArraySet()
6181 codegen_->MaybeRecordImplicitNullCheck(instruction); in VisitArrayLength()
6193 LocationSummary* locations = codegen_->CreateThrowingSlowPathLocations(instruction, caller_saves); in VisitBoundsCheck()
6212 new (codegen_->GetScopedAllocator()) BoundsCheckSlowPathX86(instruction); in VisitBoundsCheck()
6220 codegen_->AddSlowPath(slow_path); in VisitBoundsCheck()
6232 codegen_->AddSlowPath(slow_path); in VisitBoundsCheck()
6247 codegen_->MaybeRecordImplicitNullCheck(array_length); in VisitBoundsCheck()
6249 codegen_->GenerateIntCompare(length_reg, index_loc); in VisitBoundsCheck()
6259 codegen_->MaybeRecordImplicitNullCheck(array_length); in VisitBoundsCheck()
6262 codegen_->GenerateIntCompare(length_loc, index_loc); in VisitBoundsCheck()
6264 codegen_->AddSlowPath(slow_path); in VisitBoundsCheck()
6278 codegen_->ClearSpillSlotsFromLoopPhisInStackMap(suspend_check, instruction); in VisitParallelMove()
6281 codegen_->GetMoveResolver()->EmitNativeCode(instruction); in VisitParallelMove()
6314 new (codegen_->GetScopedAllocator()) SuspendCheckSlowPathX86(instruction, successor); in GenerateSuspendCheck()
6316 codegen_->AddSlowPath(slow_path); in GenerateSuspendCheck()
6330 __ j(kEqual, codegen_->GetLabelOf(successor)); in GenerateSuspendCheck()
6336 return codegen_->GetAssembler(); in GetAssembler()
6341 this, kNoRegister, EAX, codegen_->GetNumberOfCoreRegisters()); in MoveMemoryToMemory()
6446 this, kNoRegister, EAX, codegen_->GetNumberOfCoreRegisters()); in EmitMove()
6501 this, reg, suggested_scratch, codegen_->GetNumberOfCoreRegisters()); in Exchange()
6511 this, kNoRegister, EAX, codegen_->GetNumberOfCoreRegisters()); in Exchange32()
6531 this, kNoRegister, EAX, codegen_->GetNumberOfCoreRegisters()); in ExchangeMemory()
6535 this, ensure_scratch1.GetRegister(), suggested_scratch, codegen_->GetNumberOfCoreRegisters()); in ExchangeMemory()
6699 codegen_->GenerateLoadClassRuntimeCall(cls); in VisitLoadClass()
6727 DCHECK(codegen_->GetCompilerOptions().IsBootImage() || in VisitLoadClass()
6728 codegen_->GetCompilerOptions().IsBootImageExtension()); in VisitLoadClass()
6732 codegen_->RecordBootImageTypePatch(cls); in VisitLoadClass()
6736 DCHECK(!codegen_->GetCompilerOptions().IsBootImage()); in VisitLoadClass()
6739 codegen_->RecordBootImageRelRoPatch(cls->InputAt(0)->AsX86ComputeBaseMethodAddress(), in VisitLoadClass()
6740 codegen_->GetBootImageOffset(cls)); in VisitLoadClass()
6746 Label* fixup_label = codegen_->NewTypeBssEntryPatch(cls); in VisitLoadClass()
6761 Label* fixup_label = codegen_->NewJitRootClassPatch( in VisitLoadClass()
6775 SlowPathCode* slow_path = new (codegen_->GetScopedAllocator()) LoadClassSlowPathX86(cls, cls); in VisitLoadClass()
6776 codegen_->AddSlowPath(slow_path); in VisitLoadClass()
6798 codegen_->GenerateLoadMethodHandleRuntimeCall(load); in VisitLoadMethodHandle()
6808 codegen_->GenerateLoadMethodTypeRuntimeCall(load); in VisitLoadMethodType()
6825 new (codegen_->GetScopedAllocator()) LoadClassSlowPathX86(check->GetLoadClass(), check); in VisitClinitCheck()
6826 codegen_->AddSlowPath(slow_path); in VisitClinitCheck()
6925 DCHECK(codegen_->GetCompilerOptions().IsBootImage() || in VisitLoadString()
6926 codegen_->GetCompilerOptions().IsBootImageExtension()); in VisitLoadString()
6929 codegen_->RecordBootImageStringPatch(load); in VisitLoadString()
6933 DCHECK(!codegen_->GetCompilerOptions().IsBootImage()); in VisitLoadString()
6936 codegen_->RecordBootImageRelRoPatch(load->InputAt(0)->AsX86ComputeBaseMethodAddress(), in VisitLoadString()
6937 codegen_->GetBootImageOffset(load)); in VisitLoadString()
6943 Label* fixup_label = codegen_->NewStringBssEntryPatch(load); in VisitLoadString()
6947 SlowPathCode* slow_path = new (codegen_->GetScopedAllocator()) LoadStringSlowPathX86(load); in VisitLoadString()
6948 codegen_->AddSlowPath(slow_path); in VisitLoadString()
6962 Label* fixup_label = codegen_->NewJitRootStringPatch( in VisitLoadString()
6976 codegen_->InvokeRuntime(kQuickResolveString, load, load->GetDexPc()); in VisitLoadString()
7010 codegen_->InvokeRuntime(kQuickDeliverException, instruction, instruction->GetDexPc()); in VisitThrow()
7251 slow_path = new (codegen_->GetScopedAllocator()) TypeCheckSlowPathX86( in VisitInstanceOf()
7253 codegen_->AddSlowPath(slow_path); in VisitInstanceOf()
7283 slow_path = new (codegen_->GetScopedAllocator()) TypeCheckSlowPathX86( in VisitInstanceOf()
7285 codegen_->AddSlowPath(slow_path); in VisitInstanceOf()
7367 new (codegen_->GetScopedAllocator()) TypeCheckSlowPathX86( in VisitCheckCast()
7369 codegen_->AddSlowPath(type_check_slow_path); in VisitCheckCast()
7581 codegen_->InvokeRuntime(instruction->IsEnter() ? kQuickLockObject in VisitMonitorOperation()
7593 DCHECK(codegen_->GetInstructionSetFeatures().HasAVX2()); in VisitX86AndNot()
7622 DCHECK(codegen_->GetInstructionSetFeatures().HasAVX2()); in VisitX86MaskOrResetLeastSetBit()
7792 codegen_->GenerateFieldLoadWithBakerReadBarrier( in GenerateReferenceLoadOneRegister()
7803 codegen_->GenerateReadBarrierSlow(instruction, out, out, maybe_temp, offset); in GenerateReferenceLoadOneRegister()
7826 codegen_->GenerateFieldLoadWithBakerReadBarrier( in GenerateReferenceLoadTwoRegisters()
7832 codegen_->GenerateReadBarrierSlow(instruction, out, out, obj, offset); in GenerateReferenceLoadTwoRegisters()
7875 SlowPathCode* slow_path = new (codegen_->GetScopedAllocator()) ReadBarrierMarkSlowPathX86( in GenerateGcRootFieldLoad()
7877 codegen_->AddSlowPath(slow_path); in GenerateGcRootFieldLoad()
7895 codegen_->GenerateReadBarrierForRootSlow(instruction, root, root); in GenerateGcRootFieldLoad()
8116 __ j(first_condition, codegen_->GetLabelOf(default_block)); in GenPackedSwitchWithCompares()
8117 __ j(kEqual, codegen_->GetLabelOf(successors[0])); in GenPackedSwitchWithCompares()
8131 __ j(first_condition, codegen_->GetLabelOf(successors[index])); in GenPackedSwitchWithCompares()
8133 __ j(kEqual, codegen_->GetLabelOf(successors[index + 1])); in GenPackedSwitchWithCompares()
8140 __ j(kEqual, codegen_->GetLabelOf(successors[index])); in GenPackedSwitchWithCompares()
8144 if (!codegen_->GoesToNextBlock(switch_block, default_block)) { in GenPackedSwitchWithCompares()
8145 __ jmp(codegen_->GetLabelOf(default_block)); in GenPackedSwitchWithCompares()
8203 __ j(kAbove, codegen_->GetLabelOf(default_block)); in VisitX86PackedSwitch()
8207 __ movl(temp_reg, codegen_->LiteralCaseTable(switch_instr, constant_area, value_reg)); in VisitX86PackedSwitch()
8234 codegen_->AddMethodAddressOffset(insn, GetAssembler()->CodeSize()); in VisitX86ComputeBaseMethodAddress()
8281 codegen_->LiteralFloatAddress( in VisitX86LoadFromConstantTable()
8287 codegen_->LiteralDoubleAddress( in VisitX86LoadFromConstantTable()
8293 codegen_->LiteralInt32Address( in VisitX86LoadFromConstantTable()
8310 : codegen_(&codegen), in RIPFixup()
8317 CodeGeneratorX86* codegen_; member in art::x86::RIPFixup
8326 int32_t constant_offset = codegen_->ConstantAreaStart() + offset_into_constant_area_; in Process()
8328 constant_offset - codegen_->GetMethodAddressOffset(base_method_address_); in Process()
8349 X86Assembler* assembler = codegen_->GetAssembler(); in CreateJumpTable()
8357 const int32_t relative_offset = codegen_->GetMethodAddressOffset(base_method_address_); in CreateJumpTable()
8366 Label* l = codegen_->GetLabelOf(b); in CreateJumpTable()
8553 return codegen_->GetInstructionSetFeatures().HasAVX(); in CpuHasAvxFeatureFlag()
8556 return codegen_->GetInstructionSetFeatures().HasAVX2(); in CpuHasAvx2FeatureFlag()
8559 return codegen_->GetInstructionSetFeatures().HasAVX(); in CpuHasAvxFeatureFlag()
8562 return codegen_->GetInstructionSetFeatures().HasAVX2(); in CpuHasAvx2FeatureFlag()