--- a/src/hotspot/cpu/ppc/nativeInst_ppc.hpp Wed Jan 10 09:04:11 2018 +0100
+++ b/src/hotspot/cpu/ppc/nativeInst_ppc.hpp Wed Jan 10 11:09:55 2018 +0100
@@ -31,6 +31,7 @@
#include "memory/allocation.hpp"
#include "runtime/icache.hpp"
#include "runtime/os.hpp"
+#include "runtime/safepointMechanism.hpp"
// We have interfaces for the following instructions:
//
@@ -93,6 +94,11 @@
bool is_safepoint_poll() {
// Is the current instruction a POTENTIAL read access to the polling page?
// The current arguments of the instruction are not checked!
+ if (SafepointMechanism::uses_thread_local_poll() && USE_POLL_BIT_ONLY) {
+ int encoding = SafepointMechanism::poll_bit();
+ return MacroAssembler::is_tdi(long_at(0), Assembler::traptoGreaterThanUnsigned | Assembler::traptoEqual,
+ -1, encoding);
+ }
return MacroAssembler::is_load_from_polling_page(long_at(0), NULL);
}