212 // provide access to TLS and the return pc.
213 //
214
215 #define C2_STUBS_DO(do_blob, do_stub) \
216 do_blob(uncommon_trap, UncommonTrapBlob) \
217 do_blob(exception, ExceptionBlob) \
218 do_stub(new_instance, 0, true, false) \
219 do_stub(new_array, 0, true, false) \
220 do_stub(new_array_nozero, 0, true, false) \
221 do_stub(multianewarray2, 0, true, false) \
222 do_stub(multianewarray3, 0, true, false) \
223 do_stub(multianewarray4, 0, true, false) \
224 do_stub(multianewarray5, 0, true, false) \
225 do_stub(multianewarrayN, 0, true, false) \
226 do_stub(complete_monitor_locking, 0, false, false) \
227 do_stub(monitor_notify, 0, false, false) \
228 do_stub(monitor_notifyAll, 0, false, false) \
229 do_stub(rethrow, 2, true, true) \
230 do_stub(slow_arraycopy, 0, false, false) \
231 do_stub(register_finalizer, 0, false, false) \
232 do_stub(vthread_end_first_transition, 0, false, false) \
233 do_stub(vthread_start_final_transition, 0, false, false) \
234 do_stub(vthread_start_transition, 0, false, false) \
235 do_stub(vthread_end_transition, 0, false, false) \
236
237 #else
238 #define C2_STUBS_DO(do_blob, do_stub)
239 #endif
240
241 // Stubgen stub declarations
242 //
243 // Stub Generator Blobs, Stubs and Entries Overview
244 //
245 // StubGenerator stubs do not require their own individual blob. They
246 // are generated in batches into one of five distinct BufferBlobs:
247 //
248 // 1) PreUniverse stubs
249 // 2) Initial stubs
250 // 3) Continuation stubs
251 // 4) Compiler stubs
|
212 // provide access to TLS and the return pc.
213 //
214
215 #define C2_STUBS_DO(do_blob, do_stub) \
216 do_blob(uncommon_trap, UncommonTrapBlob) \
217 do_blob(exception, ExceptionBlob) \
218 do_stub(new_instance, 0, true, false) \
219 do_stub(new_array, 0, true, false) \
220 do_stub(new_array_nozero, 0, true, false) \
221 do_stub(multianewarray2, 0, true, false) \
222 do_stub(multianewarray3, 0, true, false) \
223 do_stub(multianewarray4, 0, true, false) \
224 do_stub(multianewarray5, 0, true, false) \
225 do_stub(multianewarrayN, 0, true, false) \
226 do_stub(complete_monitor_locking, 0, false, false) \
227 do_stub(monitor_notify, 0, false, false) \
228 do_stub(monitor_notifyAll, 0, false, false) \
229 do_stub(rethrow, 2, true, true) \
230 do_stub(slow_arraycopy, 0, false, false) \
231 do_stub(register_finalizer, 0, false, false) \
232 do_stub(class_init_barrier, 0, false, false) \
233 do_stub(vthread_end_first_transition, 0, false, false) \
234 do_stub(vthread_start_final_transition, 0, false, false) \
235 do_stub(vthread_start_transition, 0, false, false) \
236 do_stub(vthread_end_transition, 0, false, false) \
237
238 #else
239 #define C2_STUBS_DO(do_blob, do_stub)
240 #endif
241
242 // Stubgen stub declarations
243 //
244 // Stub Generator Blobs, Stubs and Entries Overview
245 //
246 // StubGenerator stubs do not require their own individual blob. They
247 // are generated in batches into one of five distinct BufferBlobs:
248 //
249 // 1) PreUniverse stubs
250 // 2) Initial stubs
251 // 3) Continuation stubs
252 // 4) Compiler stubs
|