More core cleanups
parent
4be5b70695
commit
8a2f1d0451
|
@ -2,7 +2,7 @@
|
||||||
! Copyright (C) 2007, 2008 Slava Pestov
|
! Copyright (C) 2007, 2008 Slava Pestov
|
||||||
! Copyright (C) 2007, 2008 Doug Coleman
|
! Copyright (C) 2007, 2008 Doug Coleman
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: alien assocs continuations destructors init kernel
|
USING: alien assocs continuations destructors kernel
|
||||||
namespaces accessors sets ;
|
namespaces accessors sets ;
|
||||||
IN: libc
|
IN: libc
|
||||||
|
|
||||||
|
@ -20,7 +20,14 @@ IN: libc
|
||||||
: (realloc) ( alien size -- newalien )
|
: (realloc) ( alien size -- newalien )
|
||||||
"void*" "libc" "realloc" { "void*" "ulong" } alien-invoke ;
|
"void*" "libc" "realloc" { "void*" "ulong" } alien-invoke ;
|
||||||
|
|
||||||
SYMBOL: mallocs
|
SYMBOL: malloc-expiry
|
||||||
|
|
||||||
|
: mallocs ( -- assoc )
|
||||||
|
malloc-expiry get-global dup expired? [
|
||||||
|
drop
|
||||||
|
-1 <alien> malloc-expiry set-global
|
||||||
|
H{ } clone dup \ mallocs set-global
|
||||||
|
] when ;
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
||||||
|
@ -35,19 +42,17 @@ ERROR: realloc-error ptr size ;
|
||||||
|
|
||||||
<PRIVATE
|
<PRIVATE
|
||||||
|
|
||||||
[ H{ } clone mallocs set-global ] "libc" add-init-hook
|
|
||||||
|
|
||||||
: add-malloc ( alien -- )
|
: add-malloc ( alien -- )
|
||||||
mallocs get-global conjoin ;
|
mallocs conjoin ;
|
||||||
|
|
||||||
: delete-malloc ( alien -- )
|
: delete-malloc ( alien -- )
|
||||||
[
|
[
|
||||||
mallocs get-global delete-at*
|
mallocs delete-at*
|
||||||
[ double-free ] unless drop
|
[ double-free ] unless drop
|
||||||
] when* ;
|
] when* ;
|
||||||
|
|
||||||
: malloc-exists? ( alien -- ? )
|
: malloc-exists? ( alien -- ? )
|
||||||
mallocs get-global key? ;
|
mallocs key? ;
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
! Copyright (C) 2004, 2008 Slava Pestov.
|
! Copyright (C) 2004, 2008 Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
IN: bootstrap.stage1
|
|
||||||
USING: arrays debugger generic hashtables io assocs
|
USING: arrays debugger generic hashtables io assocs
|
||||||
kernel.private kernel math memory namespaces parser
|
kernel.private kernel math memory namespaces parser
|
||||||
prettyprint sequences vectors words system splitting
|
prettyprint sequences vectors words system splitting
|
||||||
init io.files bootstrap.image bootstrap.image.private vocabs
|
init io.files bootstrap.image bootstrap.image.private vocabs
|
||||||
vocabs.loader system debugger continuations ;
|
vocabs.loader system debugger continuations ;
|
||||||
|
IN: bootstrap.stage1
|
||||||
|
|
||||||
{ "resource:core" } vocab-roots set
|
{ "resource:core" } vocab-roots set
|
||||||
|
|
||||||
|
@ -33,10 +33,6 @@ load-help? off
|
||||||
"math.floats" require
|
"math.floats" require
|
||||||
"memory" require
|
"memory" require
|
||||||
|
|
||||||
! this must add its init hook before io.backend does
|
|
||||||
"libc" require
|
|
||||||
|
|
||||||
! "io.thread" require
|
|
||||||
"io.streams.c" require
|
"io.streams.c" require
|
||||||
"vocabs.loader" require
|
"vocabs.loader" require
|
||||||
|
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
IN: init.tests
|
|
||||||
USING: init namespaces sequences math tools.test kernel ;
|
|
||||||
|
|
||||||
[ t ] [
|
|
||||||
init-hooks get [ first "libc" = ] find drop
|
|
||||||
init-hooks get [ first "io.backend" = ] find drop <
|
|
||||||
] unit-test
|
|
|
@ -1,3 +0,0 @@
|
||||||
USING: io io.streams.string io.streams.nested kernel math
|
|
||||||
namespaces io.styles tools.test ;
|
|
||||||
IN: io.streams.nested.tests
|
|
Loading…
Reference in New Issue