Top


定義場所(file name)

hotspot/src/share/vm/oops/instanceKlass.cpp

説明(description)

/* jni_id_for for jfieldIds only */

名前(function name)

JNIid* instanceKlass::jni_id_for(int offset) {

本体部(body)

  {- -------------------------------------------
  (1) JNIid::find() を呼んでみて, 
      offset 引数で指定された値に対応する JNIid オブジェクトが
      既にこの instanceKlass の jni_ids フィールドに存在しないかどうか探してみる.
      ---------------------------------------- -}

      JNIid* probe = jni_ids() == NULL ? NULL : jni_ids()->find(offset);

  {- -------------------------------------------
  (1) もしそういう JNIid オブジェクトが見つかれば, それをリターンするだけ.

      存在しなければ, instanceKlass::jni_id_for_impl() で
      対応する JNIid オブジェクト作成してリターンする.
      ---------------------------------------- -}

      if (probe == NULL) {
        probe = jni_id_for_impl(this->as_klassOop(), offset);
      }
      return probe;
    }

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