Mercurial > hg > truffle
comparison src/share/vm/c1x/c1x_CodeInstaller.cpp @ 1441:f8ab19e5acae
Fix oop relocation for static stub calls.
author | Thomas Wuerthinger <wuerthinger@ssw.jku.at> |
---|---|
date | Wed, 03 Nov 2010 16:40:38 +0100 |
parents | d0c8d3a2a7e8 |
children | c0e244017dad |
comparison
equal
deleted
inserted
replaced
1440:4d1d3bd140f9 | 1441:f8ab19e5acae |
---|---|
589 case MARK_STATIC_CALL_STUB: { | 589 case MARK_STATIC_CALL_STUB: { |
590 assert(references->length() == 1, "static call stub needs one reference"); | 590 assert(references->length() == 1, "static call stub needs one reference"); |
591 oop ref = ((oop*) references->base(T_OBJECT))[0]; | 591 oop ref = ((oop*) references->base(T_OBJECT))[0]; |
592 address call_pc = _instructions->start() + CiTargetMethod_Site::pcOffset(ref); | 592 address call_pc = _instructions->start() + CiTargetMethod_Site::pcOffset(ref); |
593 _instructions->relocate(instruction, static_stub_Relocation::spec(call_pc)); | 593 _instructions->relocate(instruction, static_stub_Relocation::spec(call_pc)); |
594 _instructions->relocate(instruction, oop_Relocation::spec_for_immediate(), Assembler::imm_operand); | |
594 break; | 595 break; |
595 } | 596 } |
596 case MARK_INVOKE_INVALID: | 597 case MARK_INVOKE_INVALID: |
597 case MARK_INVOKEINTERFACE: | 598 case MARK_INVOKEINTERFACE: |
598 case MARK_INVOKESTATIC: | 599 case MARK_INVOKESTATIC: |