core: fix bad interaction between stage1 bootstrap and manifest update code
parent
73cbf46760
commit
d215c108f3
|
@ -44,7 +44,7 @@ init-caches
|
|||
! Vocabulary for slot accessors
|
||||
"accessors" create-vocab drop
|
||||
|
||||
dummy-compiler compiler-impl set
|
||||
bootstrapping? on
|
||||
|
||||
call( -- )
|
||||
call( -- )
|
||||
|
@ -53,8 +53,6 @@ call( -- )
|
|||
! After we execute bootstrap/layouts
|
||||
num-types get f <array> builtins set
|
||||
|
||||
bootstrapping? on
|
||||
|
||||
[
|
||||
|
||||
! Create some empty vocabs where the below primitives and
|
||||
|
|
|
@ -64,16 +64,6 @@ M: f process-forgotten-words drop ;
|
|||
: without-optimizer ( quot -- )
|
||||
[ f compiler-impl ] dip with-variable ; inline
|
||||
|
||||
! Trivial compiler. We don't want to touch the code heap
|
||||
! during stage1 bootstrap, it would just waste time.
|
||||
SINGLETON: dummy-compiler
|
||||
|
||||
M: dummy-compiler to-recompile f ;
|
||||
|
||||
M: dummy-compiler recompile drop { } ;
|
||||
|
||||
M: dummy-compiler process-forgotten-words drop ;
|
||||
|
||||
: <definitions> ( -- pair ) { H{ } H{ } } [ clone ] map ;
|
||||
|
||||
SYMBOL: definition-observers
|
||||
|
@ -143,13 +133,15 @@ M: object bump-effect-counter* drop f ;
|
|||
[ drop ] [ notify-definition-observers notify-error-observers ] if ;
|
||||
|
||||
: finish-compilation-unit ( -- )
|
||||
remake-generics
|
||||
to-recompile recompile
|
||||
update-tuples
|
||||
process-forgotten-definitions
|
||||
modify-code-heap
|
||||
bump-effect-counter
|
||||
notify-observers ;
|
||||
[ ] [
|
||||
remake-generics
|
||||
to-recompile recompile
|
||||
update-tuples
|
||||
process-forgotten-definitions
|
||||
modify-code-heap
|
||||
bump-effect-counter
|
||||
notify-observers
|
||||
] if-bootstrapping ;
|
||||
|
||||
PRIVATE>
|
||||
|
||||
|
|
|
@ -16,7 +16,8 @@ checksum
|
|||
definitions ;
|
||||
|
||||
: record-top-level-form ( quot file -- )
|
||||
(>>top-level-form) H{ } notify-definition-observers ;
|
||||
(>>top-level-form)
|
||||
[ ] [ H{ } notify-definition-observers ] if-bootstrapping ;
|
||||
|
||||
: record-checksum ( lines source-file -- )
|
||||
[ crc32 checksum-lines ] dip (>>checksum) ;
|
||||
|
|
Loading…
Reference in New Issue