/art/runtime/interpreter/mterp/x86_64/ |
D | array.S | 1 %def op_aget(load="movl", shift="4", data_offset="MIRROR_INT_ARRAY_DATA_OFFSET", wide="0"): 18 movq $data_offset(%rax,%rcx,8), %rax 21 $load $data_offset(%rax,%rcx,$shift), %eax 27 % op_aget(load="movzbl", shift="1", data_offset="MIRROR_BOOLEAN_ARRAY_DATA_OFFSET") 30 % op_aget(load="movsbl", shift="1", data_offset="MIRROR_BYTE_ARRAY_DATA_OFFSET") 33 % op_aget(load="movzwl", shift="2", data_offset="MIRROR_CHAR_ARRAY_DATA_OFFSET") 55 % op_aget(load="movswl", shift="2", data_offset="MIRROR_SHORT_ARRAY_DATA_OFFSET") 58 % op_aget(load="movq", shift="8", data_offset="MIRROR_WIDE_ARRAY_DATA_OFFSET", wide="1") 60 %def op_aput(reg="rINST", store="movl", shift="4", data_offset="MIRROR_INT_ARRAY_DATA_OFFSET", wide… 81 $store $reg, $data_offset(%rax,%rcx,$shift) [all …]
|
/art/runtime/interpreter/mterp/arm64/ |
D | array.S | 1 %def op_aget(load="ldr", shift="2", data_offset="MIRROR_INT_ARRAY_DATA_OFFSET"): 25 $load w2, [x0, #$data_offset] // w2<- vBB[vCC] 31 % op_aget(load="ldrb", shift="0", data_offset="MIRROR_BOOLEAN_ARRAY_DATA_OFFSET") 34 % op_aget(load="ldrsb", shift="0", data_offset="MIRROR_BYTE_ARRAY_DATA_OFFSET") 37 % op_aget(load="ldrh", shift="1", data_offset="MIRROR_CHAR_ARRAY_DATA_OFFSET") 62 % op_aget(load="ldrsh", shift="1", data_offset="MIRROR_SHORT_ARRAY_DATA_OFFSET") 87 %def op_aput(store="str", shift="2", data_offset="MIRROR_INT_ARRAY_DATA_OFFSET"): 113 $store w2, [x0, #$data_offset] // vBB[vCC]<- w2 117 % op_aput(store="strb", shift="0", data_offset="MIRROR_BOOLEAN_ARRAY_DATA_OFFSET") 120 % op_aput(store="strb", shift="0", data_offset="MIRROR_BYTE_ARRAY_DATA_OFFSET") [all …]
|
/art/runtime/interpreter/mterp/x86/ |
D | array.S | 1 %def op_aget(load="movl", shift="4", data_offset="MIRROR_INT_ARRAY_DATA_OFFSET"): 17 $load $data_offset(%eax,%ecx,$shift), %eax 22 % op_aget(load="movzbl", shift="1", data_offset="MIRROR_BOOLEAN_ARRAY_DATA_OFFSET") 25 % op_aget(load="movsbl", shift="1", data_offset="MIRROR_BYTE_ARRAY_DATA_OFFSET") 28 % op_aget(load="movzwl", shift="2", data_offset="MIRROR_CHAR_ARRAY_DATA_OFFSET") 53 % op_aget(load="movswl", shift="2", data_offset="MIRROR_SHORT_ARRAY_DATA_OFFSET") 73 %def op_aput(reg="rINST", store="movl", shift="4", data_offset="MIRROR_INT_ARRAY_DATA_OFFSET"): 89 leal $data_offset(%eax,%ecx,$shift), %eax 95 % op_aput(reg="rINSTbl", store="movb", shift="1", data_offset="MIRROR_BOOLEAN_ARRAY_DATA_OFFSET") 98 % op_aput(reg="rINSTbl", store="movb", shift="1", data_offset="MIRROR_BYTE_ARRAY_DATA_OFFSET") [all …]
|
/art/runtime/interpreter/mterp/mips/ |
D | array.S | 1 %def op_aget(load="lw", shift="2", data_offset="MIRROR_INT_ARRAY_DATA_OFFSET"): 26 $load a2, $data_offset(a0) # a2 <- vBB[vCC] 31 % op_aget(load="lbu", shift="0", data_offset="MIRROR_BOOLEAN_ARRAY_DATA_OFFSET") 34 % op_aget(load="lb", shift="0", data_offset="MIRROR_BYTE_ARRAY_DATA_OFFSET") 37 % op_aget(load="lhu", shift="1", data_offset="MIRROR_CHAR_ARRAY_DATA_OFFSET") 61 % op_aget(load="lh", shift="1", data_offset="MIRROR_SHORT_ARRAY_DATA_OFFSET") 87 %def op_aput(store="sw", shift="2", data_offset="MIRROR_INT_ARRAY_DATA_OFFSET"): 112 $store a2, $data_offset(a0) # vBB[vCC] <- a2 116 % op_aput(store="sb", shift="0", data_offset="MIRROR_BOOLEAN_ARRAY_DATA_OFFSET") 119 % op_aput(store="sb", shift="0", data_offset="MIRROR_BYTE_ARRAY_DATA_OFFSET") [all …]
|
/art/runtime/interpreter/mterp/mips64/ |
D | array.S | 1 %def op_aget(load="lw", shift="2", data_offset="MIRROR_INT_ARRAY_DATA_OFFSET"): 26 $load a2, $data_offset(a0) # a2 <- vBB[vCC] 32 % op_aget(load="lbu", shift="0", data_offset="MIRROR_BOOLEAN_ARRAY_DATA_OFFSET") 35 % op_aget(load="lb", shift="0", data_offset="MIRROR_BYTE_ARRAY_DATA_OFFSET") 38 % op_aget(load="lhu", shift="1", data_offset="MIRROR_CHAR_ARRAY_DATA_OFFSET") 64 % op_aget(load="lh", shift="1", data_offset="MIRROR_SHORT_ARRAY_DATA_OFFSET") 89 %def op_aput(store="sw", shift="2", data_offset="MIRROR_INT_ARRAY_DATA_OFFSET"): 116 $store a2, $data_offset(a0) # vBB[vCC] <- a2 120 % op_aput(store="sb", shift="0", data_offset="MIRROR_BOOLEAN_ARRAY_DATA_OFFSET") 123 % op_aput(store="sb", shift="0", data_offset="MIRROR_BYTE_ARRAY_DATA_OFFSET") [all …]
|
/art/runtime/interpreter/mterp/arm/ |
D | array.S | 1 %def op_aget(load="ldr", shift="2", data_offset="MIRROR_INT_ARRAY_DATA_OFFSET"): 26 $load r2, [r0, #$data_offset] @ r2<- vBB[vCC] 32 % op_aget(load="ldrb", shift="0", data_offset="MIRROR_BOOLEAN_ARRAY_DATA_OFFSET") 35 % op_aget(load="ldrsb", shift="0", data_offset="MIRROR_BYTE_ARRAY_DATA_OFFSET") 38 % op_aget(load="ldrh", shift="1", data_offset="MIRROR_CHAR_ARRAY_DATA_OFFSET") 64 % op_aget(load="ldrsh", shift="1", data_offset="MIRROR_SHORT_ARRAY_DATA_OFFSET") 93 %def op_aput(store="str", shift="2", data_offset="MIRROR_INT_ARRAY_DATA_OFFSET"): 120 $store r2, [r0, #$data_offset] @ vBB[vCC]<- r2 124 % op_aput(store="strb", shift="0", data_offset="MIRROR_BOOLEAN_ARRAY_DATA_OFFSET") 127 % op_aput(store="strb", shift="0", data_offset="MIRROR_BYTE_ARRAY_DATA_OFFSET") [all …]
|
/art/runtime/mirror/ |
D | array.h | 78 size_t data_offset = RoundUp(OFFSETOF_MEMBER(Array, first_element_), component_size); in DataOffset() local 79 DCHECK_EQ(RoundUp(data_offset, component_size), data_offset) in DataOffset() 81 return MemberOffset(data_offset); in DataOffset() 86 constexpr size_t data_offset = RoundUp(kFirstElementOffset, kComponentSize); in DataOffset() local 87 static_assert(RoundUp(data_offset, kComponentSize) == data_offset, "RoundUp fail"); in DataOffset() 88 return MemberOffset(data_offset); in DataOffset()
|
D | var_handle.cc | 1847 const int32_t data_offset = getter.Get(); in Access() local 1851 if (!CheckElementIndex(primitive_type, data_offset, byte_array->GetLength())) { in Access() 1867 data_offset, in Access() 1874 data_offset, in Access() 1881 data_offset, in Access() 1890 data_offset, in Access() 1897 data_offset, in Access() 1906 data_offset, in Access()
|
/art/compiler/optimizing/ |
D | instruction_simplifier_shared.cc | 235 size_t data_offset) { in TryExtractArrayAccessAddress() argument 260 HIntConstant* offset = graph->GetIntConstant(data_offset); in TryExtractArrayAccessAddress() 294 uint32_t data_offset = mirror::Array::DataOffset( in TryExtractVecArrayAccessAddress() local 308 if (another_data_offset == data_offset && another_component_shift == component_shift) { in TryExtractVecArrayAccessAddress() 316 if (another_data_offset == data_offset && another_component_shift == component_shift) { in TryExtractVecArrayAccessAddress() 328 HIntConstant* offset = graph->GetIntConstant(data_offset); in TryExtractVecArrayAccessAddress()
|
D | instruction_simplifier_arm.cc | 194 size_t data_offset = CodeGenerator::GetArrayDataOffset(instruction); in VisitArrayGet() local 221 data_offset)) { in VisitArrayGet() 228 size_t data_offset = mirror::Array::DataOffset(access_size).Uint32Value(); in VisitArraySet() local 242 data_offset)) { in VisitArraySet()
|
D | instruction_simplifier_arm64.cc | 198 size_t data_offset = CodeGenerator::GetArrayDataOffset(instruction); in VisitArrayGet() local 202 data_offset)) { in VisitArrayGet() 209 size_t data_offset = mirror::Array::DataOffset(access_size).Uint32Value(); in VisitArraySet() local 213 data_offset)) { in VisitArraySet()
|
D | instruction_simplifier_shared.h | 60 size_t data_offset);
|
D | code_generator_mips64.cc | 2323 uint32_t data_offset = CodeGenerator::GetArrayDataOffset(instruction); in VisitArrayGet() local 2335 (index.GetConstant()->AsIntConstant()->GetValue() << TIMES_1) + data_offset; in VisitArrayGet() 2339 __ LoadFromOffset(kLoadUnsignedByte, out, TMP, data_offset, null_checker); in VisitArrayGet() 2348 (index.GetConstant()->AsIntConstant()->GetValue() << TIMES_1) + data_offset; in VisitArrayGet() 2352 __ LoadFromOffset(kLoadSignedByte, out, TMP, data_offset, null_checker); in VisitArrayGet() 2374 data_offset + (const_index << TIMES_1)); in VisitArrayGet() 2380 data_offset + (const_index << TIMES_2)); in VisitArrayGet() 2386 data_offset + (const_index << TIMES_2), in VisitArrayGet() 2395 __ LoadFromOffset(kLoadUnsignedByte, out, TMP, data_offset); in VisitArrayGet() 2399 __ LoadFromOffset(kLoadUnsignedHalfword, out, TMP, data_offset); in VisitArrayGet() [all …]
|
D | code_generator_mips.cc | 2720 uint32_t data_offset = CodeGenerator::GetArrayDataOffset(instruction); in VisitArrayGet() local 2732 (index.GetConstant()->AsIntConstant()->GetValue() << TIMES_1) + data_offset; in VisitArrayGet() 2736 __ LoadFromOffset(kLoadUnsignedByte, out, TMP, data_offset, null_checker); in VisitArrayGet() 2745 (index.GetConstant()->AsIntConstant()->GetValue() << TIMES_1) + data_offset; in VisitArrayGet() 2749 __ LoadFromOffset(kLoadSignedByte, out, TMP, data_offset, null_checker); in VisitArrayGet() 2771 data_offset + (const_index << TIMES_1)); in VisitArrayGet() 2777 data_offset + (const_index << TIMES_2)); in VisitArrayGet() 2783 data_offset + (const_index << TIMES_2), in VisitArrayGet() 2792 __ LoadFromOffset(kLoadUnsignedByte, out, TMP, data_offset); in VisitArrayGet() 2796 __ LoadFromOffset(kLoadUnsignedHalfword, out, TMP, data_offset); in VisitArrayGet() [all …]
|
D | intrinsics_x86_64.cc | 786 const uint32_t data_offset = mirror::Array::DataOffset(char_size).Uint32Value(); in VisitSystemArrayCopyChar() local 790 __ leal(src_base, Address(src, char_size * src_pos_const + data_offset)); in VisitSystemArrayCopyChar() 793 ScaleFactor::TIMES_2, data_offset)); in VisitSystemArrayCopyChar() 797 __ leal(dest_base, Address(dest, char_size * dest_pos_const + data_offset)); in VisitSystemArrayCopyChar() 800 ScaleFactor::TIMES_2, data_offset)); in VisitSystemArrayCopyChar() 837 const uint32_t data_offset = mirror::Array::DataOffset(element_size).Uint32Value(); in GenSystemArrayCopyAddresses() local 841 __ leal(src_base, Address(src, element_size * constant + data_offset)); in GenSystemArrayCopyAddresses() 843 __ leal(src_base, Address(src, src_pos.AsRegister<CpuRegister>(), scale_factor, data_offset)); in GenSystemArrayCopyAddresses() 848 __ leal(dst_base, Address(dst, element_size * constant + data_offset)); in GenSystemArrayCopyAddresses() 850 __ leal(dst_base, Address(dst, dst_pos.AsRegister<CpuRegister>(), scale_factor, data_offset)); in GenSystemArrayCopyAddresses() [all …]
|
D | code_generator_arm_vixl.cc | 5943 uint32_t data_offset = CodeGenerator::GetArrayDataOffset(instruction); in VisitArrayGet() local 5976 data_offset + const_index); in VisitArrayGet() 5982 data_offset + (const_index << 1)); in VisitArrayGet() 5987 uint32_t full_offset = data_offset + (const_index << DataType::SizeShift(type)); in VisitArrayGet() 6002 DCHECK_EQ(Uint64ConstantFrom(tmp->GetOffset()), data_offset); in VisitArrayGet() 6006 __ Add(temp, obj, data_offset); in VisitArrayGet() 6048 data_offset += Int32ConstantFrom(index) << DataType::SizeShift(type); in VisitArrayGet() 6052 data_offset, in VisitArrayGet() 6058 out_loc, obj, data_offset, index, temp, /* needs_null_check= */ false); in VisitArrayGet() 6064 (Int32ConstantFrom(index) << TIMES_4) + data_offset; in VisitArrayGet() [all …]
|
D | code_generator_x86_64.h | 461 uint32_t data_offset, 564 uint32_t data_offset);
|
D | code_generator_x86.h | 515 uint32_t data_offset); 533 uint32_t data_offset,
|
D | intrinsics_x86.cc | 978 const uint32_t data_offset = mirror::Array::DataOffset(char_size).Uint32Value(); in VisitSystemArrayCopyChar() local 982 __ leal(src_base, Address(src, char_size * srcPos_const + data_offset)); in VisitSystemArrayCopyChar() 985 ScaleFactor::TIMES_2, data_offset)); in VisitSystemArrayCopyChar() 990 __ leal(dest_base, Address(dest, char_size * destPos_const + data_offset)); in VisitSystemArrayCopyChar() 993 ScaleFactor::TIMES_2, data_offset)); in VisitSystemArrayCopyChar() 1436 const uint32_t data_offset = mirror::Array::DataOffset(char_component_size).Uint32Value(); in VisitStringGetCharsNoCheck() local 1485 __ leal(EDI, Address(dst, dstBegin, ScaleFactor::TIMES_2, data_offset)); in VisitStringGetCharsNoCheck() 1502 __ leal(EDI, Address(dst, dstBegin, ScaleFactor::TIMES_2, data_offset)); in VisitStringGetCharsNoCheck() 2504 const uint32_t data_offset = mirror::Array::DataOffset(element_size).Uint32Value(); in GenSystemArrayCopyBaseAddress() local 2508 __ leal(base, Address(array, element_size * constant + data_offset)); in GenSystemArrayCopyBaseAddress() [all …]
|
D | code_generator_x86.cc | 5659 uint32_t data_offset = CodeGenerator::GetArrayDataOffset(instruction); in VisitArrayGet() local 5666 __ movzxb(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_1, data_offset)); in VisitArrayGet() 5672 __ movsxb(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_1, data_offset)); in VisitArrayGet() 5687 __ movzxb(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_1, data_offset)); in VisitArrayGet() 5690 __ movzxw(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_2, data_offset)); in VisitArrayGet() 5695 __ movzxw(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_2, data_offset)); in VisitArrayGet() 5702 __ movsxw(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_2, data_offset)); in VisitArrayGet() 5708 __ movl(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_4, data_offset)); in VisitArrayGet() 5722 instruction, out_loc, obj, data_offset, index, /* needs_null_check= */ true); in VisitArrayGet() 5725 __ movl(out, CodeGeneratorX86::ArrayAddress(obj, index, TIMES_4, data_offset)); in VisitArrayGet() [all …]
|
/art/libdexfile/dex/ |
D | test_dex_file_builder.h | 109 entry.second.data_offset = data_section_size; in Build() 131 entry.second.data_offset = RoundUp(data_section_size, 4u); in Build() 132 data_section_size = entry.second.data_offset + 4u + num_args * sizeof(dex::TypeItem); in Build() 134 entry.second.data_offset = 0u; in Build() 172 uint32_t raw_offset = data_section_offset + entry.second.data_offset; in Build() 186 (num_args != 0u) ? data_section_offset + entry.second.data_offset : 0u; in Build() 192 CHECK_NE(entry.second.data_offset, 0u); in Build() 282 uint32_t data_offset; member
|
/art/runtime/ |
D | class_linker_test.cc | 1077 uintptr_t data_offset = in TEST_F() local 1081 EXPECT_TRUE(IsAligned<4>(data_offset)); // Check 4 byte alignment. in TEST_F() 1083 EXPECT_TRUE(IsAligned<8>(data_offset)); // Check 8 byte alignment. in TEST_F() 1092 uintptr_t data_offset = reinterpret_cast<uintptr_t>(long_array->GetData()); in TEST_F() local 1093 EXPECT_TRUE(IsAligned<8>(data_offset)); // Longs require 8 byte alignment in TEST_F() 1097 data_offset = reinterpret_cast<uintptr_t>(double_array->GetData()); in TEST_F() 1098 EXPECT_TRUE(IsAligned<8>(data_offset)); // Doubles require 8 byte alignment in TEST_F() 1102 data_offset = reinterpret_cast<uintptr_t>(int_array->GetData()); in TEST_F() 1103 EXPECT_TRUE(IsAligned<4>(data_offset)); // Ints require 4 byte alignment in TEST_F() 1107 data_offset = reinterpret_cast<uintptr_t>(char_array->GetData()); in TEST_F() [all …]
|
D | image.h | 89 uint32_t data_offset, in Block() argument 94 data_offset_(data_offset), in Block()
|
/art/dexlayout/ |
D | dex_ir.h | 361 uint32_t data_offset, in Header() argument 373 data_offset); in Header() 385 uint32_t data_offset, in Header() argument 410 data_offset); in Header() 536 uint32_t data_offset) { in ConstructorHelper() argument 544 data_offset_ = data_offset; in ConstructorHelper()
|
/art/compiler/debug/ |
D | elf_debug_info_writer.h | 309 uint32_t data_offset = mirror::Array::DataOffset(component_size).Uint32Value(); in Write() local 317 info_.WriteUdata(DW_AT_data_member_location, data_offset); in Write()
|