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) {