229 // employs jump 0, and requires no special access
230
231 #define C2_STUBS_DO(do_blob, do_stub, do_jvmti_stub) \
232 do_blob(uncommon_trap, UncommonTrapBlob) \
233 do_blob(exception, ExceptionBlob) \
234 do_stub(new_instance, 0, true, false) \
235 do_stub(new_array, 0, true, false) \
236 do_stub(new_array_nozero, 0, true, false) \
237 do_stub(multianewarray2, 0, true, false) \
238 do_stub(multianewarray3, 0, true, false) \
239 do_stub(multianewarray4, 0, true, false) \
240 do_stub(multianewarray5, 0, true, false) \
241 do_stub(multianewarrayN, 0, true, false) \
242 C2_JVMTI_STUBS_DO(do_jvmti_stub) \
243 do_stub(complete_monitor_locking, 0, false, false) \
244 do_stub(monitor_notify, 0, false, false) \
245 do_stub(monitor_notifyAll, 0, false, false) \
246 do_stub(rethrow, 2, true, true) \
247 do_stub(slow_arraycopy, 0, false, false) \
248 do_stub(register_finalizer, 0, false, false) \
249
250 #else
251 #define C2_STUBS_DO(do_blob, do_stub, do_jvmti_stub)
252 #endif
253
254 // Stubgen stub declarations
255 //
256 // Stub Generator Blobs, Stubs and Entries Overview
257 //
258 // StubGenerator stubs do not require their own individual blob. They
259 // are generated in batches into one of five distinct BufferBlobs:
260 //
261 // 1) PreUniverse stubs
262 // 2) Initial stubs
263 // 3) Continuation stubs
264 // 4) Compiler stubs
265 // 5) Final stubs
266 //
267 // Most StubGen stubs have a single entry point. However, in some
268 // cases there are additional entry points.
|
229 // employs jump 0, and requires no special access
230
231 #define C2_STUBS_DO(do_blob, do_stub, do_jvmti_stub) \
232 do_blob(uncommon_trap, UncommonTrapBlob) \
233 do_blob(exception, ExceptionBlob) \
234 do_stub(new_instance, 0, true, false) \
235 do_stub(new_array, 0, true, false) \
236 do_stub(new_array_nozero, 0, true, false) \
237 do_stub(multianewarray2, 0, true, false) \
238 do_stub(multianewarray3, 0, true, false) \
239 do_stub(multianewarray4, 0, true, false) \
240 do_stub(multianewarray5, 0, true, false) \
241 do_stub(multianewarrayN, 0, true, false) \
242 C2_JVMTI_STUBS_DO(do_jvmti_stub) \
243 do_stub(complete_monitor_locking, 0, false, false) \
244 do_stub(monitor_notify, 0, false, false) \
245 do_stub(monitor_notifyAll, 0, false, false) \
246 do_stub(rethrow, 2, true, true) \
247 do_stub(slow_arraycopy, 0, false, false) \
248 do_stub(register_finalizer, 0, false, false) \
249 do_stub(class_init_barrier, 0, false, false) \
250
251 #else
252 #define C2_STUBS_DO(do_blob, do_stub, do_jvmti_stub)
253 #endif
254
255 // Stubgen stub declarations
256 //
257 // Stub Generator Blobs, Stubs and Entries Overview
258 //
259 // StubGenerator stubs do not require their own individual blob. They
260 // are generated in batches into one of five distinct BufferBlobs:
261 //
262 // 1) PreUniverse stubs
263 // 2) Initial stubs
264 // 3) Continuation stubs
265 // 4) Compiler stubs
266 // 5) Final stubs
267 //
268 // Most StubGen stubs have a single entry point. However, in some
269 // cases there are additional entry points.
|