diff --git a/library/test/crashes.factor b/library/test/crashes.factor index 894cf0affe..f9fda23a92 100644 --- a/library/test/crashes.factor +++ b/library/test/crashes.factor @@ -29,3 +29,5 @@ prettyprint sequences strings test vectors words ; full-gc full-gc ] unit-test + +[ ] [ f size ] unit-test diff --git a/native/memory.c b/native/memory.c index 245b982f6d..9d9d353e20 100644 --- a/native/memory.c +++ b/native/memory.c @@ -25,7 +25,10 @@ CELL object_size(CELL pointer) size = sizeof(F_CONS); break; case OBJECT_TYPE: - size = untagged_object_size(UNTAG(pointer)); + if(pointer == F) + size = 0; + else + size = untagged_object_size(UNTAG(pointer)); break; default: critical_error("Cannot determine object_size",pointer); @@ -40,9 +43,6 @@ CELL untagged_object_size(CELL pointer) { CELL size; - if(pointer == F) - return 0; - switch(untag_header(get(pointer))) { case WORD_TYPE: