-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Commits on Jun 11, 2019
-
Changes to set gen0 bricks always. This reduces the time spent in fin…
…d_first_object when finding the start of objects for marking interior pointers.
Configuration menu - View commit details
-
Copy full SHA for 9d53ff9 - Browse repository at this point
Copy the full SHA 9d53ff9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4d96dee - Browse repository at this point
Copy the full SHA 4d96deeView commit details
Commits on Jun 19, 2019
-
Revert "Changes to set gen0 bricks always. This reduces the time spen…
…t in find_first_object when finding the start of objects for marking interior pointers." This reverts commit 9d53ff9.
Configuration menu - View commit details
-
Copy full SHA for f738b0d - Browse repository at this point
Copy the full SHA f738b0dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b5feb3 - Browse repository at this point
Copy the full SHA 5b5feb3View commit details
Commits on Jun 28, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 7960a38 - Browse repository at this point
Copy the full SHA 7960a38View commit details
Commits on Jul 5, 2019
-
Configuration menu - View commit details
-
Copy full SHA for c4b41c5 - Browse repository at this point
Copy the full SHA c4b41c5View commit details
Commits on Jul 11, 2019
-
As it turns out, mark_through_cards_helper needs to work on one heap,…
… but call its function pointer arg fn on another heap to keep things straight. Example: thread 3 (associated with heap 3) helps out marking through cards on heap 5. The way I set things up the this pointer for mark_through_cards_for_xxx will get heap 5 as its this pointer. And that's fine as far comparisons against gc_low, gc_high, etc. go. However, it needs to call mark_object_simple with heap 3 as its this pointer, because otherwise multiple threads may use heap 5's mark_stack etc., which would cause trouble. So, mark_through_cards_helper gets passed two heaps, one implicitly as the this pointer, the other ("hpt") explicitly - this is the heap associated with the gc thread.
Configuration menu - View commit details
-
Copy full SHA for a93c941 - Browse repository at this point
Copy the full SHA a93c941View commit details
Commits on Jul 12, 2019
-
Fixed issue with over-eager card clearing in mark_through_cards_xxx i…
…f an object straddles a chunk boundary. Added stress log instrumentation for card and card bundle clearing
Configuration menu - View commit details
-
Copy full SHA for ef34c85 - Browse repository at this point
Copy the full SHA ef34c85View commit details -
Configuration menu - View commit details
-
Copy full SHA for c2ad446 - Browse repository at this point
Copy the full SHA c2ad446View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9dda934 - Browse repository at this point
Copy the full SHA 9dda934View commit details -
Configuration menu - View commit details
-
Copy full SHA for 70a105e - Browse repository at this point
Copy the full SHA 70a105eView commit details
Commits on Jul 29, 2019
-
Set CARD_MARKING_STEALING_GRANULARITY as low as possible with at leas…
…t one card bundle bit for each chunk. In card_bundle_clear, use Interlocked::And because now several threads may clear bits in the same card bundle dword. In relocate_phase, move other relocations *before* relocation of older generations, so the latter can make up for imbalances in the former. Fix issue where mark_through_cards_for_segments was setting bricks incorrectly, causing too much time being spent in find_first_object. Fix is to distinguis the "next object" in the heap walk from the "continuation object" where we continue the scan.
Configuration menu - View commit details
-
Copy full SHA for 9044384 - Browse repository at this point
Copy the full SHA 9044384View commit details -
Merge branch 'card_mark_steal' of https://github.com/PeterSolMS/coreclr…
… into card_mark_steal
Configuration menu - View commit details
-
Copy full SHA for 8f0ba33 - Browse repository at this point
Copy the full SHA 8f0ba33View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d12dbd - Browse repository at this point
Copy the full SHA 6d12dbdView commit details -
Configuration menu - View commit details
-
Copy full SHA for d48fabe - Browse repository at this point
Copy the full SHA d48fabeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c5135c - Browse repository at this point
Copy the full SHA 6c5135cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 93d2408 - Browse repository at this point
Copy the full SHA 93d2408View commit details -
Configuration menu - View commit details
-
Copy full SHA for ffc98d4 - Browse repository at this point
Copy the full SHA ffc98d4View commit details
Commits on Aug 2, 2019
-
Remove some STRESS_LOG calls, add parentheses to some expressions to …
…partially address code review feedback.
Configuration menu - View commit details
-
Copy full SHA for 86bb8e1 - Browse repository at this point
Copy the full SHA 86bb8e1View commit details -
Renamed ticket to chunk_index to make code more comprehensible, follo…
…wing Maoni's suggestion.
Configuration menu - View commit details
-
Copy full SHA for f3b14e7 - Browse repository at this point
Copy the full SHA f3b14e7View commit details
Commits on Aug 5, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 8fcad5e - Browse repository at this point
Copy the full SHA 8fcad5eView commit details
Commits on Aug 12, 2019
-
Fix correctness issue found in GC stress run.
In the situation where there was a large byte array at the end of a segment, mark_through_cards_for_large_objects moved to the next segment, but the card_mark_enumerator was still in the previous segment and got stuck there. Fix is to explicitly exhaust the current segment in mark_through_cards_xxx before moving on to the next one. This will keep the card_mark_enumerator and its callers in mark_through_cards_xxx in sync.
Configuration menu - View commit details
-
Copy full SHA for ef3931b - Browse repository at this point
Copy the full SHA ef3931bView commit details -
Remove STRESS_LOGX calls or replace by dprintf.
Make sure we can optionally use STRESS_LOG for situations where that's advantageous.
Configuration menu - View commit details
-
Copy full SHA for 41fafb1 - Browse repository at this point
Copy the full SHA 41fafb1View commit details -
Addressed some code review feedback - reduce amount of duplicated cod…
…e in mark_through_cards_xxx.
Configuration menu - View commit details
-
Copy full SHA for ac41099 - Browse repository at this point
Copy the full SHA ac41099View commit details -
Configuration menu - View commit details
-
Copy full SHA for a20a2f4 - Browse repository at this point
Copy the full SHA a20a2f4View commit details
Commits on Aug 13, 2019
-
Fix issue introduced by refactoring.
As card_word_end is updated by find_next_chunk, moving the call to find_next_chunk into card_transition means card_word_end needs to be a reference parameter in card_transition, otherwise card_word_end in mark_through_cards_xxx would not get updated.
Configuration menu - View commit details
-
Copy full SHA for c0d45ef - Browse repository at this point
Copy the full SHA c0d45efView commit details
Commits on Aug 21, 2019
-
Disable FEATURE_CARD_MARKING_STEALING for workstation GC.
I found there is significant overhead to enabling FEATURE_CARD_MARKING_STEALING for workstation GC in the case of low card density, and of course there is no benefit, so it makes sense to enable it only for server GC where the additional overhead will be made up by better work balancing in most cases.
Configuration menu - View commit details
-
Copy full SHA for 4300a1c - Browse repository at this point
Copy the full SHA 4300a1cView commit details
Commits on Aug 22, 2019
-
Fix faulty assert in card_transition.
I fixed an off-by-one issue in find_card, and when I switched workstation GC back to no card marking stealing, this assert at the end of card_transition fired in the case where limit, end and card_address(end_card) all coincide, because we access the card for the end address which we really shouldn't look at. The fix is simply to compare limit to end instead of card_address(end_card).
Configuration menu - View commit details
-
Copy full SHA for fd1e88f - Browse repository at this point
Copy the full SHA fd1e88fView commit details
Commits on Aug 23, 2019
-
Performance tweaks for card marking stealing.
Pass card_word_end as a value parameter to card transition, when FEATURE_CARD_MARKING_STEALING is enabled, also pass it as a ref parameter. This gets rid of a perf regression in workstation GC. Set CARD_MARKING_STEALING_GRANULARITY to a higher value - picked 2 MB in 64-bits (1 MB in 32-bits). Perhaps this is a reasonable compromise.
Configuration menu - View commit details
-
Copy full SHA for 57c25cd - Browse repository at this point
Copy the full SHA 57c25cdView commit details
Commits on Oct 16, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 2c6071a - Browse repository at this point
Copy the full SHA 2c6071aView commit details -
Configuration menu - View commit details
-
Copy full SHA for cd72bdc - Browse repository at this point
Copy the full SHA cd72bdcView commit details
Commits on Oct 17, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 1ce64d5 - Browse repository at this point
Copy the full SHA 1ce64d5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0040092 - Browse repository at this point
Copy the full SHA 0040092View commit details