src/cpu/sparc/vm/stubGenerator_sparc.cpp

Print this page




5306 
5307     //------------------------------------------------------------------------------------------------------------------------
5308     // entry points that are platform specific
5309     StubRoutines::Sparc::_test_stop_entry                  = generate_test_stop();
5310 
5311     StubRoutines::Sparc::_stop_subroutine_entry            = generate_stop_subroutine();
5312     StubRoutines::Sparc::_flush_callers_register_windows_entry = generate_flush_callers_register_windows();
5313 
5314 #if !defined(COMPILER2) && !defined(_LP64)
5315     StubRoutines::_atomic_xchg_entry         = generate_atomic_xchg();
5316     StubRoutines::_atomic_cmpxchg_entry      = generate_atomic_cmpxchg();
5317     StubRoutines::_atomic_add_entry          = generate_atomic_add();
5318     StubRoutines::_atomic_xchg_ptr_entry     = StubRoutines::_atomic_xchg_entry;
5319     StubRoutines::_atomic_cmpxchg_ptr_entry  = StubRoutines::_atomic_cmpxchg_entry;
5320     StubRoutines::_atomic_cmpxchg_byte_entry = ShouldNotCallThisStub();
5321     StubRoutines::_atomic_cmpxchg_long_entry = generate_atomic_cmpxchg_long();
5322     StubRoutines::_atomic_add_ptr_entry      = StubRoutines::_atomic_add_entry;
5323 #endif  // COMPILER2 !=> _LP64
5324 
5325     // Build this early so it's available for the interpreter.
5326     StubRoutines::_throw_StackOverflowError_entry          = generate_throw_exception("StackOverflowError throw_exception",           CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));





5327   }
5328 
5329 
5330   void generate_all() {
5331     // Generates all stubs and initializes the entry points
5332 
5333     // Generate partial_subtype_check first here since its code depends on
5334     // UseZeroBaseCompressedOops which is defined after heap initialization.
5335     StubRoutines::Sparc::_partial_subtype_check                = generate_partial_subtype_check();
5336     // These entry points require SharedInfo::stack0 to be set up in non-core builds
5337     StubRoutines::_throw_AbstractMethodError_entry         = generate_throw_exception("AbstractMethodError throw_exception",          CAST_FROM_FN_PTR(address, SharedRuntime::throw_AbstractMethodError));
5338     StubRoutines::_throw_IncompatibleClassChangeError_entry= generate_throw_exception("IncompatibleClassChangeError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_IncompatibleClassChangeError));
5339     StubRoutines::_throw_NullPointerException_at_call_entry= generate_throw_exception("NullPointerException at call throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_NullPointerException_at_call));
5340 
5341     StubRoutines::_handler_for_unsafe_access_entry =
5342       generate_handler_for_unsafe_access();
5343 
5344     // support for verify_oop (must happen after universe_init)
5345     StubRoutines::_verify_oop_subroutine_entry     = generate_verify_oop_subroutine();
5346 




5306 
5307     //------------------------------------------------------------------------------------------------------------------------
5308     // entry points that are platform specific
5309     StubRoutines::Sparc::_test_stop_entry                  = generate_test_stop();
5310 
5311     StubRoutines::Sparc::_stop_subroutine_entry            = generate_stop_subroutine();
5312     StubRoutines::Sparc::_flush_callers_register_windows_entry = generate_flush_callers_register_windows();
5313 
5314 #if !defined(COMPILER2) && !defined(_LP64)
5315     StubRoutines::_atomic_xchg_entry         = generate_atomic_xchg();
5316     StubRoutines::_atomic_cmpxchg_entry      = generate_atomic_cmpxchg();
5317     StubRoutines::_atomic_add_entry          = generate_atomic_add();
5318     StubRoutines::_atomic_xchg_ptr_entry     = StubRoutines::_atomic_xchg_entry;
5319     StubRoutines::_atomic_cmpxchg_ptr_entry  = StubRoutines::_atomic_cmpxchg_entry;
5320     StubRoutines::_atomic_cmpxchg_byte_entry = ShouldNotCallThisStub();
5321     StubRoutines::_atomic_cmpxchg_long_entry = generate_atomic_cmpxchg_long();
5322     StubRoutines::_atomic_add_ptr_entry      = StubRoutines::_atomic_add_entry;
5323 #endif  // COMPILER2 !=> _LP64
5324 
5325     // Build this early so it's available for the interpreter.
5326     StubRoutines::_throw_StackOverflowError_entry = 
5327             generate_throw_exception("StackOverflowError throw_exception",
5328             CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
5329     StubRoutines::_throw_delayed_StackOverflowError_entry = 
5330             generate_throw_exception("delayed StackOverflowError throw_exception",
5331             CAST_FROM_FN_PTR(address, SharedRuntime::throw_delayed_StackOverflowError));
5332   }
5333 
5334 
5335   void generate_all() {
5336     // Generates all stubs and initializes the entry points
5337 
5338     // Generate partial_subtype_check first here since its code depends on
5339     // UseZeroBaseCompressedOops which is defined after heap initialization.
5340     StubRoutines::Sparc::_partial_subtype_check                = generate_partial_subtype_check();
5341     // These entry points require SharedInfo::stack0 to be set up in non-core builds
5342     StubRoutines::_throw_AbstractMethodError_entry         = generate_throw_exception("AbstractMethodError throw_exception",          CAST_FROM_FN_PTR(address, SharedRuntime::throw_AbstractMethodError));
5343     StubRoutines::_throw_IncompatibleClassChangeError_entry= generate_throw_exception("IncompatibleClassChangeError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_IncompatibleClassChangeError));
5344     StubRoutines::_throw_NullPointerException_at_call_entry= generate_throw_exception("NullPointerException at call throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_NullPointerException_at_call));
5345 
5346     StubRoutines::_handler_for_unsafe_access_entry =
5347       generate_handler_for_unsafe_access();
5348 
5349     // support for verify_oop (must happen after universe_init)
5350     StubRoutines::_verify_oop_subroutine_entry     = generate_verify_oop_subroutine();
5351