comparison src/share/vm/graal/graalCodeInstaller.cpp @ 15176:f24d578e63a9

changed com.oracle.graal.api.code.CompilationResult.getFrameSize() to include the return address size if return address is puhsed onto the stack
author twisti
date Wed, 16 Apr 2014 13:32:54 -1000
parents 5c71dcf0915d
children 7a9531f50cd8
comparison
equal deleted inserted replaced
15175:78f1a1a70628 15176:f24d578e63a9
453 _sites = (arrayOop) HotSpotCompiledCode::sites(compiled_code); 453 _sites = (arrayOop) HotSpotCompiledCode::sites(compiled_code);
454 _exception_handlers = (arrayOop) HotSpotCompiledCode::exceptionHandlers(compiled_code); 454 _exception_handlers = (arrayOop) HotSpotCompiledCode::exceptionHandlers(compiled_code);
455 455
456 _code = (arrayOop) CompilationResult::targetCode(comp_result); 456 _code = (arrayOop) CompilationResult::targetCode(comp_result);
457 _code_size = CompilationResult::targetCodeSize(comp_result); 457 _code_size = CompilationResult::targetCodeSize(comp_result);
458 // The frame size we get from the target method does not include the return address, so add one word for it here. 458 _total_frame_size = CompilationResult::frameSize(comp_result);
459 _total_frame_size = CompilationResult::frameSize(comp_result) + HeapWordSize; // FIXME this is an x86-ism
460 _custom_stack_area_offset = CompilationResult::customStackAreaOffset(comp_result); 459 _custom_stack_area_offset = CompilationResult::customStackAreaOffset(comp_result);
461 460
462 // Pre-calculate the constants section size. This is required for PC-relative addressing. 461 // Pre-calculate the constants section size. This is required for PC-relative addressing.
463 _dataSection = HotSpotCompiledCode::dataSection(compiled_code); 462 _dataSection = HotSpotCompiledCode::dataSection(compiled_code);
464 guarantee(DataSection::sectionAlignment(_dataSection) <= _constants->alignment(), "Alignment inside constants section is restricted by alignment of section begin"); 463 guarantee(DataSection::sectionAlignment(_dataSection) <= _constants->alignment(), "Alignment inside constants section is restricted by alignment of section begin");