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