comparison src/share/vm/graal/graalCodeInstaller.cpp @ 15463:a20be10ad437

made Graal work with the HotSpot compiler queue and compiler threads, enabled by -XX:-UseGraalCompilationQueue
author Doug Simon <doug.simon@oracle.com>
date Fri, 02 May 2014 00:36:27 +0200
parents 29e3ba750c9e
children 063ec2920d21
comparison
equal deleted inserted replaced
15462:05d3f069cff2 15463:a20be10ad437
420 } else { 420 } else {
421 nmethod* nm = NULL; 421 nmethod* nm = NULL;
422 methodHandle method = getMethodFromHotSpotMethod(HotSpotCompiledNmethod::method(compiled_code)); 422 methodHandle method = getMethodFromHotSpotMethod(HotSpotCompiledNmethod::method(compiled_code));
423 jint entry_bci = HotSpotCompiledNmethod::entryBCI(compiled_code); 423 jint entry_bci = HotSpotCompiledNmethod::entryBCI(compiled_code);
424 jint id = HotSpotCompiledNmethod::id(compiled_code); 424 jint id = HotSpotCompiledNmethod::id(compiled_code);
425 CompileTask* task = (CompileTask*) (address) HotSpotCompiledNmethod::ctask(compiled_code);
425 if (id == -1) { 426 if (id == -1) {
426 // Make sure a valid compile_id is associated with every compile 427 // Make sure a valid compile_id is associated with every compile
427 id = CompileBroker::assign_compile_id_unlocked(Thread::current(), method, entry_bci); 428 id = CompileBroker::assign_compile_id_unlocked(Thread::current(), method, entry_bci);
428 } 429 }
429 result = GraalEnv::register_method(method, nm, entry_bci, &_offsets, _custom_stack_area_offset, &buffer, stack_slots, _debug_recorder->_oopmaps, &_exception_handler_table, 430 result = GraalEnv::register_method(method, nm, entry_bci, &_offsets, _custom_stack_area_offset, &buffer, stack_slots, _debug_recorder->_oopmaps, &_exception_handler_table,
430 GraalCompiler::instance(), _debug_recorder, _dependencies, NULL, id, false, installed_code, speculation_log); 431 GraalCompiler::instance(), _debug_recorder, _dependencies, task, id, false, installed_code, speculation_log);
431 cb = nm; 432 cb = nm;
432 } 433 }
433 434
434 if (cb != NULL) { 435 if (cb != NULL) {
435 // Make sure the pre-calculated constants section size was correct. 436 // Make sure the pre-calculated constants section size was correct.