< prev index next >
src/hotspot/cpu/ppc/ppc.ad
Print this page
rev 48251 : 8193257: PPC64, s390 implementation for Thread-local handshakes
Reviewed-by:
@@ -1575,15 +1575,14 @@
// Restore return pc relative to callers' sp.
__ ld(return_pc, ((int)framesize) + _abi(lr), R1_SP);
}
if (method_needs_polling) {
- if (LoadPollAddressFromThread) {
- // TODO: PPC port __ ld(polling_page, in_bytes(JavaThread::poll_address_offset()), R16_thread);
- Unimplemented();
+ if (SafepointMechanism::uses_thread_local_poll()) {
+ __ ld(polling_page, in_bytes(JavaThread::polling_page_offset()), R16_thread);
} else {
- __ load_const_optimized(polling_page, (long)(address) os::get_polling_page()); // TODO: PPC port: get_standard_polling_page()
+ __ load_const_optimized(polling_page, (long)(address) os::get_polling_page());
}
}
if (!method_is_frameless) {
// Move return pc to LR.
@@ -14145,11 +14144,10 @@
// ============================================================================
// Safepoint Instruction
instruct safePoint_poll(iRegPdst poll) %{
match(SafePoint poll);
- predicate(LoadPollAddressFromThread);
// It caused problems to add the effect that r0 is killed, but this
// effect no longer needs to be mentioned, since r0 is not contained
// in a reg_class.
@@ -14157,28 +14155,10 @@
size(4);
ins_encode( enc_poll(0x0, poll) );
ins_pipe(pipe_class_default);
%}
-// Safepoint without per-thread support. Load address of page to poll
-// as constant.
-// Rscratch2RegP is R12.
-// LoadConPollAddr node is added in pd_post_matching_hook(). It must be
-// a seperate node so that the oop map is at the right location.
-instruct safePoint_poll_conPollAddr(rscratch2RegP poll) %{
- match(SafePoint poll);
- predicate(!LoadPollAddressFromThread);
-
- // It caused problems to add the effect that r0 is killed, but this
- // effect no longer needs to be mentioned, since r0 is not contained
- // in a reg_class.
-
- format %{ "LD R0, #0, R12 \t// Safepoint poll for GC" %}
- ins_encode( enc_poll(0x0, poll) );
- ins_pipe(pipe_class_default);
-%}
-
// ============================================================================
// Call Instructions
// Call Java Static Instruction
< prev index next >