hotspot/src/share/vm/compiler/compileBroker.cpp
changeset 27461 90e9e0f9c0c5
parent 26913 9ad70cd32368
child 27464 37671dcc4d8d
--- a/hotspot/src/share/vm/compiler/compileBroker.cpp	Tue Oct 28 12:28:58 2014 +0100
+++ b/hotspot/src/share/vm/compiler/compileBroker.cpp	Thu Oct 30 18:38:42 2014 -0400
@@ -187,6 +187,14 @@
     lm.print("\n");
     log(thread, "%s", (const char*)lm);
   }
+
+  void log_metaspace_failure(const char* reason) {
+    ResourceMark rm;
+    StringLogMessage lm;
+    lm.print("%4d   COMPILE PROFILING SKIPPED: %s", -1, reason);
+    lm.print("\n");
+    log(JavaThread::current(), "%s", (const char*)lm);
+  }
 };
 
 static CompilationLog* _compilation_log = NULL;
@@ -1843,6 +1851,18 @@
     warning("Cannot open log file: %s", file_name);
 }
 
+void CompileBroker::log_metaspace_failure() {
+  const char* message = "some methods may not be compiled because metaspace "
+                        "is out of memory";
+  if (_compilation_log != NULL) {
+    _compilation_log->log_metaspace_failure(message);
+  }
+  if (PrintCompilation) {
+    tty->print_cr("COMPILE PROFILING SKIPPED: %s", message);
+  }
+}
+
+
 // ------------------------------------------------------------------
 // CompileBroker::set_should_block
 //