equal
deleted
inserted
replaced
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)); |