jdk/src/java.desktop/share/classes/sun/java2d/marlin/ArrayCache.java
changeset 39519 21bfc4452441
parent 34815 81e87daa9876
equal deleted inserted replaced
39518:cf5567d544b4 39519:21bfc4452441
     1 /*
     1 /*
     2  * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     7  * published by the Free Software Foundation.  Oracle designates this
    56         int arraySize = MIN_ARRAY_SIZE;
    56         int arraySize = MIN_ARRAY_SIZE;
    57 
    57 
    58         for (int i = 0; i < BUCKETS; i++, arraySize <<= 2) {
    58         for (int i = 0; i < BUCKETS; i++, arraySize <<= 2) {
    59             ARRAY_SIZES[i] = arraySize;
    59             ARRAY_SIZES[i] = arraySize;
    60 
    60 
    61             if (doTrace) {
    61             if (DO_TRACE) {
    62                 logInfo("arraySize[" + i + "]: " + arraySize);
    62                 logInfo("arraySize[" + i + "]: " + arraySize);
    63             }
    63             }
    64         }
    64         }
    65         MAX_ARRAY_SIZE = arraySize >> 2;
    65         MAX_ARRAY_SIZE = arraySize >> 2;
    66 
    66 
    69         arraySize = MIN_DIRTY_BYTE_ARRAY_SIZE;
    69         arraySize = MIN_DIRTY_BYTE_ARRAY_SIZE;
    70 
    70 
    71         for (int i = 0; i < BUCKETS; i++, arraySize <<= 1) {
    71         for (int i = 0; i < BUCKETS; i++, arraySize <<= 1) {
    72             DIRTY_BYTE_ARRAY_SIZES[i] = arraySize;
    72             DIRTY_BYTE_ARRAY_SIZES[i] = arraySize;
    73 
    73 
    74             if (doTrace) {
    74             if (DO_TRACE) {
    75                 logInfo("dirty arraySize[" + i + "]: " + arraySize);
    75                 logInfo("dirty arraySize[" + i + "]: " + arraySize);
    76             }
    76             }
    77         }
    77         }
    78         MAX_DIRTY_BYTE_ARRAY_SIZE = arraySize >> 1;
    78         MAX_DIRTY_BYTE_ARRAY_SIZE = arraySize >> 1;
    79 
    79 
    81         THRESHOLD_ARRAY_SIZE = Math.max(2 * 1024 * 1024, MAX_ARRAY_SIZE); // 2M
    81         THRESHOLD_ARRAY_SIZE = Math.max(2 * 1024 * 1024, MAX_ARRAY_SIZE); // 2M
    82 
    82 
    83         THRESHOLD_LARGE_ARRAY_SIZE = 8L * THRESHOLD_ARRAY_SIZE; // 16M
    83         THRESHOLD_LARGE_ARRAY_SIZE = 8L * THRESHOLD_ARRAY_SIZE; // 16M
    84         THRESHOLD_HUGE_ARRAY_SIZE  = 8L * THRESHOLD_LARGE_ARRAY_SIZE; // 128M
    84         THRESHOLD_HUGE_ARRAY_SIZE  = 8L * THRESHOLD_LARGE_ARRAY_SIZE; // 128M
    85 
    85 
    86         if (doStats || doMonitors) {
    86         if (DO_STATS || DO_MONITORS) {
    87             logInfo("ArrayCache.BUCKETS        = " + BUCKETS);
    87             logInfo("ArrayCache.BUCKETS        = " + BUCKETS);
    88             logInfo("ArrayCache.MIN_ARRAY_SIZE = " + MIN_ARRAY_SIZE);
    88             logInfo("ArrayCache.MIN_ARRAY_SIZE = " + MIN_ARRAY_SIZE);
    89             logInfo("ArrayCache.MAX_ARRAY_SIZE = " + MAX_ARRAY_SIZE);
    89             logInfo("ArrayCache.MAX_ARRAY_SIZE = " + MAX_ARRAY_SIZE);
    90             logInfo("ArrayCache.ARRAY_SIZES = "
    90             logInfo("ArrayCache.ARRAY_SIZES = "
    91                     + Arrays.toString(ARRAY_SIZES));
    91                     + Arrays.toString(ARRAY_SIZES));