Merge pull request #22305 from dsouzai/doxygen · eclipse-openj9/openj9@d7983fd

@@ -67,6 +67,12 @@ class CRRuntime

6767

CR_THR_LAST_STATE // must be the last one

6868

};

696970+

/**

71+

* @brief Constructor of the CRRuntime class

72+

*

73+

* @param jitConfig Pointer to the J9JITConfig

74+

* @param compInfo Pointer to the TR::CompilationInfo

75+

*/

7076

CRRuntime(J9JITConfig *jitConfig, TR::CompilationInfo *compInfo);

71777278

/**

@@ -76,21 +82,31 @@ class CRRuntime

7682

*/

7783

void cacheEventsStatus();

788479-

/* The CR Monitor (Checkpoint/Restore Monitor) must always be acquired with

85+

/**

86+

* @brief Returns the CRMonitor

87+

*

88+

* The CR Monitor (Checkpoint/Restore Monitor) must always be acquired with

8089

* Comp Monitor in hand. If waiting on the CR Monitor, the Comp Monitor

8190

* should be released. After being notified, the CR Monitor should be

8291

* released before re-acquiring the Comp Monitor.

92+

*

93+

* @return The CRMonitor

8394

*/

8495

TR::Monitor *getCRMonitor() { return _crMonitor; }

8596

void acquireCRMonitor();

8697

void releaseCRMonitor();

8798

void waitOnCRMonitor();

889989-

/* The CR Runtime Monitor can be acquired with the Comp Monitor in hand.

100+

/**

101+

* @brief Returns the CRRuntime Monitor

102+

*

103+

* The CR Runtime Monitor can be acquired with the Comp Monitor in hand.

90104

* However, if a does not already have the Comp Monitor, it should NOT

91105

* do so it once it acquires the CR Runtime Monitor. If the Comp Monitor is

92106

* desired, the CR Runtime Monitor should be released and re-acquired AFTER

93107

* acquring the Comp Monitor.

108+

*

109+

* @return The CRRuntime Monitor

94110

*/

95111

TR::Monitor* getCRRuntimeMonitor() { return _crRuntimeMonitor; }

96112

void acquireCRRuntimeMonitor();

@@ -209,6 +225,9 @@ class CRRuntime

209225210226

private:

211227228+

/**

229+

* @brief A class to encapsulate compilations to be memoized

230+

*/

212231

class TR_MemoizedComp : public TR_Link0<TR_MemoizedComp>

213232

{

214233

public:

@@ -227,6 +246,9 @@ class CRRuntime

227246

};

228247

typedef TR_LinkHead0<TR_MemoizedComp> TR_MemoizedCompilations;

229248249+

/**

250+

* @brief A class to encapsulate JNI method compilations to be memoized

251+

*/

230252

class TR_JNIMethodAddr : public TR_MemoizedComp

231253

{

232254

public:

@@ -243,6 +265,11 @@ class CRRuntime

243265

void *_oldJNIAddr;

244266

};

245267268+

/**

269+

* @brief A struct to encapsulate the logic needed to set up and tear down

270+

* the environment for proactive compilations performed prior to

271+

* checkpoint.

272+

*/

246273

struct ProactiveCompEnv

247274

{

248275

#if defined(J9VM_OPT_JITSERVER)