1.1 --- a/src/cpu/zero/vm/sharedRuntime_zero.cpp Fri Oct 26 14:18:57 2012 -0700 1.2 +++ b/src/cpu/zero/vm/sharedRuntime_zero.cpp Mon Oct 29 11:08:48 2012 -0700 1.3 @@ -35,6 +35,7 @@ 1.4 #include "runtime/sharedRuntime.hpp" 1.5 #include "runtime/vframeArray.hpp" 1.6 #include "vmreg_zero.inline.hpp" 1.7 + 1.8 #ifdef COMPILER1 1.9 #include "c1/c1_Runtime1.hpp" 1.10 #endif 1.11 @@ -47,6 +48,12 @@ 1.12 #endif 1.13 1.14 1.15 + 1.16 +static address zero_null_code_stub() { 1.17 + address start = ShouldNotCallThisStub(); 1.18 + return start; 1.19 +} 1.20 + 1.21 int SharedRuntime::java_calling_convention(const BasicType *sig_bt, 1.22 VMRegPair *regs, 1.23 int total_args_passed, 1.24 @@ -63,16 +70,14 @@ 1.25 AdapterFingerPrint *fingerprint) { 1.26 return AdapterHandlerLibrary::new_entry( 1.27 fingerprint, 1.28 - ShouldNotCallThisStub(), 1.29 - ShouldNotCallThisStub(), 1.30 - ShouldNotCallThisStub()); 1.31 + CAST_FROM_FN_PTR(address,zero_null_code_stub), 1.32 + CAST_FROM_FN_PTR(address,zero_null_code_stub), 1.33 + CAST_FROM_FN_PTR(address,zero_null_code_stub)); 1.34 } 1.35 1.36 nmethod *SharedRuntime::generate_native_wrapper(MacroAssembler *masm, 1.37 methodHandle method, 1.38 int compile_id, 1.39 - int total_args_passed, 1.40 - int max_arg, 1.41 BasicType *sig_bt, 1.42 VMRegPair *regs, 1.43 BasicType ret_type) { 1.44 @@ -96,19 +101,20 @@ 1.45 ShouldNotCallThis(); 1.46 } 1.47 1.48 +JRT_LEAF(void, zero_stub()) 1.49 + ShouldNotCallThis(); 1.50 +JRT_END 1.51 + 1.52 static RuntimeStub* generate_empty_runtime_stub(const char* name) { 1.53 - CodeBuffer buffer(name, 0, 0); 1.54 - return RuntimeStub::new_runtime_stub(name, &buffer, 0, 0, NULL, false); 1.55 + return CAST_FROM_FN_PTR(RuntimeStub*,zero_stub); 1.56 } 1.57 1.58 static SafepointBlob* generate_empty_safepoint_blob() { 1.59 - CodeBuffer buffer("handler_blob", 0, 0); 1.60 - return SafepointBlob::create(&buffer, NULL, 0); 1.61 + return CAST_FROM_FN_PTR(SafepointBlob*,zero_stub); 1.62 } 1.63 1.64 static DeoptimizationBlob* generate_empty_deopt_blob() { 1.65 - CodeBuffer buffer("handler_blob", 0, 0); 1.66 - return DeoptimizationBlob::create(&buffer, NULL, 0, 0, 0, 0); 1.67 + return CAST_FROM_FN_PTR(DeoptimizationBlob*,zero_stub); 1.68 } 1.69 1.70 1.71 @@ -116,7 +122,7 @@ 1.72 _deopt_blob = generate_empty_deopt_blob(); 1.73 } 1.74 1.75 -SafepointBlob* SharedRuntime::generate_handler_blob(address call_ptr, bool cause_return) { 1.76 +SafepointBlob* SharedRuntime::generate_handler_blob(address call_ptr, int poll_type) { 1.77 return generate_empty_safepoint_blob(); 1.78 } 1.79 1.80 @@ -124,6 +130,7 @@ 1.81 return generate_empty_runtime_stub("resolve_blob"); 1.82 } 1.83 1.84 + 1.85 int SharedRuntime::c_calling_convention(const BasicType *sig_bt, 1.86 VMRegPair *regs, 1.87 int total_args_passed) {