Mercurial > hg > truffle
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; |