< prev index next >

src/hotspot/share/classfile/javaClasses.cpp

Print this page
*** 1054,11 ***
  }
  
  void java_lang_Class::allocate_mirror(Klass* k, bool is_scratch, Handle protection_domain, Handle classData,
                                        Handle& mirror, Handle& comp_mirror, TRAPS) {
    // Allocate mirror (java.lang.Class instance)
!   oop mirror_oop = InstanceMirrorKlass::cast(vmClasses::Class_klass())->allocate_instance(k, CHECK);
    mirror = Handle(THREAD, mirror_oop);
  
    // Setup indirection from mirror->klass
    set_klass(mirror(), k);
  
--- 1054,11 ---
  }
  
  void java_lang_Class::allocate_mirror(Klass* k, bool is_scratch, Handle protection_domain, Handle classData,
                                        Handle& mirror, Handle& comp_mirror, TRAPS) {
    // Allocate mirror (java.lang.Class instance)
!   oop mirror_oop = InstanceMirrorKlass::cast(vmClasses::Class_klass())->allocate_instance(k, is_scratch, CHECK);
    mirror = Handle(THREAD, mirror_oop);
  
    // Setup indirection from mirror->klass
    set_klass(mirror(), k);
  

*** 1355,13 ***
    assert(_is_primitive_offset != 0, "must be set");
    java_class->bool_field_put(_is_primitive_offset, true);
  }
  
  
! oop java_lang_Class::create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS) {
    // Mirrors for basic types have a null klass field, which makes them special.
!   oop java_class = InstanceMirrorKlass::cast(vmClasses::Class_klass())->allocate_instance(nullptr, CHECK_NULL);
    if (type != T_VOID) {
      Klass* aklass = Universe::typeArrayKlass(type);
      assert(aklass != nullptr, "correct bootstrap");
      release_set_array_klass(java_class, aklass);
    }
--- 1355,13 ---
    assert(_is_primitive_offset != 0, "must be set");
    java_class->bool_field_put(_is_primitive_offset, true);
  }
  
  
! oop java_lang_Class::create_basic_type_mirror(const char* basic_type_name, BasicType type, bool is_scratch, TRAPS) {
    // Mirrors for basic types have a null klass field, which makes them special.
!   oop java_class = InstanceMirrorKlass::cast(vmClasses::Class_klass())->allocate_instance(nullptr, is_scratch, CHECK_NULL);
    if (type != T_VOID) {
      Klass* aklass = Universe::typeArrayKlass(type);
      assert(aklass != nullptr, "correct bootstrap");
      release_set_array_klass(java_class, aklass);
    }
< prev index next >