psPermGen.cpp revision 1879
196N/A * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 0N/A * published by the Free Software Foundation. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 0N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 0N/A // Update our padded average of objects allocated in perm 0N/A // gen between collections. 0N/A "negative allocation amount since last GC?");
0N/A // Stash away the current amount live for the next call to this method. 0N/A // We have different alignment constraints than the rest of the heap. 0N/A // Compute the desired size: 0N/A // The free space is the newly computed padded average, 0N/A // so the desired size is what's live + the free space. 0N/A // ...and no larger or smaller than our max and min allowed. 0N/A // no change, we're done 0N/A // We'll be growing or shrinking the heap: in either case, 0N/A // we need to hold a lock. 0N/A // While this code isn't controlled by AdaptiveSizePolicy, it's 0N/A // convenient to see all resizing decsions under the same flag. 20N/A // Reset start array first.