diff options
author | Aditya Mandaleeka <adityamandaleeka@users.noreply.github.com> | 2017-03-01 10:29:32 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-01 10:29:32 -0800 |
commit | 4a0a82a8dabaabb1e9a82af944d70aed210838a3 (patch) | |
tree | 87a28ccc2acbf122ab983286de12c1e829713c59 /src/gc/gcpriv.h | |
parent | 616519f957f13fbcb565ab408ccdf298c02f8ae6 (diff) | |
parent | 6b7fec4f171c4840d772ce3c608018474a9c24ae (diff) | |
download | coreclr-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.h | 8 |
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) { |