hotspot/src/share/vm/memory/referencePolicy.hpp

Print this page
rev 611 : Merge

*** 1,10 **** #ifdef USE_PRAGMA_IDENT_HDR #pragma ident "@(#)referencePolicy.hpp 1.11 07/05/05 17:05:54 JVM" #endif /* ! * Copyright 2000 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,10 ---- #ifdef USE_PRAGMA_IDENT_HDR #pragma ident "@(#)referencePolicy.hpp 1.11 07/05/05 17:05:54 JVM" #endif /* ! * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 27,39 **** // referencePolicy is used to determine when soft reference objects // should be cleared. ! class ReferencePolicy : public ResourceObj { public: virtual bool should_clear_reference(oop p) { ShouldNotReachHere(); return true; } }; class NeverClearPolicy : public ReferencePolicy { public: bool should_clear_reference(oop p) { return false; } --- 27,41 ---- // referencePolicy is used to determine when soft reference objects // should be cleared. ! class ReferencePolicy : public CHeapObj { public: virtual bool should_clear_reference(oop p) { ShouldNotReachHere(); return true; } + // Capture state (of-the-VM) information needed to evaluate the policy + virtual void setup() { /* do nothing */ } }; class NeverClearPolicy : public ReferencePolicy { public: bool should_clear_reference(oop p) { return false; }
*** 49,65 **** --- 51,71 ---- jlong _max_interval; public: LRUCurrentHeapPolicy(); + // Capture state (of-the-VM) information needed to evaluate the policy + void setup(); bool should_clear_reference(oop p); }; class LRUMaxHeapPolicy : public ReferencePolicy { private: jlong _max_interval; public: LRUMaxHeapPolicy(); + // Capture state (of-the-VM) information needed to evaluate the policy + void setup(); bool should_clear_reference(oop p); };