Searched refs:alignment (Results 1 - 25 of 28) sorted by relevance

12

/art/libartbase/base/
H A Dlength_prefixed_array.h36 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 Dbit_utils.h215 #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 Dsafe_copy_test.cc80 TEST(SafeCopyTest, alignment) {
/art/libdexfile/dex/
H A Dcompact_dex_utils.h29 size_t alignment) {
30 while (!IsAlignedParam(dest->size(), alignment)) {
28 AlignmentPadVector(std::vector<T, Allocator<T>>* dest, size_t alignment) argument
H A Ddex_file_verifier.h67 bool CheckValidOffsetAndSize(uint32_t offset, uint32_t size, size_t alignment, const char* label);
H A Ddex_file_verifier.cc335 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 DDexRandomAccessFile.java28 * 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 Dzip_archive.cc53 bool ZipEntry::IsAlignedTo(size_t alignment) const {
54 DCHECK(IsPowerOfTwo(alignment)) << alignment;
55 return IsAlignedParam(zip_entry_->offset, static_cast<int>(alignment));
H A Dzip_archive.h66 bool IsAlignedTo(size_t alignment) const;
/art/runtime/arch/mips/
H A Dasm_support_mips.S33 // 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 Dquick_entrypoints_mips.S70 // 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 Dwriter.h160 void Pad(int alignment) { argument
161 DCHECK_NE(alignment, 0);
162 data_->resize(RoundUp(data_->size(), alignment), 0);
/art/compiler/
H A Dexception_test.cc94 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 Drelative_patcher_arm_base.cc72 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 Ddex_writer.h130 ALWAYS_INLINE void AlignTo(const size_t alignment) { argument
131 position_ = RoundUp(position_, alignment);
H A Dcompact_dex_writer.h97 // Handles alignment and deduping of a data section item.
100 ScopedDataSectionItem(Stream* stream, dex_ir::Item* item, size_t alignment, Deduper* deduper);
H A Dcompact_dex_writer.cc110 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 Djit_code_cache.cc447 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 Dnodes_vector.h26 // 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 Dloop_optimization.cc43 // 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 Dquick_entrypoints_mips64.S640 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 Delf_builder.h206 // 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 Dquick_entrypoints_arm.S136 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 Dassembler_x86.h751 void Align(int alignment, int offset);
/art/compiler/utils/x86_64/
H A Dassembler_x86_64.h837 void Align(int alignment, int offset);
959 // Write this 64-bit value as two 32-bit words for alignment reasons

Completed in 1448 milliseconds

12