136 } |
136 } |
137 #endif // ASSERT |
137 #endif // ASSERT |
138 |
138 |
139 |
139 |
140 #define gen(env, var, type_func_gen, c_func, fancy_jump, pass_tls, save_arg_regs, return_pc) \ |
140 #define gen(env, var, type_func_gen, c_func, fancy_jump, pass_tls, save_arg_regs, return_pc) \ |
141 var = generate_stub(env, type_func_gen, CAST_FROM_FN_PTR(address, c_func), #var, fancy_jump, pass_tls, save_arg_regs, return_pc) |
141 var = generate_stub(env, type_func_gen, CAST_FROM_FN_PTR(address, c_func), #var, fancy_jump, pass_tls, save_arg_regs, return_pc); \ |
142 |
142 if (var == NULL) { return false; } |
143 void OptoRuntime::generate(ciEnv* env) { |
143 |
|
144 bool OptoRuntime::generate(ciEnv* env) { |
144 |
145 |
145 generate_exception_blob(); |
146 generate_exception_blob(); |
146 |
147 |
147 // Note: tls: Means fetching the return oop out of the thread-local storage |
148 // Note: tls: Means fetching the return oop out of the thread-local storage |
148 // |
149 // |
156 gen(env, _multianewarray4_Java , multianewarray4_Type , multianewarray4_C , 0 , true , false, false); |
157 gen(env, _multianewarray4_Java , multianewarray4_Type , multianewarray4_C , 0 , true , false, false); |
157 gen(env, _multianewarray5_Java , multianewarray5_Type , multianewarray5_C , 0 , true , false, false); |
158 gen(env, _multianewarray5_Java , multianewarray5_Type , multianewarray5_C , 0 , true , false, false); |
158 gen(env, _multianewarrayN_Java , multianewarrayN_Type , multianewarrayN_C , 0 , true , false, false); |
159 gen(env, _multianewarrayN_Java , multianewarrayN_Type , multianewarrayN_C , 0 , true , false, false); |
159 gen(env, _g1_wb_pre_Java , g1_wb_pre_Type , SharedRuntime::g1_wb_pre , 0 , false, false, false); |
160 gen(env, _g1_wb_pre_Java , g1_wb_pre_Type , SharedRuntime::g1_wb_pre , 0 , false, false, false); |
160 gen(env, _g1_wb_post_Java , g1_wb_post_Type , SharedRuntime::g1_wb_post , 0 , false, false, false); |
161 gen(env, _g1_wb_post_Java , g1_wb_post_Type , SharedRuntime::g1_wb_post , 0 , false, false, false); |
161 gen(env, _complete_monitor_locking_Java , complete_monitor_enter_Type , SharedRuntime::complete_monitor_locking_C , 0 , false, false, false); |
162 gen(env, _complete_monitor_locking_Java , complete_monitor_enter_Type , SharedRuntime::complete_monitor_locking_C, 0, false, false, false); |
162 gen(env, _rethrow_Java , rethrow_Type , rethrow_C , 2 , true , false, true ); |
163 gen(env, _rethrow_Java , rethrow_Type , rethrow_C , 2 , true , false, true ); |
163 |
164 |
164 gen(env, _slow_arraycopy_Java , slow_arraycopy_Type , SharedRuntime::slow_arraycopy_C , 0 , false, false, false); |
165 gen(env, _slow_arraycopy_Java , slow_arraycopy_Type , SharedRuntime::slow_arraycopy_C , 0 , false, false, false); |
165 gen(env, _register_finalizer_Java , register_finalizer_Type , register_finalizer , 0 , false, false, false); |
166 gen(env, _register_finalizer_Java , register_finalizer_Type , register_finalizer , 0 , false, false, false); |
166 |
167 |
167 # ifdef ENABLE_ZAP_DEAD_LOCALS |
168 # ifdef ENABLE_ZAP_DEAD_LOCALS |
168 gen(env, _zap_dead_Java_locals_Java , zap_dead_locals_Type , zap_dead_Java_locals_C , 0 , false, true , false ); |
169 gen(env, _zap_dead_Java_locals_Java , zap_dead_locals_Type , zap_dead_Java_locals_C , 0 , false, true , false ); |
169 gen(env, _zap_dead_native_locals_Java , zap_dead_locals_Type , zap_dead_native_locals_C , 0 , false, true , false ); |
170 gen(env, _zap_dead_native_locals_Java , zap_dead_locals_Type , zap_dead_native_locals_C , 0 , false, true , false ); |
170 # endif |
171 # endif |
171 |
172 return true; |
172 } |
173 } |
173 |
174 |
174 #undef gen |
175 #undef gen |
175 |
176 |
176 |
177 |