Skip to content

Commit

Permalink
dont set mark array bits during concurrent marking
Browse files Browse the repository at this point in the history
  • Loading branch information
Maoni0 committed Jun 9, 2023
1 parent 3181f9c commit 591bf7c
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions src/coreclr/gc/gc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44352,14 +44352,15 @@ CObjectHeader* gc_heap::allocate_uoh_object (size_t jsize, uint32_t flags, int g
uint8_t* current_lowest_address = background_saved_lowest_address;
uint8_t* current_highest_address = background_saved_highest_address;

if ((result < current_highest_address) && (result >= current_lowest_address))
{
dprintf (3, ("Clearing mark bit at address %zx",
(size_t)(&mark_array [mark_word_of (result)])));
//if ((result < current_highest_address) && (result >= current_lowest_address))
//{
// dprintf (3, ("Clearing mark bit at address %zx",
// (size_t)(&mark_array [mark_word_of (result)])));

mark_array_clear_marked (result);
}
if (current_c_gc_state != c_gc_state_free)
// mark_array_clear_marked (result);
//}
//if (current_c_gc_state != c_gc_state_free)
if (current_c_gc_state == c_gc_state_planning)
{
dprintf (3, ("Concurrent allocation of a large object %zx",
(size_t)obj));
Expand Down

0 comments on commit 591bf7c

Please sign in to comment.