Mercurial > hg > truffle
comparison src/cpu/sparc/vm/graalCodeInstaller_sparc.hpp @ 10871:c3b09d69dfde
SPARC: fixes and more implementation; can now allocate objects
author | twisti |
---|---|
date | Wed, 24 Jul 2013 17:57:52 -0700 |
parents | e1fcdda22831 |
children | 5a9d68c3a7d7 |
comparison
equal
deleted
inserted
replaced
10870:886c2df7a7e4 | 10871:c3b09d69dfde |
---|---|
117 if (inst->is_call()) { | 117 if (inst->is_call()) { |
118 NativeCall* call = nativeCall_at(pc); | 118 NativeCall* call = nativeCall_at(pc); |
119 call->set_destination((address) foreign_call_destination); | 119 call->set_destination((address) foreign_call_destination); |
120 _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec()); | 120 _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec()); |
121 } else if (inst->is_sethi()) { | 121 } else if (inst->is_sethi()) { |
122 NativeFarCall* call = nativeFarCall_at(pc); | 122 NativeJump* jump = nativeJump_at(pc); |
123 call->set_destination((address) foreign_call_destination); | 123 jump->set_jump_destination((address) foreign_call_destination); |
124 _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec()); | 124 _instructions->relocate(jump->instruction_address(), runtime_call_Relocation::spec()); |
125 } else { | 125 } else { |
126 NativeJump* jump = nativeJump_at((address) (inst)); | 126 fatal(err_msg("unknown call or jump instruction at %p", pc)); |
127 jump->set_jump_destination((address) foreign_call_destination); | |
128 _instructions->relocate((address)inst, runtime_call_Relocation::spec()); | |
129 fatal("CodeInstaller::pd_relocate_ForeignCall - verify me!"); | |
130 } | 127 } |
131 TRACE_graal_3("relocating (foreign call) at %p", inst); | 128 TRACE_graal_3("relocating (foreign call) at %p", inst); |
132 } | 129 } |
133 | 130 |
134 inline void CodeInstaller::pd_relocate_JavaMethod(oop hotspot_method, jint pc_offset) { | 131 inline void CodeInstaller::pd_relocate_JavaMethod(oop hotspot_method, jint pc_offset) { |