6976372: # assert(_owner == Thread::current()) failed: invariant
Reviewed-by: kvn, twisti
--- a/hotspot/src/share/vm/compiler/compileBroker.cpp Thu Aug 12 23:34:34 2010 -0700
+++ b/hotspot/src/share/vm/compiler/compileBroker.cpp Fri Aug 13 15:14:00 2010 -0700
@@ -1652,12 +1652,10 @@
void CompileBroker::handle_full_code_cache() {
UseInterpreter = true;
if (UseCompiler || AlwaysCompileLoopMethods ) {
- CompilerThread* thread = CompilerThread::current();
- CompileLog* log = thread->log();
- if (log != NULL) {
- log->begin_elem("code_cache_full");
- log->stamp();
- log->end_elem();
+ if (xtty != NULL) {
+ xtty->begin_elem("code_cache_full");
+ xtty->stamp();
+ xtty->end_elem();
}
warning("CodeCache is full. Compiler has been disabled.");
warning("Try increasing the code cache size using -XX:ReservedCodeCacheSize=");
--- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp Thu Aug 12 23:34:34 2010 -0700
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp Fri Aug 13 15:14:00 2010 -0700
@@ -2493,15 +2493,13 @@
}
// Must unlock before calling set_code
+
// Install the generated code.
if (nm != NULL) {
method->set_code(method, nm);
nm->post_compiled_method_load_event();
} else {
// CodeCache is full, disable compilation
- // Ought to log this but compile log is only per compile thread
- // and we're some non descript Java thread.
- MutexUnlocker mu(AdapterHandlerLibrary_lock);
CompileBroker::handle_full_code_cache();
}
return nm;