src/share/vm/ci/ciCallProfile.hpp

changeset 3105
c26de9aef2ed
parent 2949
f918d6096e23
child 6876
710a3c8b516e
     1.1 --- a/src/share/vm/ci/ciCallProfile.hpp	Fri Sep 02 04:28:59 2011 -0700
     1.2 +++ b/src/share/vm/ci/ciCallProfile.hpp	Fri Sep 02 20:58:21 2011 -0700
     1.3 @@ -79,6 +79,17 @@
     1.4      assert(i < _limit, "out of Call Profile MorphismLimit");
     1.5      return _receiver[i];
     1.6    }
     1.7 +
     1.8 +  // Rescale the current profile based on the incoming scale
     1.9 +  ciCallProfile rescale(double scale) {
    1.10 +    assert(scale >= 0 && scale <= 1.0, "out of range");
    1.11 +    ciCallProfile call = *this;
    1.12 +    call._count = (int)(call._count * scale);
    1.13 +    for (int i = 0; i < _morphism; i++) {
    1.14 +      call._receiver_count[i] = (int)(call._receiver_count[i] * scale);
    1.15 +    }
    1.16 +    return call;
    1.17 +  }
    1.18  };
    1.19  
    1.20  #endif // SHARE_VM_CI_CICALLPROFILE_HPP

mercurial