/usr/include/falcon/rampmode.h is in falconpl-dev 0.9.6.9-git20120606-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | /*
FALCON - The Falcon Programming Language.
FILE: rampmode.h
Ramp mode - progressive GC limits adjustment algoritmhs
-------------------------------------------------------------------
Author: Giancarlo Niccolai
Begin: Wed, 18 Mar 2009 19:55:25 +0100
-------------------------------------------------------------------
(C) Copyright 2009: the FALCON developers (see list in AUTHORS file)
See LICENSE file for licensing details.
*/
#ifndef FALCON_RAMP_MODE_H
#define FALCON_RAMP_MODE_H
#include <falcon/setup.h>
#include <falcon/types.h>
#include <falcon/basealloc.h>
#include <stdlib.h>
namespace Falcon {
/** Ramp-up GC parameters base class.
The subclasses of this virtual class contain a configurable algorithm used by the
Memory Pool to update its status after a succesful garbage collection.
*/
class FALCON_DYN_CLASS RampMode: public BaseAlloc
{
protected:
size_t m_normal;
size_t m_active;
public:
RampMode() {}
virtual ~RampMode();
/** Called before starting a scan loop.
No need for parameters as mempool, memory sizes and statistics are
globally available.
*/
virtual void onScanInit()=0;
/** Called when the scan is complete and there is the need for a new calculation.
No need for parameters as mempool, memory sizes and statistics are
globally available.
*/
virtual void onScanComplete()=0;
/** Called when first set. */
virtual void reset();
/** Returns the lastly calculated memory level for the normal status. */
size_t normalLevel() const { return m_normal; }
/** Returns the lastly calculated memory level for the active status. */
size_t activeLevel() const { return m_active; }
};
#define RAMP_MODE_OFF 0
/** Disables ramping.
Never changes the warning levels.
*/
class FALCON_DYN_CLASS RampNone: public RampMode
{
public:
RampNone():
RampMode()
{}
virtual ~RampNone();
virtual void onScanInit();
virtual void onScanComplete();
};
/** Enforces a strict inspection policy.
The warning active level is set to the quantity of
memory used after the last collection loop.
*/
class FALCON_DYN_CLASS RampStrict: public RampMode
{
public:
RampStrict():
RampMode()
{}
virtual ~RampStrict();
virtual void onScanInit();
virtual void onScanComplete();
};
#define RAMP_MODE_STRICT_ID 1
class FALCON_DYN_CLASS RampLoose: public RampMode
{
public:
RampLoose():
RampMode()
{}
virtual ~RampLoose();
virtual void onScanInit();
virtual void onScanComplete();
};
#define RAMP_MODE_LOOSE_ID 2
class FALCON_DYN_CLASS RampSmooth: public RampMode
{
size_t m_pNormal;
size_t m_pActive;
numeric m_factor;
public:
RampSmooth( numeric factor );
virtual ~RampSmooth();
virtual void reset();
virtual void onScanInit();
virtual void onScanComplete();
};
#define RAMP_MODE_SMOOTH_SLOW_ID 3
#define RAMP_MODE_SMOOTH_FAST_ID 4
#define RAMP_MODE_COUNT 5
#define DEFAULT_RAMP_MODE RAMP_MODE_SMOOTH_SLOW_ID
}
#endif
/* end of rampmode.h */
|