fix missing GC check

cvs
Slava Pestov 2005-12-13 01:53:55 +00:00
parent ff3876e221
commit 6c5819af56
4 changed files with 6 additions and 3 deletions

View File

@ -9,7 +9,6 @@
io/buffer - use aliens not integers io/buffer - use aliens not integers
alien/malloc - use aliens not integers alien/malloc - use aliens not integers
ui/line-editor - don't use variables ui/line-editor - don't use variables
- fix powerpc backend
- <array> ( length initial ) - <array> ( length initial )
- <string> ( length initial ) - <string> ( length initial )
- remove repetitions - remove repetitions

View File

@ -47,7 +47,7 @@ C: slice ( from to seq -- seq )
>r 3dup check-slice r> >r 3dup check-slice r>
[ set-slice-seq ] keep [ set-slice-seq ] keep
[ set-slice-to ] keep [ set-slice-to ] keep
[ set-slice-from ] keep ; inline [ set-slice-from ] keep ;
: <range> ( from to -- seq ) dup <slice> ; inline : <range> ( from to -- seq ) dup <slice> ; inline

View File

@ -1,5 +1,8 @@
IN: scratchpad IN: scratchpad
USING: kernel memory sequences test ; USING: kernel memory namespaces sequences test ;
[ 0 ] [ f size ] unit-test [ 0 ] [ f size ] unit-test
[ t ] [ [ \ = \ = ] all-equal? ] unit-test [ t ] [ [ \ = \ = ] all-equal? ] unit-test
! (clone) primitive was missing GC check
[ ] [ 1000000 [ drop H{ } clone >n n> drop ] each ] unit-test

View File

@ -151,6 +151,7 @@ CELL clone(CELL obj)
void primitive_clone(void) void primitive_clone(void)
{ {
maybe_gc(0);
drepl(clone(dpeek())); drepl(clone(dpeek()));
} }