Lines Matching refs:alignment
143 // The minimum alignment to a heap word size is done. Other
144 // parts of the memory system may required additional alignment
326 // Object alignment, in units of HeapWords.
357 // The byte alignment to be used by Arena::Amalloc. See bugid 4169348.
362 // Signed variants of alignment helpers. There are two versions of each, a macro
366 #define align_size_up_(size, alignment) (((size) + ((alignment) - 1)) & ~((alignment) - 1))
368 inline intptr_t align_size_up(intptr_t size, intptr_t alignment) {
369 return align_size_up_(size, alignment);
372 #define align_size_down_(size, alignment) ((size) & ~((alignment) - 1))
374 inline intptr_t align_size_down(intptr_t size, intptr_t alignment) {
375 return align_size_down_(size, alignment);
390 // Pad out certain offsets to jlong alignment, in HeapWord units.
399 // Bytes needed to pad type to avoid cache-line sharing; alignment should be the
401 // when the start address is not a multiple of alignment; the second maintains
402 // alignment of starting addresses that happen to be a multiple.
403 #define PADDING_SIZE(type, alignment) \
404 ((alignment) + align_size_up_(sizeof(type), alignment))
410 template <class T, size_t alignment = DEFAULT_CACHE_LINE_SIZE>
413 char _pad_buf_[PADDING_SIZE(T, alignment)];
417 template <class T, typename Arg1T, size_t alignment = DEFAULT_CACHE_LINE_SIZE>
423 char _pad_buf_[PADDING_SIZE(T, alignment)];