From 6c5819af56ddb80e472b23b602c2d2e94ef82c7d Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Tue, 13 Dec 2005 01:53:55 +0000 Subject: [PATCH] fix missing GC check --- TODO.FACTOR.txt | 1 - library/collections/virtual-sequences.factor | 2 +- library/test/kernel.factor | 5 ++++- native/memory.c | 1 + 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/TODO.FACTOR.txt b/TODO.FACTOR.txt index 8e24c1cd71..8b03dcee74 100644 --- a/TODO.FACTOR.txt +++ b/TODO.FACTOR.txt @@ -9,7 +9,6 @@ io/buffer - use aliens not integers alien/malloc - use aliens not integers ui/line-editor - don't use variables -- fix powerpc backend - ( length initial ) - ( length initial ) - remove repetitions diff --git a/library/collections/virtual-sequences.factor b/library/collections/virtual-sequences.factor index 3e3db5918f..54697a35f3 100644 --- a/library/collections/virtual-sequences.factor +++ b/library/collections/virtual-sequences.factor @@ -47,7 +47,7 @@ C: slice ( from to seq -- seq ) >r 3dup check-slice r> [ set-slice-seq ] keep [ set-slice-to ] keep - [ set-slice-from ] keep ; inline + [ set-slice-from ] keep ; : ( from to -- seq ) dup ; inline diff --git a/library/test/kernel.factor b/library/test/kernel.factor index 9d886e14a6..488541ef20 100644 --- a/library/test/kernel.factor +++ b/library/test/kernel.factor @@ -1,5 +1,8 @@ IN: scratchpad -USING: kernel memory sequences test ; +USING: kernel memory namespaces sequences test ; [ 0 ] [ f size ] unit-test [ t ] [ [ \ = \ = ] all-equal? ] unit-test + +! (clone) primitive was missing GC check +[ ] [ 1000000 [ drop H{ } clone >n n> drop ] each ] unit-test diff --git a/native/memory.c b/native/memory.c index 1ee89760af..77f49b1926 100644 --- a/native/memory.c +++ b/native/memory.c @@ -151,6 +151,7 @@ CELL clone(CELL obj) void primitive_clone(void) { + maybe_gc(0); drepl(clone(dpeek())); }