Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions vm/ByteCodeTranslator/src/cn1_globals.h
Original file line number Diff line number Diff line change
Expand Up @@ -1412,6 +1412,25 @@ typedef struct CN1BibopPage {
// idempotent across parallel markers)
int gcGraceEpoch; // upper bound on survivor epochs as of the last
// full walk (GC-thread only)
JAVA_BOOLEAN gcMajorSpliced; // pulled from a PARTIAL pool by the major sweep, so
// its slots are a one-off deep-sweep sample rather
// than the steady-state retirement sample the
// adaptive trigger is calibrated on (see
// cn1BibopAdaptAfterSweep). Transient: set at the
// splice, cleared as the sweep reaches the page
JAVA_BOOLEAN gcPageReusableAdvice; // the release used MADV_FREE_REUSABLE (Darwin), so
// the slot region is marked reusable and MUST be
// restored with MADV_FREE_REUSE before anything is
// allocated into it. FALSE when the release used an
// advice with no pairing (MADV_FREE, MADV_DONTNEED),
// which is what makes an EXPECTED reuse rejection
// distinguishable from a genuine failure to restore
JAVA_BOOLEAN gcPageReleased; // the slot region has been handed back to the OS
Comment thread
shai-almog marked this conversation as resolved.
// (madvise) and must be re-acquired before use.
// Only ever set on a page that is unreachable
// from every pool, then published with the page
// onto bibopReleasedPool under bibopMutex, so
// no lock-free reader can observe it in flight
#ifdef CN1_GRACE_AUDIT
int gcAuditSnapshot; // QA builds only: bumpIndex at mark start.
// Relaxed __atomic access everywhere -- the
Expand Down
Loading
Loading