summaryrefslogtreecommitdiff
path: root/src/gc/gcpriv.h
diff options
context:
space:
mode:
authorAditya Mandaleeka <adityamandaleeka@users.noreply.github.com>2017-03-01 10:29:32 -0800
committerGitHub <noreply@github.com>2017-03-01 10:29:32 -0800
commit4a0a82a8dabaabb1e9a82af944d70aed210838a3 (patch)
tree87a28ccc2acbf122ab983286de12c1e829713c59 /src/gc/gcpriv.h
parent616519f957f13fbcb565ab408ccdf298c02f8ae6 (diff)
parent6b7fec4f171c4840d772ce3c608018474a9c24ae (diff)
downloadcoreclr-4a0a82a8dabaabb1e9a82af944d70aed210838a3.tar.gz
coreclr-4a0a82a8dabaabb1e9a82af944d70aed210838a3.tar.bz2
coreclr-4a0a82a8dabaabb1e9a82af944d70aed210838a3.zip
Merge pull request #9770 from adityamandaleeka/card_bundles_unix_2
Implement second-level card tables for non-Windows platforms
Diffstat (limited to 'src/gc/gcpriv.h')
-rw-r--r--src/gc/gcpriv.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gc/gcpriv.h b/src/gc/gcpriv.h
index d4cb0aefc9..1f13ec12f8 100644
--- a/src/gc/gcpriv.h
+++ b/src/gc/gcpriv.h
@@ -1716,8 +1716,14 @@ protected:
PER_HEAP
void card_bundle_clear(size_t cardb);
PER_HEAP
+ void card_bundle_set (size_t cardb);
+ PER_HEAP
void card_bundles_set (size_t start_cardb, size_t end_cardb);
PER_HEAP
+ void verify_card_bundle_bits_set(size_t first_card_word, size_t last_card_word);
+ PER_HEAP
+ void verify_card_bundles();
+ PER_HEAP
BOOL card_bundle_set_p (size_t cardb);
PER_HEAP
BOOL find_card_dword (size_t& cardw, size_t cardw_end);
@@ -4310,12 +4316,14 @@ dynamic_data* gc_heap::dynamic_data_of (int gen_number)
#define card_size ((size_t)(OS_PAGE_SIZE/card_word_width))
#endif // BIT64
+// Returns the index of the card word a card is in
inline
size_t card_word (size_t card)
{
return card / card_word_width;
}
+// Returns the index of a card within its card word
inline
unsigned card_bit (size_t card)
{