Home
last modified time | relevance | path

Searched refs:root_reg (Results 1 – 8 of 8) sorted by relevance

/art/dex2oat/linker/arm/
Drelative_patcher_thumb2_test.cc289 static uint32_t EncodeBakerReadBarrierGcRootData(uint32_t root_reg, bool narrow) { in EncodeBakerReadBarrierGcRootData() argument
290 return arm::CodeGeneratorARMVIXL::EncodeBakerReadBarrierGcRootData(root_reg, narrow); in EncodeBakerReadBarrierGcRootData()
307 std::vector<uint8_t> CompileBakerGcRootThunk(uint32_t root_reg, bool narrow) { in CompileBakerGcRootThunk() argument
309 /* literal_offset */ 0u, EncodeBakerReadBarrierGcRootData(root_reg, narrow)); in CompileBakerGcRootThunk()
1188 for (uint32_t root_reg : kBakerValidRegs) { in TEST_F() local
1190 uint32_t ldr = kLdrWInsn | (/* offset */ 8) | (/* base_reg */ 0 << 16) | (root_reg << 12); in TEST_F()
1196 kLiteralOffset, EncodeBakerReadBarrierGcRootData(root_reg, /* narrow */ false)), in TEST_F()
1205 for (uint32_t root_reg : kBakerValidRegs) { in TEST_F() local
1208 uint32_t ldr = kLdrWInsn | (/* offset */ 8) | (/* base_reg */ 0 << 16) | (root_reg << 12); in TEST_F()
1213 std::vector<uint8_t> expected_thunk = CompileBakerGcRootThunk(root_reg, /* narrow */ false); in TEST_F()
[all …]
/art/compiler/optimizing/
Dcode_generator_arm_vixl.h860 static uint32_t EncodeBakerReadBarrierGcRootData(uint32_t root_reg, bool narrow) { in EncodeBakerReadBarrierGcRootData() argument
861 CheckValidReg(root_reg); in EncodeBakerReadBarrierGcRootData()
862 DCHECK(!narrow || root_reg < 8u) << root_reg; in EncodeBakerReadBarrierGcRootData()
866 BakerReadBarrierFirstRegField::Encode(root_reg) | in EncodeBakerReadBarrierGcRootData()
871 static uint32_t EncodeBakerReadBarrierUnsafeCasData(uint32_t root_reg) { in EncodeBakerReadBarrierUnsafeCasData() argument
872 CheckValidReg(root_reg); in EncodeBakerReadBarrierUnsafeCasData()
874 BakerReadBarrierFirstRegField::Encode(root_reg) | in EncodeBakerReadBarrierUnsafeCasData()
Dcode_generator_arm64.h973 static inline uint32_t EncodeBakerReadBarrierGcRootData(uint32_t root_reg) { in EncodeBakerReadBarrierGcRootData() argument
974 CheckValidReg(root_reg); in EncodeBakerReadBarrierGcRootData()
976 BakerReadBarrierFirstRegField::Encode(root_reg) | in EncodeBakerReadBarrierGcRootData()
Dcode_generator_arm64.cc1049 const uint32_t root_reg = BakerReadBarrierFirstRegField::Decode(encoded_data); in Finalize() local
1052 if ((prev_insn & 0xffe0ffff) != (0x2a0003e0 | root_reg)) { // MOV? in Finalize()
1053 CHECK_EQ(prev_insn & 0xffc0001fu, 0xb9400000u | root_reg); // LDR? in Finalize()
6258 Register root_reg = RegisterFrom(root, DataType::Type::kReference); in GenerateGcRootFieldLoad() local
6284 uint32_t custom_data = EncodeBakerReadBarrierGcRootData(root_reg.GetCode()); in GenerateGcRootFieldLoad()
6294 __ ldr(root_reg, MemOperand(obj.X(), offset)); in GenerateGcRootFieldLoad()
6302 __ Add(root_reg.X(), obj.X(), offset); in GenerateGcRootFieldLoad()
6304 EmitAddPlaceholder(fixup_label, root_reg.X(), obj.X()); in GenerateGcRootFieldLoad()
6313 __ Ldr(root_reg, MemOperand(obj, offset)); in GenerateGcRootFieldLoad()
6315 EmitLdrOffsetPlaceholder(fixup_label, root_reg, obj.X()); in GenerateGcRootFieldLoad()
[all …]
Dcode_generator_arm_vixl.cc2002 const uint32_t root_reg = BakerReadBarrierFirstRegField::Decode(encoded_data); in Finalize() local
2003 CHECK_EQ(prev_insn & 0xfff0f000u, 0xf8d00000u | (root_reg << 12)); in Finalize()
2008 const uint32_t root_reg = BakerReadBarrierFirstRegField::Decode(encoded_data); in Finalize() local
2009 CHECK_EQ(prev_insn & 0xf807u, 0x6800u | root_reg); in Finalize()
2017 const uint32_t root_reg = BakerReadBarrierFirstRegField::Decode(encoded_data); in Finalize() local
2018 CHECK_EQ(prev_insn & 0xfff0fff0u, 0xeb000000u | (root_reg << 8)); in Finalize()
8700 vixl32::Register root_reg = RegisterFrom(root); in GenerateGcRootFieldLoad() local
8724 bool narrow = CanEmitNarrowLdr(root_reg, obj, offset); in GenerateGcRootFieldLoad()
8725 uint32_t custom_data = EncodeBakerReadBarrierGcRootData(root_reg.GetCode(), narrow); in GenerateGcRootFieldLoad()
8739 __ ldr(EncodingSize(narrow ? Narrow : Wide), root_reg, MemOperand(obj, offset)); in GenerateGcRootFieldLoad()
[all …]
Dcode_generator_x86_64.cc7242 CpuRegister root_reg = root.AsRegister<CpuRegister>(); in GenerateGcRootFieldLoad() local
7256 __ movl(root_reg, address); in GenerateGcRootFieldLoad()
7284 __ leaq(root_reg, address); in GenerateGcRootFieldLoad()
7294 __ movl(root_reg, address); in GenerateGcRootFieldLoad()
Dcode_generator_x86.cc7965 Register root_reg = root.AsRegister<Register>(); in GenerateGcRootFieldLoad() local
7979 __ movl(root_reg, address); in GenerateGcRootFieldLoad()
8007 __ leal(root_reg, address); in GenerateGcRootFieldLoad()
8017 __ movl(root_reg, address); in GenerateGcRootFieldLoad()
/art/dex2oat/linker/arm64/
Drelative_patcher_arm64_test.cc528 static uint32_t EncodeBakerReadBarrierGcRootData(uint32_t root_reg) { in EncodeBakerReadBarrierGcRootData() argument
529 return arm64::CodeGeneratorARM64::EncodeBakerReadBarrierGcRootData(root_reg); in EncodeBakerReadBarrierGcRootData()
544 std::vector<uint8_t> CompileBakerGcRootThunk(uint32_t root_reg) { in CompileBakerGcRootThunk() argument
546 /* literal_offset */ 0u, EncodeBakerReadBarrierGcRootData(root_reg)); in CompileBakerGcRootThunk()
1380 for (uint32_t root_reg : valid_regs) { in TEST_F() local
1382 uint32_t ldr = kLdrWInsn | (/* offset */ 8 << (10 - 2)) | (/* base_reg */ 0 << 5) | root_reg; in TEST_F()
1388 kLiteralOffset, EncodeBakerReadBarrierGcRootData(root_reg)), in TEST_F()
1397 for (uint32_t root_reg : valid_regs) { in TEST_F() local
1401 uint32_t ldr = kLdrWInsn | (/* offset */ 8 << (10 - 2)) | (/* base_reg */ 0 << 5) | root_reg; in TEST_F()
1406 std::vector<uint8_t> expected_thunk = CompileBakerGcRootThunk(root_reg); in TEST_F()
[all …]