Top


定義場所(file name)

hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp

説明(description)

  //---------------------------------------------------------------------------
  // Initialization

名前(function name)

  void generate_initial() {

本体部(body)

  {- -------------------------------------------
  (1) 
      ---------------------------------------- -}

        // Generates all stubs and initializes the entry points

        //------------------------------------------------------------------------------------------------------------------------
        // entry points that exist in all platforms
        // Note: This is code that could be shared among different platforms - however the benefit seems to be smaller than
        //       the disadvantage of having a much more complicated generator structure. See also comment in stubRoutines.hpp.
        StubRoutines::_forward_exception_entry      = generate_forward_exception();

        StubRoutines::_call_stub_entry              =
          generate_call_stub(StubRoutines::_call_stub_return_address);
        // is referenced by megamorphic call
        StubRoutines::_catch_exception_entry        = generate_catch_exception();

        // These are currently used by Solaris/Intel
        StubRoutines::_atomic_xchg_entry            = generate_atomic_xchg();

        StubRoutines::_handler_for_unsafe_access_entry =
          generate_handler_for_unsafe_access();

        // platform dependent
        create_control_words();

        StubRoutines::x86::_verify_mxcsr_entry                 = generate_verify_mxcsr();
        StubRoutines::x86::_verify_fpu_cntrl_wrd_entry         = generate_verify_fpu_cntrl_wrd();
        StubRoutines::_d2i_wrapper                              = generate_d2i_wrapper(T_INT,
                                                                                       CAST_FROM_FN_PTR(address, SharedRuntime::d2i));
        StubRoutines::_d2l_wrapper                              = generate_d2i_wrapper(T_LONG,
                                                                                       CAST_FROM_FN_PTR(address, SharedRuntime::d2l));

        // Build this early so it's available for the interpreter
        StubRoutines::_throw_WrongMethodTypeException_entry =
          generate_throw_exception("WrongMethodTypeException throw_exception",
                                   CAST_FROM_FN_PTR(address, SharedRuntime::throw_WrongMethodTypeException),
                                   false, rax, rcx);
      }

This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.