< prev index next >

src/hotspot/share/oops/instanceKlass.cpp

Print this page
*** 470,11 ***
    assert(class_name != nullptr, "invariant");
    ClassLoaderData* loader_data = parser.loader_data();
    assert(loader_data != nullptr, "invariant");
  
    InstanceKlass* ik;
!   const bool use_class_space = parser.klass_needs_narrow_id();
  
    // Allocation
    if (parser.is_instance_ref_klass()) {
      // java.lang.ref.Reference
      ik = new (loader_data, size, use_class_space, THREAD) InstanceRefKlass(parser);
--- 470,11 ---
    assert(class_name != nullptr, "invariant");
    ClassLoaderData* loader_data = parser.loader_data();
    assert(loader_data != nullptr, "invariant");
  
    InstanceKlass* ik;
!   const bool use_class_space = UseClassMetaspaceForAllClasses || parser.klass_needs_narrow_id();
  
    // Allocation
    if (parser.is_instance_ref_klass()) {
      // java.lang.ref.Reference
      ik = new (loader_data, size, use_class_space, THREAD) InstanceRefKlass(parser);

*** 3499,11 ***
  
    // Get rid of the osr methods for the same bci that have lower levels.
    for (int l = CompLevel_limited_profile; l < n->comp_level(); l++) {
      nmethod *inv = lookup_osr_nmethod(n->method(), n->osr_entry_bci(), l, true);
      if (inv != nullptr && inv->is_in_use()) {
!       inv->make_not_entrant("OSR invalidation of lower levels");
      }
    }
  }
  
  // Remove osr nmethod from the list. Return true if found and removed.
--- 3499,11 ---
  
    // Get rid of the osr methods for the same bci that have lower levels.
    for (int l = CompLevel_limited_profile; l < n->comp_level(); l++) {
      nmethod *inv = lookup_osr_nmethod(n->method(), n->osr_entry_bci(), l, true);
      if (inv != nullptr && inv->is_in_use()) {
!       inv->make_not_entrant(nmethod::InvalidationReason::OSR_INVALIDATION_OF_LOWER_LEVEL);
      }
    }
  }
  
  // Remove osr nmethod from the list. Return true if found and removed.
< prev index next >