Mercurial > hg > graal-compiler
comparison 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 |
comparison
equal
deleted
inserted
replaced
13155:1dd9aa5a9ee5 | 13156:2e76d94f8383 |
---|---|
359 return result; | 359 return result; |
360 } | 360 } |
361 | 361 |
362 // constructor used to create a method | 362 // constructor used to create a method |
363 CodeInstaller::CodeInstaller(Handle& compiled_code, GraalEnv::CodeInstallResult& result, CodeBlob*& cb, Handle installed_code, Handle triggered_deoptimizations) { | 363 CodeInstaller::CodeInstaller(Handle& compiled_code, GraalEnv::CodeInstallResult& result, CodeBlob*& cb, Handle installed_code, Handle triggered_deoptimizations) { |
364 GraalCompiler::initialize_buffer_blob(); | 364 BufferBlob* buffer_blob = GraalCompiler::initialize_buffer_blob(); |
365 CodeBuffer buffer(JavaThread::current()->get_buffer_blob()); | 365 if (buffer_blob == NULL) { |
366 result = GraalEnv::cache_full; | |
367 return; | |
368 } | |
369 | |
370 CodeBuffer buffer(buffer_blob); | |
366 jobject compiled_code_obj = JNIHandles::make_local(compiled_code()); | 371 jobject compiled_code_obj = JNIHandles::make_local(compiled_code()); |
367 initialize_assumptions(JNIHandles::resolve(compiled_code_obj)); | 372 initialize_assumptions(JNIHandles::resolve(compiled_code_obj)); |
368 | 373 |
369 // Get instructions and constants CodeSections early because we need it. | 374 // Get instructions and constants CodeSections early because we need it. |
370 _instructions = buffer.insts(); | 375 _instructions = buffer.insts(); |