src/share/vm/classfile/classLoaderData.cpp

changeset 4382
e51c9860cf66
parent 4367
c52660592f37
child 4457
59a58e20dc60
     1.1 --- a/src/share/vm/classfile/classLoaderData.cpp	Fri Dec 21 10:27:49 2012 -0800
     1.2 +++ b/src/share/vm/classfile/classLoaderData.cpp	Mon Dec 03 15:09:39 2012 -0800
     1.3 @@ -330,10 +330,19 @@
     1.4      }
     1.5      if (this == the_null_class_loader_data()) {
     1.6        assert (class_loader() == NULL, "Must be");
     1.7 -      size_t word_size = Metaspace::first_chunk_word_size();
     1.8 -      set_metaspace(new Metaspace(_metaspace_lock, word_size));
     1.9 +      set_metaspace(new Metaspace(_metaspace_lock, Metaspace::BootMetaspaceType));
    1.10 +    } else if (is_anonymous()) {
    1.11 +      if (TraceClassLoaderData && Verbose && class_loader() != NULL) {
    1.12 +        tty->print_cr("is_anonymous: %s", class_loader()->klass()->internal_name());
    1.13 +      }
    1.14 +      set_metaspace(new Metaspace(_metaspace_lock, Metaspace::AnonymousMetaspaceType));
    1.15 +    } else if (class_loader()->is_a(SystemDictionary::reflect_DelegatingClassLoader_klass())) {
    1.16 +      if (TraceClassLoaderData && Verbose && class_loader() != NULL) {
    1.17 +        tty->print_cr("is_reflection: %s", class_loader()->klass()->internal_name());
    1.18 +      }
    1.19 +      set_metaspace(new Metaspace(_metaspace_lock, Metaspace::ReflectionMetaspaceType));
    1.20      } else {
    1.21 -      set_metaspace(new Metaspace(_metaspace_lock));  // default size for now.
    1.22 +      set_metaspace(new Metaspace(_metaspace_lock, Metaspace::StandardMetaspaceType));
    1.23      }
    1.24    }
    1.25    return _metaspace;
    1.26 @@ -672,8 +681,8 @@
    1.27           "only supported for null loader data for now");
    1.28    assert (!_shared_metaspaces_initialized, "only initialize once");
    1.29    MutexLockerEx ml(metaspace_lock(),  Mutex::_no_safepoint_check_flag);
    1.30 -  _ro_metaspace = new Metaspace(_metaspace_lock, SharedReadOnlySize/wordSize);
    1.31 -  _rw_metaspace = new Metaspace(_metaspace_lock, SharedReadWriteSize/wordSize);
    1.32 +  _ro_metaspace = new Metaspace(_metaspace_lock, Metaspace::ROMetaspaceType);
    1.33 +  _rw_metaspace = new Metaspace(_metaspace_lock, Metaspace::ReadWriteMetaspaceType);
    1.34    _shared_metaspaces_initialized = true;
    1.35  }
    1.36  

mercurial