< prev index next >

src/hotspot/os_cpu/linux_s390/thread_linux_s390.cpp

Print this page

        

@@ -61,12 +61,11 @@
       return false;
     }
 
     if (ret_frame.is_interpreted_frame()) {
       frame::z_ijava_state* istate = ret_frame.ijava_state_unchecked();
-       if ((stack_base() >= (address)istate && (address)istate > stack_end()) ||
-           MetaspaceObj::is_valid((Method*)(istate->method)) == false) {
+       if ((stack_base() >= (address)istate && (address)istate > stack_end()) || !((Method*)(istate->method))->is_metaspace_object()) {
          return false;
        }
        uint64_t reg_bcp = uc->uc_mcontext.gregs[13/*Z_BCP*/];
        uint64_t istate_bcp = istate->bcp;
        uint64_t code_start = (uint64_t)(((Method*)(istate->method))->code_base());

@@ -88,11 +87,12 @@
   }
   // nothing else to try
   return false;
 }
 
-// Forte Analyzer AsyncGetCallTrace profiling support.
+// Forte Analyzer AsyncGetCallTrace profiling support is not implemented on Linux/S390x.
 bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava) {
-  return pd_get_top_frame_for_profiling(fr_addr, ucontext, isInJava);
+  Unimplemented();
+  return false;
 }
 
 void JavaThread::cache_global_variables() { }
< prev index next >