src/share/vm/interpreter/invocationCounter.hpp

changeset 2138
d5d065957597
parent 1907
c18cbe5936b8
child 2314
f95d63e2154a
     1.1 --- a/src/share/vm/interpreter/invocationCounter.hpp	Thu Sep 02 11:40:02 2010 -0700
     1.2 +++ b/src/share/vm/interpreter/invocationCounter.hpp	Fri Sep 03 17:51:07 2010 -0700
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -43,7 +43,6 @@
    1.11      number_of_count_bits = BitsPerInt - number_of_noncount_bits,
    1.12      state_limit          = nth_bit(number_of_state_bits),
    1.13      count_grain          = nth_bit(number_of_state_bits + number_of_carry_bits),
    1.14 -    count_limit          = nth_bit(number_of_count_bits - 1),
    1.15      carry_mask           = right_n_bits(number_of_carry_bits) << number_of_state_bits,
    1.16      state_mask           = right_n_bits(number_of_state_bits),
    1.17      status_mask          = right_n_bits(number_of_state_bits + number_of_carry_bits),
    1.18 @@ -52,18 +51,16 @@
    1.19  
    1.20   public:
    1.21    static int InterpreterInvocationLimit;        // CompileThreshold scaled for interpreter use
    1.22 -  static int Tier1InvocationLimit;              // CompileThreshold scaled for tier1 use
    1.23 -  static int Tier1BackEdgeLimit;                // BackEdgeThreshold scaled for tier1 use
    1.24 -
    1.25    static int InterpreterBackwardBranchLimit;    // A separate threshold for on stack replacement
    1.26 -
    1.27    static int InterpreterProfileLimit;           // Profiling threshold scaled for interpreter use
    1.28  
    1.29    typedef address (*Action)(methodHandle method, TRAPS);
    1.30  
    1.31    enum PublicConstants {
    1.32      count_increment      = count_grain,          // use this value to increment the 32bit _counter word
    1.33 -    count_mask_value     = count_mask            // use this value to mask the backedge counter
    1.34 +    count_mask_value     = count_mask,           // use this value to mask the backedge counter
    1.35 +    count_shift          = number_of_noncount_bits,
    1.36 +    count_limit          = nth_bit(number_of_count_bits - 1)
    1.37    };
    1.38  
    1.39    enum State {
    1.40 @@ -79,6 +76,7 @@
    1.41    inline void set(State state, int count);       // sets state and counter
    1.42    inline void decay();                           // decay counter (divide by two)
    1.43    void set_carry();                              // set the sticky carry bit
    1.44 +  void set_carry_flag()                          {  _counter |= carry_mask; }
    1.45  
    1.46    // Accessors
    1.47    State  state() const                           { return (State)(_counter & state_mask); }
    1.48 @@ -135,3 +133,4 @@
    1.49    if (c > 0 && new_count == 0) new_count = 1;
    1.50    set(state(), new_count);
    1.51  }
    1.52 +

mercurial