--- a/src/hotspot/share/runtime/thread.cpp Fri Aug 30 01:21:14 2019 -0400
+++ b/src/hotspot/share/runtime/thread.cpp Fri Aug 30 09:06:46 2019 +0200
@@ -173,7 +173,7 @@
// Support for forcing alignment of thread objects for biased locking
void* Thread::allocate(size_t size, bool throw_excpt, MEMFLAGS flags) {
if (UseBiasedLocking) {
- const int alignment = markWord::biased_lock_alignment;
+ const size_t alignment = markWord::biased_lock_alignment;
size_t aligned_size = size + (alignment - sizeof(intptr_t));
void* real_malloc_addr = throw_excpt? AllocateHeap(aligned_size, flags, CURRENT_PC)
: AllocateHeap(aligned_size, flags, CURRENT_PC,
@@ -301,9 +301,9 @@
#endif // CHECK_UNHANDLED_OOPS
#ifdef ASSERT
if (UseBiasedLocking) {
- assert((((uintptr_t) this) & (markWord::biased_lock_alignment - 1)) == 0, "forced alignment of thread object failed");
+ assert(is_aligned(this, markWord::biased_lock_alignment), "forced alignment of thread object failed");
assert(this == _real_malloc_address ||
- this == align_up(_real_malloc_address, (int)markWord::biased_lock_alignment),
+ this == align_up(_real_malloc_address, markWord::biased_lock_alignment),
"bug in forced alignment of thread objects");
}
#endif // ASSERT