Up Top

ソースコードのディレクトリ構成 : hotspot/src/os/ 以下 : linux/


File Name Description
hotspot/src/os/linux/vm/attachListener_linux.cpp AttachListener クラスのプラットフォーム依存なメソッドの定義, 及びその補助クラスの定義 (LinuxAttachListener, LinuxAttachOperation, ArgumentIterator)
hotspot/src/os/linux/vm/c1_globals_linux.hpp 空ファイル(※1) (See: here for details)
hotspot/src/os/linux/vm/c2_globals_linux.hpp 空ファイル(※2) (See: here for details)
hotspot/src/os/linux/vm/chaitin_linux.cpp PhaseRegAlloc クラスのプラットフォーム依存なメソッドの定義(PhaseRegAlloc::pd_preallocate_hook(), PhaseRegAlloc::pd_postallocate_verify_hook()) (※3)
hotspot/src/os/linux/vm/decoder_linux.cpp Decoder クラスのプラットフォーム依存なメソッドの定義(Decoder::demangle()) (※4)
hotspot/src/os/linux/vm/dtraceJSDT_linux.cpp DTraceJSDT クラスのプラットフォーム依存なメソッドの定義(DTraceJSDT::pd_activate(), DTraceJSDT::pd_dispose(), DTraceJSDT::pd_is_supported()) (※5)
hotspot/src/os/linux/vm/globals_linux.hpp Linux 独自の JVM のコマンドラインオプションの定義 (あるいはデフォルト値の変更) (See: here for details)
hotspot/src/os/linux/vm/interfaceSupport_linux.hpp InterfaceSupport クラス用の関数の定義 (serialize_memory())
hotspot/src/os/linux/vm/jsig.c Signal Chaining 機能用のファイル. シグナルハンドラ設定用の関数(sigaction(), signal(), sigset())を上書きするために同名の独自関数を定義している. (※6)
hotspot/src/os/linux/vm/jvm_linux.cpp sun.misc.Signal クラス用の補助関数(JVM_RegisterSignal(), JVM_RaiseSignal(), JVM_FindSignal()), 及び os::exception_name() 用の補助関数(signal_name()) の定義
hotspot/src/os/linux/vm/jvm_linux.h JNI や CJVM 等に関係したプラットフォーム依存な定数の定義 (JNI_ONLOAD_SYMBOLS, JVM_ONLOAD_SYMBOLS, AGENT_ONLOAD_SYMBOLS, JNI_LIB_PREFIX, JNI_LIB_SUFFIX, etc)
hotspot/src/os/linux/vm/mutex_linux.cpp 空ファイル(※7)
hotspot/src/os/linux/vm/mutex_linux.inline.hpp 同上
hotspot/src/os/linux/vm/osThread_linux.cpp OSThread クラスのプラットフォーム依存な部分の定義
hotspot/src/os/linux/vm/osThread_linux.hpp 同上
hotspot/src/os/linux/vm/os_linux.cpp os クラスのプラットフォーム依存な部分の定義, 及びその補助クラスの定義 (os::Linux, os::Linux::SuspendResume, os::PlatformEvent, os::PlatformParker)
hotspot/src/os/linux/vm/os_linux.hpp 同上
hotspot/src/os/linux/vm/os_linux.inline.hpp 同上
hotspot/src/os/linux/vm/os_share_linux.hpp os クラスのプラットフォーム依存な部分で使用する関数の宣言
hotspot/src/os/linux/vm/perfMemory_linux.cpp PerfMemory クラスのプラットフォーム依存なメソッドの定義
hotspot/src/os/linux/vm/stubRoutines_linux.cpp 空ファイル(※8)
hotspot/src/os/linux/vm/threadCritical_linux.cpp ThreadCritical クラスのプラットフォーム依存なメソッドの定義
hotspot/src/os/linux/vm/thread_linux.inline.hpp ThreadLocalStorage クラスのプラットフォーム依存なメソッドの定義(ThreadLocalStorage::pd_invalidate_all()) (※9)
hotspot/src/os/linux/vm/vmError_linux.cpp VMError クラスのプラットフォーム依存なメソッドの定義 (VMError::show_message_box(), VMError::get_resetted_sighandler(), etc)

備考(Notes)

    ((cite: hotspot/src/os/linux/vm/chaitin_linux.cpp))
    void PhaseRegAlloc::pd_preallocate_hook() {
      // no action
    }
    ((cite: hotspot/src/os/linux/vm/chaitin_linux.cpp))
    void PhaseRegAlloc::pd_postallocate_verify_hook() {
      // no action
    }
    ((cite: hotspot/src/os/linux/vm/decoder_linux.cpp))
    bool Decoder::demangle(const char* symbol, char *buf, int buflen) {
      int   status;
      char* result;
      size_t size = (size_t)buflen;

      // Don't pass buf to __cxa_demangle. In case of the 'buf' is too small,
      // __cxa_demangle will call system "realloc" for additional memory, which
      // may use different malloc/realloc mechanism that allocates 'buf'.
      if ((result = abi::__cxa_demangle(symbol, NULL, NULL, &status)) != NULL) {
        jio_snprintf(buf, buflen, "%s", result);
          // call c library's free
          ::free(result);
          return true;
      }
      return false;
    }
    ((cite: hotspot/src/os/linux/vm/jsig.c))
    /* This is a special library that should be loaded before libc &
     * libthread to interpose the signal handler installation functions:
     * sigaction(), signal(), sigset().
     * Used for signal-chaining. See RFE 4381843.
     */
    ((cite: hotspot/src/os/linux/vm/thread_linux.inline.hpp))
    // Contains inlined functions for class Thread and ThreadLocalStorage

    inline void ThreadLocalStorage::pd_invalidate_all() {} // nothing to do

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