Lines Matching refs:codegen

45 IntrinsicLocationsBuilderX86::IntrinsicLocationsBuilderX86(CodeGeneratorX86* codegen)  in IntrinsicLocationsBuilderX86()  argument
46 : allocator_(codegen->GetGraph()->GetAllocator()), in IntrinsicLocationsBuilderX86()
47 codegen_(codegen) { in IntrinsicLocationsBuilderX86()
71 #define __ down_cast<X86Assembler*>(codegen->GetAssembler())-> // NOLINT
82 void EmitNativeCode(CodeGenerator* codegen) override { in EmitNativeCode() argument
83 CodeGeneratorX86* x86_codegen = down_cast<CodeGeneratorX86*>(codegen); in EmitNativeCode()
349 CodeGeneratorX86* codegen) { in CreateSSE41FPToFPLocations() argument
351 if (!codegen->GetInstructionSetFeatures().HasSSE4_1()) { in CreateSSE41FPToFPLocations()
475 static void GenFPToFPCall(HInvoke* invoke, CodeGeneratorX86* codegen, QuickEntrypointEnum entry) { in GenFPToFPCall() argument
479 X86Assembler* assembler = codegen->GetAssembler(); in GenFPToFPCall()
494 codegen->InvokeRuntime(entry, invoke, invoke->GetDexPc()); in GenFPToFPCall()
517 CodeGeneratorX86* codegen, in GenLowestOneBit() argument
542 codegen->Load32BitValue(out_loc.AsRegisterPairLow<Register>(), 0); in GenLowestOneBit()
543 codegen->Load32BitValue(out_loc.AsRegisterPairHigh<Register>(), 1 << shift); in GenLowestOneBit()
545 codegen->Load32BitValue(out_loc.AsRegisterPairLow<Register>(), 1 << value); in GenLowestOneBit()
546 codegen->Load32BitValue(out_loc.AsRegisterPairHigh<Register>(), 0); in GenLowestOneBit()
549 codegen->Load32BitValue(out_loc.AsRegister<Register>(), 1 << value); in GenLowestOneBit()
572 if (codegen->GetInstructionSetFeatures().HasAVX2() && src.IsRegister()) { in GenLowestOneBit()
1134 CodeGeneratorX86* codegen, in GenerateStringIndexOf() argument
1164 slow_path = new (codegen->GetScopedAllocator()) IntrinsicSlowPathX86(invoke); in GenerateStringIndexOf()
1165 codegen->AddSlowPath(slow_path); in GenerateStringIndexOf()
1172 slow_path = new (codegen->GetScopedAllocator()) IntrinsicSlowPathX86(invoke); in GenerateStringIndexOf()
1173 codegen->AddSlowPath(slow_path); in GenerateStringIndexOf()
1637 CodeGeneratorX86* codegen) { in GenUnsafeGet() argument
1638 X86Assembler* assembler = down_cast<X86Assembler*>(codegen->GetAssembler()); in GenUnsafeGet()
1658 codegen->GenerateReferenceLoadWithBakerReadBarrier( in GenUnsafeGet()
1662 codegen->GenerateReadBarrierSlow( in GenUnsafeGet()
1835 CodeGeneratorX86* codegen) { in GenUnsafePut() argument
1836 X86Assembler* assembler = down_cast<X86Assembler*>(codegen->GetAssembler()); in GenUnsafePut()
1865 codegen->MemoryFence(); in GenUnsafePut()
1870 codegen->MarkGCCard(locations->GetTemp(0).AsRegister<Register>(), in GenUnsafePut()
1966 CodeGeneratorX86* codegen, in GenPrimitiveLockedCmpxchg() argument
1973 X86Assembler* assembler = down_cast<X86Assembler*>(codegen->GetAssembler()); in GenPrimitiveLockedCmpxchg()
1998 codegen->Move32(Location::RegisterLocation(EAX), expected_value); in GenPrimitiveLockedCmpxchg()
1999 codegen->Move32(Location::RegisterLocation(temp), new_value); in GenPrimitiveLockedCmpxchg()
2020 CodeGeneratorX86* codegen, in GenPrimitiveCAS() argument
2029 X86Assembler* assembler = down_cast<X86Assembler*>(codegen->GetAssembler()); in GenPrimitiveCAS()
2035 GenPrimitiveLockedCmpxchg(type, codegen, expected_value, new_value, base, offset, temp); in GenPrimitiveCAS()
2067 CodeGeneratorX86* codegen, in GenReferenceCAS() argument
2075 X86Assembler* assembler = down_cast<X86Assembler*>(codegen->GetAssembler()); in GenReferenceCAS()
2090 codegen->GenerateReferenceLoadWithBakerReadBarrier( in GenReferenceCAS()
2141 codegen->MarkGCCard(temp, temp2, base, value, value_can_be_null); in GenReferenceCAS()
2161 static void GenCAS(DataType::Type type, HInvoke* invoke, CodeGeneratorX86* codegen) { in GenCAS() argument
2178 GenReferenceCAS(invoke, codegen, expected_value, new_value, base, offset, temp, temp2); in GenCAS()
2181 GenPrimitiveCAS(type, codegen, expected_value, new_value, base, offset, out); in GenCAS()
2280 ArenaAllocator* allocator, CodeGeneratorX86* codegen, HInvoke* invoke, bool is_long) { in CreateBitCountLocations() argument
2281 if (!codegen->GetInstructionSetFeatures().HasPopCnt()) { in CreateBitCountLocations()
2296 CodeGeneratorX86* codegen, in GenBitCount() argument
2308 codegen->Load32BitValue(out, result); in GenBitCount()
2363 CodeGeneratorX86* codegen, in GenLeadingZeros() argument
2377 codegen->Load32BitValue(out, value); in GenLeadingZeros()
2467 CodeGeneratorX86* codegen, in GenTrailingZeros() argument
2481 codegen->Load32BitValue(out, value); in GenTrailingZeros()
3567 CodeGeneratorX86* codegen, in GenerateVarHandleFieldReference() argument
3570 X86Assembler* assembler = codegen->GetAssembler(); in GenerateVarHandleFieldReference()
3584 down_cast<InstructionCodeGeneratorX86*>(codegen->GetInstructionVisitor()); in GenerateVarHandleFieldReference()
3641 static void GenerateVarHandleGet(HInvoke* invoke, CodeGeneratorX86* codegen) { in GenerateVarHandleGet() argument
3646 X86Assembler* assembler = codegen->GetAssembler(); in GenerateVarHandleGet()
3651 SlowPathCode* slow_path = new (codegen->GetScopedAllocator()) IntrinsicSlowPathX86(invoke); in GenerateVarHandleGet()
3652 codegen->AddSlowPath(slow_path); in GenerateVarHandleGet()
3664 Register ref = GenerateVarHandleFieldReference(invoke, codegen, temp, offset); in GenerateVarHandleGet()
3669 codegen->GenerateReferenceLoadWithBakerReadBarrier( in GenerateVarHandleGet()
3674 codegen->LoadFromMemoryNoBarrier(type, out, field_addr, xmm_temp, /* is_atomic_load= */ true); in GenerateVarHandleGet()
3676 codegen->LoadFromMemoryNoBarrier(type, out, field_addr); in GenerateVarHandleGet()
3683 codegen->GenerateMemoryBarrier(MemBarrierKind::kLoadAny); in GenerateVarHandleGet()
3794 static void GenerateVarHandleSet(HInvoke* invoke, CodeGeneratorX86* codegen) { in GenerateVarHandleSet() argument
3799 X86Assembler* assembler = codegen->GetAssembler(); in GenerateVarHandleSet()
3806 SlowPathCode* slow_path = new (codegen->GetScopedAllocator()) IntrinsicSlowPathX86(invoke); in GenerateVarHandleSet()
3807 codegen->AddSlowPath(slow_path); in GenerateVarHandleSet()
3823 Register reference = GenerateVarHandleFieldReference(invoke, codegen, temp, offset); in GenerateVarHandleSet()
3836 codegen->GenerateMemoryBarrier(MemBarrierKind::kAnyStore); in GenerateVarHandleSet()
3846 down_cast<InstructionCodeGeneratorX86*>(codegen->GetInstructionVisitor()); in GenerateVarHandleSet()
3939 static void GenerateVarHandleGetAndSet(HInvoke* invoke, CodeGeneratorX86* codegen) { in GenerateVarHandleGetAndSet() argument
3944 X86Assembler* assembler = codegen->GetAssembler(); in GenerateVarHandleGetAndSet()
3952 SlowPathCode* slow_path = new (codegen->GetScopedAllocator()) IntrinsicSlowPathX86(invoke); in GenerateVarHandleGetAndSet()
3953 codegen->AddSlowPath(slow_path); in GenerateVarHandleGetAndSet()
3961 Register reference = GenerateVarHandleFieldReference(invoke, codegen, temp, offset); in GenerateVarHandleGetAndSet()
3965 codegen->GenerateMemoryBarrier(MemBarrierKind::kAnyStore); in GenerateVarHandleGetAndSet()
3996 codegen->Move32(Location::RegisterLocation(EAX), value); in GenerateVarHandleGetAndSet()
4004 codegen->GenerateReferenceLoadWithBakerReadBarrier( in GenerateVarHandleGetAndSet()
4014 codegen->MarkGCCard( in GenerateVarHandleGetAndSet()
4032 codegen->GenerateMemoryBarrier(MemBarrierKind::kLoadAny); in GenerateVarHandleGetAndSet()
4126 static void GenerateVarHandleCompareAndSetOrExchange(HInvoke* invoke, CodeGeneratorX86* codegen) { in GenerateVarHandleCompareAndSetOrExchange() argument
4131 X86Assembler* assembler = codegen->GetAssembler(); in GenerateVarHandleCompareAndSetOrExchange()
4143 SlowPathCode* slow_path = new (codegen->GetScopedAllocator()) IntrinsicSlowPathX86(invoke); in GenerateVarHandleCompareAndSetOrExchange()
4144 codegen->AddSlowPath(slow_path); in GenerateVarHandleCompareAndSetOrExchange()
4151 Register reference = GenerateVarHandleFieldReference(invoke, codegen, temp, offset); in GenerateVarHandleCompareAndSetOrExchange()
4171 invoke, codegen, expected_value, new_value, reference, offset, temp, temp2, is_cmpxchg); in GenerateVarHandleCompareAndSetOrExchange()
4175 type, codegen, expected_value, new_value, reference, offset, out, temp, is_cmpxchg); in GenerateVarHandleCompareAndSetOrExchange()
4294 static void GenerateVarHandleGetAndAdd(HInvoke* invoke, CodeGeneratorX86* codegen) { in GenerateVarHandleGetAndAdd() argument
4299 X86Assembler* assembler = codegen->GetAssembler(); in GenerateVarHandleGetAndAdd()
4307 SlowPathCode* slow_path = new (codegen->GetScopedAllocator()) IntrinsicSlowPathX86(invoke); in GenerateVarHandleGetAndAdd()
4308 codegen->AddSlowPath(slow_path); in GenerateVarHandleGetAndAdd()
4316 Register reference = GenerateVarHandleFieldReference(invoke, codegen, temp, offset); in GenerateVarHandleGetAndAdd()
4352 codegen, in GenerateVarHandleGetAndAdd()
4361 codegen->Move32(locations->Out(), eax); in GenerateVarHandleGetAndAdd()
4437 CodeGeneratorX86* codegen, in GenerateBitwiseOp() argument
4440 X86Assembler* assembler = codegen->GetAssembler(); in GenerateBitwiseOp()
4463 static void GenerateVarHandleGetAndBitwiseOp(HInvoke* invoke, CodeGeneratorX86* codegen) { in GenerateVarHandleGetAndBitwiseOp() argument
4468 X86Assembler* assembler = codegen->GetAssembler(); in GenerateVarHandleGetAndBitwiseOp()
4474 SlowPathCode* slow_path = new (codegen->GetScopedAllocator()) IntrinsicSlowPathX86(invoke); in GenerateVarHandleGetAndBitwiseOp()
4475 codegen->AddSlowPath(slow_path); in GenerateVarHandleGetAndBitwiseOp()
4487 reference = GenerateVarHandleFieldReference(invoke, codegen, reference, offset); in GenerateVarHandleGetAndBitwiseOp()
4497 codegen->GenerateMemoryBarrier(MemBarrierKind::kAnyStore); in GenerateVarHandleGetAndBitwiseOp()
4503 codegen->LoadFromMemoryNoBarrier(type, locations->Out(), field_addr); in GenerateVarHandleGetAndBitwiseOp()
4504 codegen->Move32(locations->GetTemp(0), locations->InAt(value_index)); in GenerateVarHandleGetAndBitwiseOp()
4505 GenerateBitwiseOp(invoke, codegen, temp, out); in GenerateVarHandleGetAndBitwiseOp()
4507 codegen, in GenerateVarHandleGetAndBitwiseOp()
4520 codegen->GenerateMemoryBarrier(MemBarrierKind::kLoadAny); in GenerateVarHandleGetAndBitwiseOp()