2416 return start;
2417 }
2418
2419 void generate_initial() {
2420 // Generates all stubs and initializes the entry points.
2421
2422 // Entry points that exist in all platforms.
2423 // Note: This is code that could be shared among different
2424 // platforms - however the benefit seems to be smaller than the
2425 // disadvantage of having a much more complicated generator
2426 // structure. See also comment in stubRoutines.hpp.
2427 StubRoutines::_forward_exception_entry = generate_forward_exception();
2428
2429 StubRoutines::_call_stub_entry = generate_call_stub(StubRoutines::_call_stub_return_address);
2430 StubRoutines::_catch_exception_entry = generate_catch_exception();
2431
2432 // Build this early so it's available for the interpreter.
2433 StubRoutines::_throw_StackOverflowError_entry =
2434 generate_throw_exception("StackOverflowError throw_exception",
2435 CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError), false);
2436
2437 //----------------------------------------------------------------------
2438 // Entry points that are platform specific.
2439 // Build this early so it's available for the interpreter.
2440 StubRoutines::_throw_StackOverflowError_entry =
2441 generate_throw_exception("StackOverflowError throw_exception",
2442 CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError), false);
2443
2444 if (UseCRC32Intrinsics) {
2445 // We have no CRC32 table on z/Architecture.
2446 StubRoutines::_crc_table_adr = (address)StubRoutines::zarch::_crc_table;
2447 StubRoutines::_updateBytesCRC32 = generate_CRC32_updateBytes("CRC32_updateBytes");
2448 }
2449
2450 // Comapct string intrinsics: Translate table for string inflate intrinsic. Used by trot instruction.
2451 StubRoutines::zarch::_trot_table_addr = (address)StubRoutines::zarch::_trot_table;
2452 }
2453
2454
2455 void generate_all() {
2456 // Generates all stubs and initializes the entry points.
2457
2458 StubRoutines::zarch::_partial_subtype_check = generate_partial_subtype_check();
2459
2460 // These entry points require SharedInfo::stack0 to be set up in non-core builds.
2461 StubRoutines::_throw_AbstractMethodError_entry = generate_throw_exception("AbstractMethodError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_AbstractMethodError), false);
2462 StubRoutines::_throw_IncompatibleClassChangeError_entry= generate_throw_exception("IncompatibleClassChangeError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_IncompatibleClassChangeError), false);
|
2416 return start;
2417 }
2418
2419 void generate_initial() {
2420 // Generates all stubs and initializes the entry points.
2421
2422 // Entry points that exist in all platforms.
2423 // Note: This is code that could be shared among different
2424 // platforms - however the benefit seems to be smaller than the
2425 // disadvantage of having a much more complicated generator
2426 // structure. See also comment in stubRoutines.hpp.
2427 StubRoutines::_forward_exception_entry = generate_forward_exception();
2428
2429 StubRoutines::_call_stub_entry = generate_call_stub(StubRoutines::_call_stub_return_address);
2430 StubRoutines::_catch_exception_entry = generate_catch_exception();
2431
2432 // Build this early so it's available for the interpreter.
2433 StubRoutines::_throw_StackOverflowError_entry =
2434 generate_throw_exception("StackOverflowError throw_exception",
2435 CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError), false);
2436 StubRoutines::_throw_delayed_StackOverflowError_entry =
2437 generate_throw_exception("delayed StackOverflowError throw_exception",
2438 CAST_FROM_FN_PTR(address, SharedRuntime::throw_delayed_StackOverflowError), false);
2439
2440 //----------------------------------------------------------------------
2441 // Entry points that are platform specific.
2442
2443 if (UseCRC32Intrinsics) {
2444 // We have no CRC32 table on z/Architecture.
2445 StubRoutines::_crc_table_adr = (address)StubRoutines::zarch::_crc_table;
2446 StubRoutines::_updateBytesCRC32 = generate_CRC32_updateBytes("CRC32_updateBytes");
2447 }
2448
2449 // Comapct string intrinsics: Translate table for string inflate intrinsic. Used by trot instruction.
2450 StubRoutines::zarch::_trot_table_addr = (address)StubRoutines::zarch::_trot_table;
2451 }
2452
2453
2454 void generate_all() {
2455 // Generates all stubs and initializes the entry points.
2456
2457 StubRoutines::zarch::_partial_subtype_check = generate_partial_subtype_check();
2458
2459 // These entry points require SharedInfo::stack0 to be set up in non-core builds.
2460 StubRoutines::_throw_AbstractMethodError_entry = generate_throw_exception("AbstractMethodError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_AbstractMethodError), false);
2461 StubRoutines::_throw_IncompatibleClassChangeError_entry= generate_throw_exception("IncompatibleClassChangeError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_IncompatibleClassChangeError), false);
|