44 #ifdef SHARK |
44 #ifdef SHARK |
45 #include "compiler/compileBroker.hpp" |
45 #include "compiler/compileBroker.hpp" |
46 #include "shark/sharkCompiler.hpp" |
46 #include "shark/sharkCompiler.hpp" |
47 #endif |
47 #endif |
48 |
48 |
49 DeoptimizationBlob *SharedRuntime::_deopt_blob; |
|
50 SafepointBlob *SharedRuntime::_polling_page_safepoint_handler_blob; |
|
51 SafepointBlob *SharedRuntime::_polling_page_return_handler_blob; |
|
52 RuntimeStub *SharedRuntime::_wrong_method_blob; |
|
53 RuntimeStub *SharedRuntime::_ic_miss_blob; |
|
54 RuntimeStub *SharedRuntime::_resolve_opt_virtual_call_blob; |
|
55 RuntimeStub *SharedRuntime::_resolve_virtual_call_blob; |
|
56 RuntimeStub *SharedRuntime::_resolve_static_call_blob; |
|
57 |
49 |
58 int SharedRuntime::java_calling_convention(const BasicType *sig_bt, |
50 int SharedRuntime::java_calling_convention(const BasicType *sig_bt, |
59 VMRegPair *regs, |
51 VMRegPair *regs, |
60 int total_args_passed, |
52 int total_args_passed, |
61 int is_outgoing) { |
53 int is_outgoing) { |
112 static SafepointBlob* generate_empty_safepoint_blob() { |
104 static SafepointBlob* generate_empty_safepoint_blob() { |
113 CodeBuffer buffer("handler_blob", 0, 0); |
105 CodeBuffer buffer("handler_blob", 0, 0); |
114 return SafepointBlob::create(&buffer, NULL, 0); |
106 return SafepointBlob::create(&buffer, NULL, 0); |
115 } |
107 } |
116 |
108 |
117 void SharedRuntime::generate_stubs() { |
109 static DeoptimizationBlob* generate_empty_deopt_blob() { |
118 _wrong_method_blob = |
110 CodeBuffer buffer("handler_blob", 0, 0); |
119 generate_empty_runtime_stub("wrong_method_stub"); |
111 return DeoptimizationBlob::create(&buffer, NULL, 0, 0, 0, 0); |
120 _ic_miss_blob = |
112 } |
121 generate_empty_runtime_stub("ic_miss_stub"); |
|
122 _resolve_opt_virtual_call_blob = |
|
123 generate_empty_runtime_stub("resolve_opt_virtual_call"); |
|
124 _resolve_virtual_call_blob = |
|
125 generate_empty_runtime_stub("resolve_virtual_call"); |
|
126 _resolve_static_call_blob = |
|
127 generate_empty_runtime_stub("resolve_static_call"); |
|
128 |
113 |
129 _polling_page_safepoint_handler_blob = |
114 |
130 generate_empty_safepoint_blob(); |
115 void SharedRuntime::generate_deopt_blob() { |
131 _polling_page_return_handler_blob = |
116 _deopt_blob = generate_empty_deopt_blob(); |
132 generate_empty_safepoint_blob(); |
117 } |
|
118 |
|
119 SafepointBlob* SharedRuntime::generate_handler_blob(address call_ptr, bool cause_return) { |
|
120 return generate_empty_safepoint_blob(); |
|
121 } |
|
122 |
|
123 RuntimeStub* SharedRuntime::generate_resolve_blob(address destination, const char* name) { |
|
124 return generate_empty_runtime_stub("resolve_blob"); |
133 } |
125 } |
134 |
126 |
135 int SharedRuntime::c_calling_convention(const BasicType *sig_bt, |
127 int SharedRuntime::c_calling_convention(const BasicType *sig_bt, |
136 VMRegPair *regs, |
128 VMRegPair *regs, |
137 int total_args_passed) { |
129 int total_args_passed) { |