diff src/share/vm/ci/ciEnv.cpp @ 12883:f50418dfb1b7

Merge
author iveresov
date Sun, 13 Oct 2013 13:22:24 -0700
parents 5cc2d82aa82a
children b8860472c377
line wrap: on
line diff
--- a/src/share/vm/ci/ciEnv.cpp	Fri Oct 11 13:14:48 2013 -0700
+++ b/src/share/vm/ci/ciEnv.cpp	Sun Oct 13 13:22:24 2013 -0700
@@ -1154,9 +1154,12 @@
   GUARDED_VM_ENTRY(return _factory->get_unloaded_object_constant();)
 }
 
-void ciEnv::dump_replay_data(outputStream* out) {
-  VM_ENTRY_MARK;
-  MutexLocker ml(Compile_lock);
+// ------------------------------------------------------------------
+// ciEnv::dump_replay_data*
+
+// Don't change thread state and acquire any locks.
+// Safe to call from VM error reporter.
+void ciEnv::dump_replay_data_unsafe(outputStream* out) {
   ResourceMark rm;
 #if INCLUDE_JVMTI
   out->print_cr("JvmtiExport can_access_local_variables %d",     _jvmti_can_access_local_variables);
@@ -1181,3 +1184,10 @@
                 entry_bci, comp_level);
   out->flush();
 }
+
+void ciEnv::dump_replay_data(outputStream* out) {
+  GUARDED_VM_ENTRY(
+    MutexLocker ml(Compile_lock);
+    dump_replay_data_unsafe(out);
+  )
+}