--- a/hotspot/src/share/vm/memory/generationSpec.cpp Fri Aug 31 16:39:35 2012 -0700
+++ b/hotspot/src/share/vm/memory/generationSpec.cpp Sat Sep 01 13:25:18 2012 -0400
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -23,7 +23,7 @@
*/
#include "precompiled.hpp"
-#include "memory/compactPermGen.hpp"
+#include "memory/binaryTreeDictionary.hpp"
#include "memory/defNewGeneration.hpp"
#include "memory/filemap.hpp"
#include "memory/genRemSet.hpp"
@@ -31,8 +31,8 @@
#include "memory/tenuredGeneration.hpp"
#include "runtime/java.hpp"
#ifndef SERIALGC
-#include "gc_implementation/concurrentMarkSweep/cmsPermGen.hpp"
#include "gc_implementation/parNew/asParNewGeneration.hpp"
+#include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp"
#include "gc_implementation/parNew/parNewGeneration.hpp"
#endif
@@ -101,99 +101,3 @@
return NULL;
}
}
-
-
-PermanentGenerationSpec::PermanentGenerationSpec(PermGen::Name name,
- size_t init_size, size_t max_size,
- size_t read_only_size, size_t read_write_size,
- size_t misc_data_size, size_t misc_code_size) {
- _name = name;
- _init_size = init_size;
-
- if (UseSharedSpaces || DumpSharedSpaces) {
- _enable_shared_spaces = true;
- if (UseSharedSpaces) {
- // Override shared space sizes from those in the file.
- FileMapInfo* mapinfo = FileMapInfo::current_info();
- _read_only_size = mapinfo->space_capacity(CompactingPermGenGen::ro);
- _read_write_size = mapinfo->space_capacity(CompactingPermGenGen::rw);
- _misc_data_size = mapinfo->space_capacity(CompactingPermGenGen::md);
- _misc_code_size = mapinfo->space_capacity(CompactingPermGenGen::mc);
- } else {
- _read_only_size = read_only_size;
- _read_write_size = read_write_size;
- _misc_data_size = misc_data_size;
- _misc_code_size = misc_code_size;
- }
- } else {
- _enable_shared_spaces = false;
- _read_only_size = 0;
- _read_write_size = 0;
- _misc_data_size = 0;
- _misc_code_size = 0;
- }
-
- _max_size = max_size;
-}
-
-
-PermGen* PermanentGenerationSpec::init(ReservedSpace rs,
- size_t init_size,
- GenRemSet *remset) {
-
- // Break the reserved spaces into pieces for the permanent space
- // and the shared spaces.
- ReservedSpace perm_rs = rs.first_part(_max_size, UseSharedSpaces,
- UseSharedSpaces);
- ReservedSpace shared_rs = rs.last_part(_max_size);
-
- if (enable_shared_spaces()) {
- if (!perm_rs.is_reserved() ||
- perm_rs.base() + perm_rs.size() != shared_rs.base()) {
- FileMapInfo* mapinfo = FileMapInfo::current_info();
- mapinfo->fail_continue("Sharing disabled - unable to "
- "reserve address space.");
- shared_rs.release();
- disable_sharing();
- }
- }
-
- switch (name()) {
- case PermGen::MarkSweepCompact:
- return new CompactingPermGen(perm_rs, shared_rs, init_size, remset, this);
-
-#ifndef SERIALGC
- case PermGen::MarkSweep:
- guarantee(false, "NYI");
- return NULL;
-
- case PermGen::ConcurrentMarkSweep: {
- assert(UseConcMarkSweepGC, "UseConcMarkSweepGC should be set");
- CardTableRS* ctrs = remset->as_CardTableRS();
- if (ctrs == NULL) {
- vm_exit_during_initialization("RemSet/generation incompatibility.");
- }
- // XXXPERM
- return new CMSPermGen(perm_rs, init_size, ctrs,
- (FreeBlockDictionary<FreeChunk>::DictionaryChoice)CMSDictionaryChoice);
- }
-#endif // SERIALGC
- default:
- guarantee(false, "unrecognized GenerationName");
- return NULL;
- }
-}
-
-
-// Alignment
-void PermanentGenerationSpec::align(size_t alignment) {
- _init_size = align_size_up(_init_size, alignment);
- _max_size = align_size_up(_max_size, alignment);
- _read_only_size = align_size_up(_read_only_size, alignment);
- _read_write_size = align_size_up(_read_write_size, alignment);
- _misc_data_size = align_size_up(_misc_data_size, alignment);
- _misc_code_size = align_size_up(_misc_code_size, alignment);
-
- assert(enable_shared_spaces() || (_read_only_size + _read_write_size == 0),
- "Shared space when disabled?");
-}