File tree Expand file tree Collapse file tree 1 file changed +4
-11
lines changed Expand file tree Collapse file tree 1 file changed +4
-11
lines changed Original file line number Diff line number Diff line change @@ -4070,18 +4070,11 @@ JL_DLLEXPORT jl_value_t *jl_gc_internal_obj_base_ptr(void *p)
4070
4070
// before the freelist pointer was either live during the last
4071
4071
// sweep or has been allocated since.
4072
4072
if (gc_page_data (cell ) == gc_page_data (pool -> freelist )
4073
- && (char * )cell < (char * )pool -> freelist ) {
4073
+ && (char * )cell < (char * )pool -> freelist )
4074
4074
goto valid_object ;
4075
- }
4076
- else {
4077
- jl_taggedvalue_t * v = pool -> freelist ;
4078
- while (v != NULL ) {
4079
- if (v == cell ) {
4080
- return NULL ;
4081
- }
4082
- v = v -> next ;
4083
- }
4084
- }
4075
+ // already skipped marked or old objects above, so here
4076
+ // the age bits are 0, thus the object is on the freelist
4077
+ return NULL ;
4085
4078
// Not a freelist entry, therefore a valid object.
4086
4079
valid_object :
4087
4080
// We have to treat objects with type `jl_buff_tag` differently,
You can’t perform that action at this time.
0 commit comments