Mercurial > hg > graal-compiler
diff src/share/vm/graal/graalCodeInstaller.cpp @ 13156:2e76d94f8383
propagate code-cache-full message up to Java to throw exception instead of crashing VM
author | twisti |
---|---|
date | Mon, 25 Nov 2013 15:10:04 -0800 |
parents | ff1d8605f354 |
children | 0ffe9e4bb364 |
line wrap: on
line diff
--- a/src/share/vm/graal/graalCodeInstaller.cpp Mon Nov 25 17:23:56 2013 +0100 +++ b/src/share/vm/graal/graalCodeInstaller.cpp Mon Nov 25 15:10:04 2013 -0800 @@ -361,8 +361,13 @@ // constructor used to create a method CodeInstaller::CodeInstaller(Handle& compiled_code, GraalEnv::CodeInstallResult& result, CodeBlob*& cb, Handle installed_code, Handle triggered_deoptimizations) { - GraalCompiler::initialize_buffer_blob(); - CodeBuffer buffer(JavaThread::current()->get_buffer_blob()); + BufferBlob* buffer_blob = GraalCompiler::initialize_buffer_blob(); + if (buffer_blob == NULL) { + result = GraalEnv::cache_full; + return; + } + + CodeBuffer buffer(buffer_blob); jobject compiled_code_obj = JNIHandles::make_local(compiled_code()); initialize_assumptions(JNIHandles::resolve(compiled_code_obj));