diff --git a/src/hotspot/os/aix/safepointMechanism_aix.cpp b/src/hotspot/os/aix/safepointMechanism_aix.cpp index cda4301239f..44b01a51afe 100644 --- a/src/hotspot/os/aix/safepointMechanism_aix.cpp +++ b/src/hotspot/os/aix/safepointMechanism_aix.cpp @@ -37,6 +37,10 @@ void SafepointMechanism::pd_initialize() { return; } + // Poll bit values + _poll_word_armed_value = poll_bit(); + _poll_word_disarmed_value = ~_poll_word_armed_value; + // Allocate one protected page char* map_address = (char*)MAP_FAILED; const size_t page_size = os::vm_page_size(); @@ -104,8 +108,8 @@ void SafepointMechanism::pd_initialize() { if (!os::guard_memory((char*)_polling_page, page_size)) { fatal("Could not protect polling page"); } - intptr_t bad_page_val = reinterpret_cast(map_address), - good_page_val = bad_page_val + os::vm_page_size(); - _poll_armed_value = reinterpret_cast(bad_page_val + poll_bit()); - _poll_disarmed_value = reinterpret_cast(good_page_val); + uintptr_t bad_page_val = reinterpret_cast(map_address), + good_page_val = bad_page_val + os::vm_page_size(); + _poll_page_armed_value = bad_page_val + poll_bit(); + _poll_page_disarmed_value = good_page_val; }