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