これらは, JVMTI の機能を実装するために使用される補助クラス.
JVMTI の機能を実現するためのクラス. より具体的に言うと, JVMTI 処理で使用される様々な補助関数を納めた名前空間(AllStatic クラス).
((cite: hotspot/src/share/vm/prims/jvmtiUtil.hpp))
///////////////////////////////////////////////////////////////
//
// class JvmtiUtil
//
// class for miscellaneous jvmti utility static methods
//
class JvmtiUtil : AllStatic {
定義されているメソッドは以下の通り.
((cite: hotspot/src/share/vm/prims/jvmtiUtil.hpp))
static ResourceArea* single_threaded_resource_area();
static const char* error_name(int num) { return _error_names[num]; } // To Do: add range checking
static const bool has_event_capability(jvmtiEvent event_type, const jvmtiCapabilities* capabilities_ptr);
static const bool event_threaded(int num) {
See: here for details
デバッグ用(開発時用)のクラス (#ifdef JVMTI_TRACE 時にしか使用されない).
特殊な ResourceMark クラス. 普通の ResourceMark クラスと異なり, Thread が生成される前でも使用できる.
(普通の ResourceMark クラスでは, 確保用のメモリ領域として Thread の ResourceArea を使用するため, Thread が生成されるまでは使用できない. このクラスの場合, Thread が存在していなければ代わりに JvmtiUtil::single_threaded_resource_area() を使用するため, hread が生成される前でも使用できる.)
((cite: hotspot/src/share/vm/prims/jvmtiUtil.hpp))
///////////////////////////////////////////////////////////////
//
// class SafeResourceMark
//
// ResourceMarks that work before threads exist
//
class SafeResourceMark : public ResourceMark {
以下の箇所で(のみ)使用されている. ただしどの箇所でも #ifdef JVMTI_TRACE 時にしか使用されない.
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.