changeset 47833:0ad8a90268a7

8191333: Zero variant broken after 8189941 Reviewed-by: rehn, coleenp
author glaubitz
date Wed, 15 Nov 2017 16:03:56 +0100
parents 4c42aa431f40
children f5581b073aff
files src/hotspot/cpu/zero/cppInterpreter_zero.cpp src/hotspot/share/interpreter/bytecodeInterpreter.cpp
diffstat 2 files changed, 7 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/hotspot/cpu/zero/cppInterpreter_zero.cpp	Tue Nov 07 11:58:52 2017 +0100
+++ b/src/hotspot/cpu/zero/cppInterpreter_zero.cpp	Wed Nov 15 16:03:56 2017 +0100
@@ -379,7 +379,7 @@
 
   // Handle safepoint operations, pending suspend requests,
   // and pending asynchronous exceptions.
-  if (SafepointSynchronize::do_call_back() ||
+  if (SafepointMechanism::poll(thread) ||
       thread->has_special_condition_for_native_trans()) {
     JavaThread::check_special_condition_for_native_trans(thread);
     CHECK_UNHANDLED_OOPS_ONLY(thread->clear_unhandled_oops());
@@ -511,7 +511,7 @@
   intptr_t *locals = stack->sp();
 
   // Drop into the slow path if we need a safepoint check
-  if (SafepointSynchronize::do_call_back()) {
+  if (SafepointMechanism::poll(THREAD)) {
     return normal_entry(method, 0, THREAD);
   }
 
@@ -643,7 +643,7 @@
   ZeroStack *stack = thread->zero_stack();
 
   // Drop into the slow path if we need a safepoint check
-  if (SafepointSynchronize::do_call_back()) {
+  if (SafepointMechanism::poll(THREAD)) {
     return normal_entry(method, 0, THREAD);
   }
 
--- a/src/hotspot/share/interpreter/bytecodeInterpreter.cpp	Tue Nov 07 11:58:52 2017 +0100
+++ b/src/hotspot/share/interpreter/bytecodeInterpreter.cpp	Wed Nov 15 16:03:56 2017 +0100
@@ -99,12 +99,10 @@
   in relation to a safepoint.
 */
 #define SAFEPOINT                                                                 \
-    if ( SafepointSynchronize::is_synchronizing()) {                              \
-        {                                                                         \
-          /* zap freed handles rather than GC'ing them */                         \
-          HandleMarkCleaner __hmc(THREAD);                                        \
-        }                                                                         \
-        CALL_VM(SafepointSynchronize::block(THREAD), handle_exception);           \
+    {                                                                             \
+       /* zap freed handles rather than GC'ing them */                            \
+       HandleMarkCleaner __hmc(THREAD);                                           \
+       CALL_VM(SafepointMechanism::block_if_requested(THREAD), handle_exception); \
     }
 
 /*