diff src/share/vm/graal/graalCompilerToVM.cpp @ 16243:fb77eab05bd3

Respect the VM's wish to record non-safepoint debug info
author Gilles Duboscq <duboscq@ssw.jku.at>
date Thu, 26 Jun 2014 11:56:21 +0200
parents 8fde32ece68e
children 5f01f7c48d40
line wrap: on
line diff
--- a/src/share/vm/graal/graalCompilerToVM.cpp	Thu Jun 26 18:25:35 2014 +0200
+++ b/src/share/vm/graal/graalCompilerToVM.cpp	Thu Jun 26 11:56:21 2014 +0200
@@ -881,6 +881,14 @@
   cp_cache_entry->set_dynamic_call(cp, callInfo);
 C2V_END
 
+C2V_VMENTRY(jboolean, shouldDebugNonSafepoints, (JNIEnv*, jobject))
+  //see compute_recording_non_safepoints in debugInfroRec.cpp
+  if (JvmtiExport::should_post_compiled_method_load() && FLAG_IS_DEFAULT(DebugNonSafepoints)) {
+    return true;
+  }
+  return DebugNonSafepoints;
+C2V_END
+
 // public native void materializeVirtualObjects(HotSpotStackFrameReference stackFrame, boolean invalidate);
 C2V_VMENTRY(void, materializeVirtualObjects, (JNIEnv*, jobject, jobject hs_frame, bool invalidate))
   ResourceMark rm;
@@ -1052,6 +1060,7 @@
   {CC"getTimeStamp",                                 CC"()J",                                                                  FN_PTR(getTimeStamp)},
   {CC"getNextStackFrame",                            CC"("HS_STACK_FRAME_REF "[JI)"HS_STACK_FRAME_REF,                         FN_PTR(getNextStackFrame)},
   {CC"materializeVirtualObjects",                    CC"("HS_STACK_FRAME_REF"Z)V",                                             FN_PTR(materializeVirtualObjects)},
+  {CC"shouldDebugNonSafepoints",                     CC"()Z",                                                                  FN_PTR(shouldDebugNonSafepoints)},
 };
 
 int CompilerToVM_methods_count() {