comparison src/share/vm/graal/graalCodeInstaller.cpp @ 7003:bb524ee6b8e9

added relocation entry for the Method* operand of the MOV instruction in a static call stub
author Doug Simon <doug.simon@oracle.com>
date Thu, 22 Nov 2012 23:32:10 +0100
parents bf2ea3ed3bce
children 17eeac928874 263bc2349f15
comparison
equal deleted inserted replaced
7002:74f0207b82f5 7003:bb524ee6b8e9
764 break; 764 break;
765 case MARK_DEOPT_HANDLER_ENTRY: 765 case MARK_DEOPT_HANDLER_ENTRY:
766 _offsets.set_value(CodeOffsets::Deopt, pc_offset); 766 _offsets.set_value(CodeOffsets::Deopt, pc_offset);
767 break; 767 break;
768 case MARK_STATIC_CALL_STUB: { 768 case MARK_STATIC_CALL_STUB: {
769 _instructions->relocate(instruction, metadata_Relocation::spec_for_immediate());
769 assert(references->length() == 1, "static call stub needs one reference"); 770 assert(references->length() == 1, "static call stub needs one reference");
770 oop ref = ((oop*) references->base(T_OBJECT))[0]; 771 oop ref = ((oop*) references->base(T_OBJECT))[0];
771 address call_pc = _instructions->start() + CompilationResult_Site::pcOffset(ref); 772 address call_pc = _instructions->start() + CompilationResult_Site::pcOffset(ref);
772 _instructions->relocate(instruction, static_stub_Relocation::spec(call_pc)); 773 _instructions->relocate(instruction, static_stub_Relocation::spec(call_pc));
773 break; 774 break;