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);
};