hotspot/src/share/vm/gc_implementation/shared/gcAdaptivePolicyCounters.cpp
author mikael
Tue, 09 Oct 2012 10:09:34 -0700
changeset 13963 e5b53c306fb5
parent 7397 5b173b4ca846
permissions -rw-r--r--
7197424: update copyright year to match last edit in jdk8 hotspot repository Summary: Update copyright year to 2012 for relevant files Reviewed-by: dholmes, coleenp
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     1
/*
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 5547
diff changeset
     2
 * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     4
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
489c9b5090e2 Initial load
duke
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
489c9b5090e2 Initial load
duke
parents:
diff changeset
     7
 * published by the Free Software Foundation.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     8
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
489c9b5090e2 Initial load
duke
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
489c9b5090e2 Initial load
duke
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
489c9b5090e2 Initial load
duke
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
489c9b5090e2 Initial load
duke
parents:
diff changeset
    13
 * accompanied this code).
489c9b5090e2 Initial load
duke
parents:
diff changeset
    14
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
489c9b5090e2 Initial load
duke
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    18
 *
5547
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1
diff changeset
    21
 * questions.
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    22
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
    23
 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
    24
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 5547
diff changeset
    25
#include "precompiled.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 5547
diff changeset
    26
#include "gc_implementation/shared/gcAdaptivePolicyCounters.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 5547
diff changeset
    27
#include "memory/resourceArea.hpp"
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    28
489c9b5090e2 Initial load
duke
parents:
diff changeset
    29
// This class keeps statistical information and computes the
489c9b5090e2 Initial load
duke
parents:
diff changeset
    30
// size of the heap.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    31
489c9b5090e2 Initial load
duke
parents:
diff changeset
    32
GCAdaptivePolicyCounters::GCAdaptivePolicyCounters(const char* name,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    33
                                        int collectors,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    34
                                        int generations,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    35
                                        AdaptiveSizePolicy* size_policy_arg)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    36
        : GCPolicyCounters(name, collectors, generations),
489c9b5090e2 Initial load
duke
parents:
diff changeset
    37
          _size_policy(size_policy_arg) {
489c9b5090e2 Initial load
duke
parents:
diff changeset
    38
  if (UsePerfData) {
489c9b5090e2 Initial load
duke
parents:
diff changeset
    39
    EXCEPTION_MARK;
489c9b5090e2 Initial load
duke
parents:
diff changeset
    40
    ResourceMark rm;
489c9b5090e2 Initial load
duke
parents:
diff changeset
    41
489c9b5090e2 Initial load
duke
parents:
diff changeset
    42
    const char* cname = PerfDataManager::counter_name(name_space(), "edenSize");
489c9b5090e2 Initial load
duke
parents:
diff changeset
    43
    _eden_size_counter = PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    44
      PerfData::U_Bytes, _size_policy->calculated_eden_size_in_bytes(), CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
    45
489c9b5090e2 Initial load
duke
parents:
diff changeset
    46
    cname = PerfDataManager::counter_name(name_space(), "promoSize");
489c9b5090e2 Initial load
duke
parents:
diff changeset
    47
    _promo_size_counter = PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    48
      PerfData::U_Bytes, size_policy()->calculated_promo_size_in_bytes(),
489c9b5090e2 Initial load
duke
parents:
diff changeset
    49
      CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
    50
489c9b5090e2 Initial load
duke
parents:
diff changeset
    51
    cname = PerfDataManager::counter_name(name_space(), "youngCapacity");
489c9b5090e2 Initial load
duke
parents:
diff changeset
    52
    size_t young_capacity_in_bytes =
489c9b5090e2 Initial load
duke
parents:
diff changeset
    53
      _size_policy->calculated_eden_size_in_bytes() +
489c9b5090e2 Initial load
duke
parents:
diff changeset
    54
      _size_policy->calculated_survivor_size_in_bytes();
489c9b5090e2 Initial load
duke
parents:
diff changeset
    55
    _young_capacity_counter = PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    56
      PerfData::U_Bytes, young_capacity_in_bytes, CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
    57
489c9b5090e2 Initial load
duke
parents:
diff changeset
    58
    cname = PerfDataManager::counter_name(name_space(), "avgSurvivedAvg");
489c9b5090e2 Initial load
duke
parents:
diff changeset
    59
    _avg_survived_avg_counter = PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    60
      PerfData::U_Bytes, size_policy()->calculated_survivor_size_in_bytes(),
489c9b5090e2 Initial load
duke
parents:
diff changeset
    61
        CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
    62
489c9b5090e2 Initial load
duke
parents:
diff changeset
    63
    cname = PerfDataManager::counter_name(name_space(), "avgSurvivedDev");
489c9b5090e2 Initial load
duke
parents:
diff changeset
    64
    _avg_survived_dev_counter = PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    65
      PerfData::U_Bytes, (jlong) 0 , CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
    66
489c9b5090e2 Initial load
duke
parents:
diff changeset
    67
    cname = PerfDataManager::counter_name(name_space(), "avgSurvivedPaddedAvg");
489c9b5090e2 Initial load
duke
parents:
diff changeset
    68
    _avg_survived_padded_avg_counter =
489c9b5090e2 Initial load
duke
parents:
diff changeset
    69
      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Bytes,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    70
        size_policy()->calculated_survivor_size_in_bytes(), CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
    71
489c9b5090e2 Initial load
duke
parents:
diff changeset
    72
    cname = PerfDataManager::counter_name(name_space(), "avgMinorPauseTime");
489c9b5090e2 Initial load
duke
parents:
diff changeset
    73
    _avg_minor_pause_counter = PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    74
      PerfData::U_Ticks, (jlong) _size_policy->_avg_minor_pause->average(),
489c9b5090e2 Initial load
duke
parents:
diff changeset
    75
      CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
    76
489c9b5090e2 Initial load
duke
parents:
diff changeset
    77
    cname = PerfDataManager::counter_name(name_space(), "avgMinorIntervalTime");
489c9b5090e2 Initial load
duke
parents:
diff changeset
    78
    _avg_minor_interval_counter = PerfDataManager::create_variable(SUN_GC,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    79
      cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    80
      PerfData::U_Ticks,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    81
      (jlong) _size_policy->_avg_minor_interval->average(),
489c9b5090e2 Initial load
duke
parents:
diff changeset
    82
      CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
    83
489c9b5090e2 Initial load
duke
parents:
diff changeset
    84
#ifdef NOT_PRODUCT
489c9b5090e2 Initial load
duke
parents:
diff changeset
    85
      // This is a counter for the most recent minor pause time
489c9b5090e2 Initial load
duke
parents:
diff changeset
    86
      // (the last sample, not the average).  It is useful for
489c9b5090e2 Initial load
duke
parents:
diff changeset
    87
      // verifying the average pause time but not worth putting
489c9b5090e2 Initial load
duke
parents:
diff changeset
    88
      // into the product.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    89
      cname = PerfDataManager::counter_name(name_space(), "minorPauseTime");
489c9b5090e2 Initial load
duke
parents:
diff changeset
    90
      _minor_pause_counter = PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    91
      PerfData::U_Ticks, (jlong) _size_policy->_avg_minor_pause->last_sample(),
489c9b5090e2 Initial load
duke
parents:
diff changeset
    92
      CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
    93
#endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
    94
489c9b5090e2 Initial load
duke
parents:
diff changeset
    95
    cname = PerfDataManager::counter_name(name_space(), "minorGcCost");
489c9b5090e2 Initial load
duke
parents:
diff changeset
    96
    _minor_gc_cost_counter = PerfDataManager::create_variable(SUN_GC,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    97
      cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    98
      PerfData::U_Ticks,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    99
      (jlong) _size_policy->minor_gc_cost(),
489c9b5090e2 Initial load
duke
parents:
diff changeset
   100
      CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   101
489c9b5090e2 Initial load
duke
parents:
diff changeset
   102
    cname = PerfDataManager::counter_name(name_space(), "mutatorCost");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   103
    _mutator_cost_counter = PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   104
      PerfData::U_Ticks, (jlong) _size_policy->mutator_cost(), CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   105
489c9b5090e2 Initial load
duke
parents:
diff changeset
   106
    cname = PerfDataManager::counter_name(name_space(), "survived");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   107
    _survived_counter = PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   108
      PerfData::U_Bytes, (jlong) 0, CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   109
489c9b5090e2 Initial load
duke
parents:
diff changeset
   110
    cname = PerfDataManager::counter_name(name_space(), "promoted");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   111
    _promoted_counter = PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   112
      PerfData::U_Bytes, (jlong) 0, CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   113
489c9b5090e2 Initial load
duke
parents:
diff changeset
   114
    cname = PerfDataManager::counter_name(name_space(), "avgYoungLive");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   115
    _avg_young_live_counter = PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   116
      PerfData::U_Bytes, (jlong) size_policy()->avg_young_live()->average(),
489c9b5090e2 Initial load
duke
parents:
diff changeset
   117
      CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   118
489c9b5090e2 Initial load
duke
parents:
diff changeset
   119
    cname = PerfDataManager::counter_name(name_space(), "avgOldLive");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   120
    _avg_old_live_counter = PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   121
      PerfData::U_Bytes, (jlong) size_policy()->avg_old_live()->average(),
489c9b5090e2 Initial load
duke
parents:
diff changeset
   122
      CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   123
489c9b5090e2 Initial load
duke
parents:
diff changeset
   124
    cname = PerfDataManager::counter_name(name_space(), "survivorOverflowed");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   125
    _survivor_overflowed_counter = PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   126
      PerfData::U_Events, (jlong)0, CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   127
489c9b5090e2 Initial load
duke
parents:
diff changeset
   128
    cname = PerfDataManager::counter_name(name_space(),
489c9b5090e2 Initial load
duke
parents:
diff changeset
   129
      "decrementTenuringThresholdForGcCost");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   130
    _decrement_tenuring_threshold_for_gc_cost_counter =
489c9b5090e2 Initial load
duke
parents:
diff changeset
   131
      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Events,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   132
        (jlong)0, CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   133
489c9b5090e2 Initial load
duke
parents:
diff changeset
   134
    cname = PerfDataManager::counter_name(name_space(),
489c9b5090e2 Initial load
duke
parents:
diff changeset
   135
      "incrementTenuringThresholdForGcCost");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   136
    _increment_tenuring_threshold_for_gc_cost_counter =
489c9b5090e2 Initial load
duke
parents:
diff changeset
   137
      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Events,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   138
        (jlong)0, CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   139
489c9b5090e2 Initial load
duke
parents:
diff changeset
   140
    cname = PerfDataManager::counter_name(name_space(),
489c9b5090e2 Initial load
duke
parents:
diff changeset
   141
      "decrementTenuringThresholdForSurvivorLimit");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   142
    _decrement_tenuring_threshold_for_survivor_limit_counter =
489c9b5090e2 Initial load
duke
parents:
diff changeset
   143
      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Events,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   144
        (jlong)0, CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   145
    cname = PerfDataManager::counter_name(name_space(),
489c9b5090e2 Initial load
duke
parents:
diff changeset
   146
      "changeYoungGenForMinPauses");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   147
    _change_young_gen_for_min_pauses_counter =
489c9b5090e2 Initial load
duke
parents:
diff changeset
   148
      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Events,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   149
        (jlong)0, CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   150
489c9b5090e2 Initial load
duke
parents:
diff changeset
   151
    cname = PerfDataManager::counter_name(name_space(),
489c9b5090e2 Initial load
duke
parents:
diff changeset
   152
      "changeOldGenForMajPauses");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   153
    _change_old_gen_for_maj_pauses_counter =
489c9b5090e2 Initial load
duke
parents:
diff changeset
   154
      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Events,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   155
        (jlong)0, CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   156
489c9b5090e2 Initial load
duke
parents:
diff changeset
   157
    cname = PerfDataManager::counter_name(name_space(),
489c9b5090e2 Initial load
duke
parents:
diff changeset
   158
      "increaseOldGenForThroughput");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   159
    _change_old_gen_for_throughput_counter =
489c9b5090e2 Initial load
duke
parents:
diff changeset
   160
      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Events,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   161
        (jlong)0, CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   162
489c9b5090e2 Initial load
duke
parents:
diff changeset
   163
    cname = PerfDataManager::counter_name(name_space(),
489c9b5090e2 Initial load
duke
parents:
diff changeset
   164
      "increaseYoungGenForThroughput");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   165
    _change_young_gen_for_throughput_counter =
489c9b5090e2 Initial load
duke
parents:
diff changeset
   166
      PerfDataManager::create_variable(SUN_GC, cname, PerfData::U_Events,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   167
        (jlong)0, CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   168
489c9b5090e2 Initial load
duke
parents:
diff changeset
   169
    cname = PerfDataManager::counter_name(name_space(),
489c9b5090e2 Initial load
duke
parents:
diff changeset
   170
      "decreaseForFootprint");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   171
    _decrease_for_footprint_counter =
489c9b5090e2 Initial load
duke
parents:
diff changeset
   172
      PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   173
      PerfData::U_Events, (jlong)0, CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   174
489c9b5090e2 Initial load
duke
parents:
diff changeset
   175
    cname = PerfDataManager::counter_name(name_space(), "decideAtFullGc");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   176
    _decide_at_full_gc_counter = PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   177
      PerfData::U_None, (jlong)0, CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   178
489c9b5090e2 Initial load
duke
parents:
diff changeset
   179
    cname = PerfDataManager::counter_name(name_space(), "minorPauseYoungSlope");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   180
    _minor_pause_young_slope_counter =
489c9b5090e2 Initial load
duke
parents:
diff changeset
   181
      PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   182
      PerfData::U_None, (jlong) 0, CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   183
489c9b5090e2 Initial load
duke
parents:
diff changeset
   184
    cname = PerfDataManager::counter_name(name_space(), "majorCollectionSlope");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   185
    _major_collection_slope_counter =
489c9b5090e2 Initial load
duke
parents:
diff changeset
   186
      PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   187
      PerfData::U_None, (jlong) 0, CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   188
489c9b5090e2 Initial load
duke
parents:
diff changeset
   189
    cname = PerfDataManager::counter_name(name_space(), "minorCollectionSlope");
489c9b5090e2 Initial load
duke
parents:
diff changeset
   190
    _minor_collection_slope_counter =
489c9b5090e2 Initial load
duke
parents:
diff changeset
   191
      PerfDataManager::create_variable(SUN_GC, cname,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   192
      PerfData::U_None, (jlong) 0, CHECK);
489c9b5090e2 Initial load
duke
parents:
diff changeset
   193
  }
489c9b5090e2 Initial load
duke
parents:
diff changeset
   194
}
489c9b5090e2 Initial load
duke
parents:
diff changeset
   195
489c9b5090e2 Initial load
duke
parents:
diff changeset
   196
void GCAdaptivePolicyCounters::update_counters_from_policy() {
489c9b5090e2 Initial load
duke
parents:
diff changeset
   197
  if (UsePerfData && (size_policy() != NULL)) {
489c9b5090e2 Initial load
duke
parents:
diff changeset
   198
    update_avg_minor_pause_counter();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   199
    update_avg_minor_interval_counter();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   200
#ifdef NOT_PRODUCT
489c9b5090e2 Initial load
duke
parents:
diff changeset
   201
    update_minor_pause_counter();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   202
#endif
489c9b5090e2 Initial load
duke
parents:
diff changeset
   203
    update_minor_gc_cost_counter();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   204
    update_avg_young_live_counter();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   205
489c9b5090e2 Initial load
duke
parents:
diff changeset
   206
    update_survivor_size_counters();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   207
    update_avg_survived_avg_counters();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   208
    update_avg_survived_dev_counters();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   209
    update_avg_survived_padded_avg_counters();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   210
489c9b5090e2 Initial load
duke
parents:
diff changeset
   211
    update_change_old_gen_for_throughput();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   212
    update_change_young_gen_for_throughput();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   213
    update_decrease_for_footprint();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   214
    update_change_young_gen_for_min_pauses();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   215
    update_change_old_gen_for_maj_pauses();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   216
489c9b5090e2 Initial load
duke
parents:
diff changeset
   217
    update_minor_pause_young_slope_counter();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   218
    update_minor_collection_slope_counter();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   219
    update_major_collection_slope_counter();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   220
  }
489c9b5090e2 Initial load
duke
parents:
diff changeset
   221
}
489c9b5090e2 Initial load
duke
parents:
diff changeset
   222
489c9b5090e2 Initial load
duke
parents:
diff changeset
   223
void GCAdaptivePolicyCounters::update_counters() {
489c9b5090e2 Initial load
duke
parents:
diff changeset
   224
  if (UsePerfData) {
489c9b5090e2 Initial load
duke
parents:
diff changeset
   225
    update_counters_from_policy();
489c9b5090e2 Initial load
duke
parents:
diff changeset
   226
  }
489c9b5090e2 Initial load
duke
parents:
diff changeset
   227
}