Top


定義場所(file name)

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

説明(description)

// Initialization of vtables and mirror object is done separatly from base_create_array_klass,
// since a GC can happen. At this point all instance variables of the arrayKlass must be setup.

名前(function name)

void arrayKlass::complete_create_array_klass(arrayKlassHandle k, KlassHandle super_klass, TRAPS) {

本体部(body)

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

      ResourceMark rm(THREAD);

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

      k->initialize_supers(super_klass(), CHECK);

  {- -------------------------------------------
  (1) klassVtable::initialize_vtable() を呼んで vtable を作成する.
      ---------------------------------------- -}

      k->vtable()->initialize_vtable(false, CHECK);

  {- -------------------------------------------
  (1) java_lang_Class::create_mirror() を呼んで
      mirror オブジェクト(Java レベルのクラスオブジェクト)を生成する.
      ---------------------------------------- -}

      java_lang_Class::create_mirror(k, CHECK);
    }

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