equal
deleted
inserted
replaced
917 __ reserved_stack_check(Z_R14); |
917 __ reserved_stack_check(Z_R14); |
918 } |
918 } |
919 |
919 |
920 // Touch the polling page. |
920 // Touch the polling page. |
921 if (need_polling) { |
921 if (need_polling) { |
922 AddressLiteral pp(os::get_polling_page()); |
922 if (SafepointMechanism::uses_thread_local_poll()) { |
923 __ load_const_optimized(Z_R1_scratch, pp); |
923 __ z_lg(Z_R1_scratch, Address(Z_thread, Thread::polling_page_offset())); |
|
924 } else { |
|
925 AddressLiteral pp(os::get_polling_page()); |
|
926 __ load_const_optimized(Z_R1_scratch, pp); |
|
927 } |
924 // We need to mark the code position where the load from the safepoint |
928 // We need to mark the code position where the load from the safepoint |
925 // polling page was emitted as relocInfo::poll_return_type here. |
929 // polling page was emitted as relocInfo::poll_return_type here. |
926 __ relocate(relocInfo::poll_return_type); |
930 __ relocate(relocInfo::poll_return_type); |
927 __ load_from_polling_page(Z_R1_scratch); |
931 __ load_from_polling_page(Z_R1_scratch); |
928 } |
932 } |