/art/libartbase/base/ |
H A D | length_prefixed_array.h | 36 T& At(size_t index, size_t element_size = sizeof(T), size_t alignment = alignof(T)) { 38 return AtUnchecked(index, element_size, alignment); 41 const T& At(size_t index, size_t element_size = sizeof(T), size_t alignment = alignof(T)) const { 43 return AtUnchecked(index, element_size, alignment); 46 StrideIterator<T> begin(size_t element_size = sizeof(T), size_t alignment = alignof(T)) { 47 return StrideIterator<T>(&AtUnchecked(0, element_size, alignment), element_size); 51 size_t alignment = alignof(T)) const { 52 return StrideIterator<const T>(&AtUnchecked(0, element_size, alignment), element_size); 55 StrideIterator<T> end(size_t element_size = sizeof(T), size_t alignment = alignof(T)) { 56 return StrideIterator<T>(&AtUnchecked(size_, element_size, alignment), element_siz 96 AtUnchecked(size_t index, size_t element_size, size_t alignment) argument [all...] |
H A D | bit_utils.h | 215 #define CHECK_ALIGNED(value, alignment) \ 216 CHECK(::art::IsAligned<alignment>(value)) << reinterpret_cast<const void*>(value) 218 #define DCHECK_ALIGNED(value, alignment) \ 219 DCHECK(::art::IsAligned<alignment>(value)) << reinterpret_cast<const void*>(value) 221 #define CHECK_ALIGNED_PARAM(value, alignment) \ 222 CHECK(::art::IsAlignedParam(value, alignment)) << reinterpret_cast<const void*>(value) 224 #define DCHECK_ALIGNED_PARAM(value, alignment) \ 225 DCHECK(::art::IsAlignedParam(value, alignment)) << reinterpret_cast<const void*>(value)
|
H A D | safe_copy_test.cc | 80 TEST(SafeCopyTest, alignment) {
|
/art/libdexfile/dex/ |
H A D | compact_dex_utils.h | 29 size_t alignment) { 30 while (!IsAlignedParam(dest->size(), alignment)) { 28 AlignmentPadVector(std::vector<T, Allocator<T>>* dest, size_t alignment) argument
|
H A D | dex_file_verifier.h | 67 bool CheckValidOffsetAndSize(uint32_t offset, uint32_t size, size_t alignment, const char* label);
|
H A D | dex_file_verifier.cc | 335 size_t alignment, 347 if (alignment != 0 && !IsAlignedParam(offset, alignment)) { 348 ErrorStringPrintf("Offset(%d) should be aligned by %zu for %s.", offset, alignment, label); 1618 // Get the right alignment mask for the type of section. 2673 // Get the right alignment mask for the type of section. 333 CheckValidOffsetAndSize(uint32_t offset, uint32_t size, size_t alignment, const char* label) argument
|
/art/tools/dexfuzz/src/dexfuzz/rawdex/ |
H A D | DexRandomAccessFile.java | 28 * and also provides word-alignment functions. 296 * @param alignment N to align to. 298 public void alignForwards(int alignment) throws IOException { argument 300 long mask = alignment - 1; 302 int extra = alignment - (int) (offset & mask); 309 * @param alignment N to align to. 311 public void alignBackwards(int alignment) throws IOException { argument 313 long mask = alignment - 1;
|
/art/runtime/ |
H A D | zip_archive.cc | 53 bool ZipEntry::IsAlignedTo(size_t alignment) const { 54 DCHECK(IsPowerOfTwo(alignment)) << alignment; 55 return IsAlignedParam(zip_entry_->offset, static_cast<int>(alignment));
|
H A D | zip_archive.h | 66 bool IsAlignedTo(size_t alignment) const;
|
/art/runtime/arch/mips/ |
H A D | asm_support_mips.S | 33 // Cache alignment for function entry. 185 // NOTE: The value of alignment must be a power of 2, and must fit in an 189 .macro CHECK_ALIGNMENT ba=$sp, tmp=$at, alignment=16 194 andi \tmp, \ba, \alignment-1
|
H A D | quick_entrypoints_mips.S | 70 // 4-byte placeholder for register $zero, serving for alignment 129 # 2 words for alignment and bottom word will hold Method* 988 sll $sp, $t0, 4 # so we have to ensure ART 16B alignment ourselves. 1148 sll $sp, $t0, 4 # so we have to ensure ART 16B alignment ourselves. 1474 # saved registers used in art_quick_aput_obj: a0-a2, t0-t1, t9, ra. 8 words for 16B alignment. 1961 # Add array data offset and alignment. 1968 andi $a3, $a3, 4 # size shift is 3 (for 64 bit alignment). 1977 # Add array data offset and alignment (in branch delay slot). 1987 # Add array data offset and alignment. 1997 # Add array data offset and alignment [all...] |
/art/compiler/debug/dwarf/ |
H A D | writer.h | 160 void Pad(int alignment) { argument 161 DCHECK_NE(alignment, 0); 162 data_->resize(RoundUp(data_->size(), alignment), 0);
|
/art/compiler/ |
H A D | exception_test.cc | 94 const size_t alignment = GetInstructionSetAlignment(kRuntimeISA); local 95 fake_header_code_and_maps_.reserve(fake_header_code_and_maps_.size() + alignment); 99 size_t padding = RoundUp(offset, alignment) - offset;
|
/art/compiler/linker/arm/ |
H A D | relative_patcher_arm_base.cc | 72 bool MakeSpaceBefore(const ThunkData& next_thunk, size_t alignment) { argument 75 DCHECK_ALIGNED_PARAM(MaxNextOffset(), alignment); local 76 DCHECK_ALIGNED_PARAM(next_thunk.MaxNextOffset(), alignment); 78 max_next_offset_ = RoundDown(next_thunk.MaxNextOffset() - CodeSize(), alignment); 205 // Write alignment bytes and code. 445 size_t alignment = GetInstructionSetAlignment(instruction_set_); local 448 data->MakeSpaceBefore(*unreserved_thunks_[index + 1u], alignment); 452 while (index != 0u && unreserved_thunks_[index - 1u]->MakeSpaceBefore(*data, alignment)) {
|
/art/dexlayout/ |
H A D | dex_writer.h | 130 ALWAYS_INLINE void AlignTo(const size_t alignment) { argument 131 position_ = RoundUp(position_, alignment);
|
H A D | compact_dex_writer.h | 97 // Handles alignment and deduping of a data section item. 100 ScopedDataSectionItem(Stream* stream, dex_ir::Item* item, size_t alignment, Deduper* deduper);
|
H A D | compact_dex_writer.cc | 110 size_t alignment, 114 alignment_(alignment), 125 // If we deduped, only use the deduped offset if the alignment matches the required alignment. 178 // Payload instructions possibly require special alignment for their data. 399 // We want offset 0 to be reserved for null, seek to the data section alignment or the end of the 108 ScopedDataSectionItem(Stream* stream, dex_ir::Item* item, size_t alignment, Deduper* deduper) argument
|
/art/runtime/jit/ |
H A D | jit_code_cache.cc | 447 size_t alignment = GetInstructionSetAlignment(kRuntimeISA); local 448 return reinterpret_cast<uintptr_t>(code) - RoundUp(sizeof(OatQuickMethodHeader), alignment); 743 size_t alignment = GetInstructionSetAlignment(kRuntimeISA); local 744 // Ensure the header ends up at expected instruction alignment. 745 size_t header_size = RoundUp(sizeof(OatQuickMethodHeader), alignment); 1826 size_t alignment = GetInstructionSetAlignment(kRuntimeISA); local 1828 mspace_memalign(code_mspace_, alignment, code_size)); 1829 size_t header_size = RoundUp(sizeof(OatQuickMethodHeader), alignment); 1830 // Ensure the header ends up at expected instruction alignment. 1831 DCHECK_ALIGNED_PARAM(reinterpret_cast<uintptr_t>(result + header_size), alignment); [all...] |
/art/compiler/optimizing/ |
H A D | nodes_vector.h | 26 // Memory alignment, represented as an offset relative to a base, where 0 <= offset < base, 258 // Abstraction of a vector operation that references memory, with an alignment. 259 // The Android runtime guarantees elements have at least natural alignment. 280 void SetAlignment(Alignment alignment) { alignment_ = alignment; } argument
|
H A D | loop_optimization.cc | 43 // Base alignment for arrays/strings guaranteed by the Android runtime. 744 // Prepare alignment analysis: 745 // (1) find desired alignment (SIMD vector size in bytes). 748 // (3) variable to record how many references share same alignment. 762 // The scan over references also prepares finding a suitable alignment strategy. 779 // Count the number of references that have the same alignment (since 801 // Update information for finding suitable alignment strategy: 804 Alignment alignment = ComputeAlignment(i->offset, i->type, i->is_string_char_at); local 805 if (alignment.Base() >= desired_alignment) { 806 // If the array/string object has a known, sufficient alignment, us [all...] |
/art/runtime/arch/mips64/ |
H A D | quick_entrypoints_mips64.S | 640 dsrl $t1, $t1, 4 # enforce 16 byte stack alignment 1058 daddiu $t3, $a2, 24 # add 8 for ArtMethod* and 16 for stack alignment 1160 daddiu $t3, $a2, 24 # add 8 for ArtMethod* and 16 for stack alignment 1881 # Add array data offset and alignment. 1888 andi $a3, $a3, 4 # size shift is 3 (for 64 bit alignment). 1893 # Add array data offset and alignment. 1899 # Add array data offset and alignment. 1905 # Add array data offset and alignment. 1911 # Add array data offset and alignment.
|
/art/compiler/linker/ |
H A D | elf_builder.h | 206 // It also ensures the alignment is sufficient to generate valid program headers, 207 // since that depends on the previous section. It returns the required alignment. 850 off_t AlignFileOffset(size_t alignment) { argument 851 return stream_.Seek(RoundUp(stream_.Seek(0, kSeekCurrent), alignment), kSeekSet);
|
/art/runtime/arch/arm/ |
H A D | quick_entrypoints_arm.S | 136 sub sp, #8 @ 2 words of space, alignment padding and Method* 190 sub sp, #8 @ 2 words of space, alignment padding and Method* 559 mov sp, r4 @ 16B alignment ourselves. 1394 and r2, r2, #OBJECT_ALIGNMENT_MASK_TOGGLED // Apply alignment mask 1470 // Add array data offset and alignment. 1478 // (for 64 bit alignment). 1489 // Add array data offset and alignment. 1500 // Add array data offset and alignment. 1511 // Add array data offset and alignment. 1522 // Add array data offset and alignment [all...] |
/art/compiler/utils/x86/ |
H A D | assembler_x86.h | 751 void Align(int alignment, int offset);
|
/art/compiler/utils/x86_64/ |
H A D | assembler_x86_64.h | 837 void Align(int alignment, int offset); 959 // Write this 64-bit value as two 32-bit words for alignment reasons
|