Mercurial > hg > graal-compiler
comparison src/share/vm/graal/graalCodeInstaller.cpp @ 10854:e1fcdda22831
SPARC: can compile some stubs now but they don't work yet
author | twisti |
---|---|
date | Mon, 22 Jul 2013 22:26:49 -0700 |
parents | 4e1db4c9d4c5 |
children | b5f6188d79c5 |
comparison
equal
deleted
inserted
replaced
10853:22baf2a69f6d | 10854:e1fcdda22831 |
---|---|
732 NativeInstruction* inst = nativeInstruction_at(_instructions->start() + pc_offset); | 732 NativeInstruction* inst = nativeInstruction_at(_instructions->start() + pc_offset); |
733 jint next_pc_offset = CodeInstaller::pd_next_offset(inst, pc_offset, hotspot_method); | 733 jint next_pc_offset = CodeInstaller::pd_next_offset(inst, pc_offset, hotspot_method); |
734 | 734 |
735 if (target->is_a(SystemDictionary::HotSpotInstalledCode_klass())) { | 735 if (target->is_a(SystemDictionary::HotSpotInstalledCode_klass())) { |
736 assert(inst->is_jump(), "jump expected"); | 736 assert(inst->is_jump(), "jump expected"); |
737 | |
738 CodeBlob* cb = (CodeBlob*) (address) HotSpotInstalledCode::codeBlob(target); | 737 CodeBlob* cb = (CodeBlob*) (address) HotSpotInstalledCode::codeBlob(target); |
739 assert(cb != NULL, "npe"); | 738 assert(cb != NULL, "npe"); |
740 | |
741 CodeInstaller::pd_relocate_CodeBlob(cb, inst); | 739 CodeInstaller::pd_relocate_CodeBlob(cb, inst); |
742 | |
743 return; | 740 return; |
744 } | 741 } |
745 | 742 |
746 if (debug_info != NULL) { | 743 if (debug_info != NULL) { |
747 oop frame = DebugInfo::bytecodePosition(debug_info); | 744 oop frame = DebugInfo::bytecodePosition(debug_info); |
753 } | 750 } |
754 } | 751 } |
755 | 752 |
756 if (foreign_call != NULL) { | 753 if (foreign_call != NULL) { |
757 jlong foreign_call_destination = HotSpotForeignCallLinkage::address(foreign_call); | 754 jlong foreign_call_destination = HotSpotForeignCallLinkage::address(foreign_call); |
758 | |
759 CodeInstaller::pd_relocate_ForeignCall(inst, foreign_call_destination); | 755 CodeInstaller::pd_relocate_ForeignCall(inst, foreign_call_destination); |
760 } else { // method != NULL | 756 } else { // method != NULL |
761 assert(hotspot_method != NULL, "unexpected JavaMethod"); | 757 assert(hotspot_method != NULL, "unexpected JavaMethod"); |
762 assert(debug_info != NULL, "debug info expected"); | 758 assert(debug_info != NULL, "debug info expected"); |
763 | 759 |
764 TRACE_graal_3("method call"); | 760 TRACE_graal_3("method call"); |
765 CodeInstaller::pd_relocate_JavaMethod(hotspot_method, pc_offset); | 761 CodeInstaller::pd_relocate_JavaMethod(hotspot_method, pc_offset); |
766 } | 762 } |
763 | |
767 _next_call_type = MARK_INVOKE_INVALID; | 764 _next_call_type = MARK_INVOKE_INVALID; |
765 | |
768 if (debug_info != NULL) { | 766 if (debug_info != NULL) { |
769 _debug_recorder->end_safepoint(next_pc_offset); | 767 _debug_recorder->end_safepoint(next_pc_offset); |
770 } | 768 } |
771 } | 769 } |
772 | 770 |