Mercurial > hg > truffle
comparison src/share/vm/opto/runtime.cpp @ 14391:d2907f74462e
8016586: PPC64 (part 3): basic changes for PPC64
Summary: added #includes needed for ppc64 port. Renamed _MODEL_ppc to _MODEL_ppc_32 and renamed corresponding old _ppc files to _ppc_32.
Reviewed-by: dholmes, kvn
author | goetz |
---|---|
date | Thu, 20 Jun 2013 16:30:44 -0700 |
parents | e76dd894b984 |
children | 6cc7093e1341 |
comparison
equal
deleted
inserted
replaced
14390:0f03ff49c720 | 14391:d2907f74462e |
---|---|
81 # include "adfiles/ad_zero.hpp" | 81 # include "adfiles/ad_zero.hpp" |
82 #endif | 82 #endif |
83 #ifdef TARGET_ARCH_MODEL_arm | 83 #ifdef TARGET_ARCH_MODEL_arm |
84 # include "adfiles/ad_arm.hpp" | 84 # include "adfiles/ad_arm.hpp" |
85 #endif | 85 #endif |
86 #ifdef TARGET_ARCH_MODEL_ppc | 86 #ifdef TARGET_ARCH_MODEL_ppc_32 |
87 # include "adfiles/ad_ppc.hpp" | 87 # include "adfiles/ad_ppc_32.hpp" |
88 #endif | |
89 #ifdef TARGET_ARCH_MODEL_ppc_64 | |
90 # include "adfiles/ad_ppc_64.hpp" | |
88 #endif | 91 #endif |
89 | 92 |
90 | 93 |
91 // For debugging purposes: | 94 // For debugging purposes: |
92 // To force FullGCALot inside a runtime function, add the following two lines | 95 // To force FullGCALot inside a runtime function, add the following two lines |
975 | 978 |
976 address pc = thread->exception_pc(); | 979 address pc = thread->exception_pc(); |
977 nm = CodeCache::find_nmethod(pc); | 980 nm = CodeCache::find_nmethod(pc); |
978 assert(nm != NULL, "No NMethod found"); | 981 assert(nm != NULL, "No NMethod found"); |
979 if (nm->is_native_method()) { | 982 if (nm->is_native_method()) { |
980 fatal("Native mathod should not have path to exception handling"); | 983 fatal("Native method should not have path to exception handling"); |
981 } else { | 984 } else { |
982 // we are switching to old paradigm: search for exception handler in caller_frame | 985 // we are switching to old paradigm: search for exception handler in caller_frame |
983 // instead in exception handler of caller_frame.sender() | 986 // instead in exception handler of caller_frame.sender() |
984 | 987 |
985 if (JvmtiExport::can_post_on_exceptions()) { | 988 if (JvmtiExport::can_post_on_exceptions()) { |
1004 // Adjust the pc back to the original throwing pc | 1007 // Adjust the pc back to the original throwing pc |
1005 pc = deoptee.pc(); | 1008 pc = deoptee.pc(); |
1006 } | 1009 } |
1007 | 1010 |
1008 // If we are forcing an unwind because of stack overflow then deopt is | 1011 // If we are forcing an unwind because of stack overflow then deopt is |
1009 // irrelevant sice we are throwing the frame away anyway. | 1012 // irrelevant since we are throwing the frame away anyway. |
1010 | 1013 |
1011 if (deopting && !force_unwind) { | 1014 if (deopting && !force_unwind) { |
1012 handler_address = SharedRuntime::deopt_blob()->unpack_with_exception(); | 1015 handler_address = SharedRuntime::deopt_blob()->unpack_with_exception(); |
1013 } else { | 1016 } else { |
1014 | 1017 |
1047 // If there is a compiled exception handler in this method, we will continue there; | 1050 // If there is a compiled exception handler in this method, we will continue there; |
1048 // otherwise we will unwind the stack and continue at the caller of top frame method | 1051 // otherwise we will unwind the stack and continue at the caller of top frame method |
1049 // Note we enter without the usual JRT wrapper. We will call a helper routine that | 1052 // Note we enter without the usual JRT wrapper. We will call a helper routine that |
1050 // will do the normal VM entry. We do it this way so that we can see if the nmethod | 1053 // will do the normal VM entry. We do it this way so that we can see if the nmethod |
1051 // we looked up the handler for has been deoptimized in the meantime. If it has been | 1054 // we looked up the handler for has been deoptimized in the meantime. If it has been |
1052 // we must not use the handler and instread return the deopt blob. | 1055 // we must not use the handler and instead return the deopt blob. |
1053 address OptoRuntime::handle_exception_C(JavaThread* thread) { | 1056 address OptoRuntime::handle_exception_C(JavaThread* thread) { |
1054 // | 1057 // |
1055 // We are in Java not VM and in debug mode we have a NoHandleMark | 1058 // We are in Java not VM and in debug mode we have a NoHandleMark |
1056 // | 1059 // |
1057 #ifndef PRODUCT | 1060 #ifndef PRODUCT |