src/share/vm/ci/ciCallProfile.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/ci/ciCallProfile.hpp	Tue Aug 30 18:43:01 2011
--- new/src/share/vm/ci/ciCallProfile.hpp	Tue Aug 30 18:43:01 2011

*** 77,84 **** --- 77,95 ---- } ciKlass* receiver(int i) { assert(i < _limit, "out of Call Profile MorphismLimit"); return _receiver[i]; } + + // Rescale the current profile based on the incoming scale + ciCallProfile rescale(double scale) { + assert(scale >= 0 && scale <= 1.0, "out of range"); + ciCallProfile call = *this; + call._count = (int)(call._count * scale); + for (int i = 0; i < _morphism; i++) { + call._receiver_count[i] = (int)(call._receiver_count[i] * scale); + } + return call; + } }; #endif // SHARE_VM_CI_CICALLPROFILE_HPP

src/share/vm/ci/ciCallProfile.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File