Compiler fixes
parent
500b97708f
commit
b4683b1985
|
@ -12,7 +12,6 @@
|
||||||
- roundoff is still not quite right with tracks
|
- roundoff is still not quite right with tracks
|
||||||
- fix top level window positioning
|
- fix top level window positioning
|
||||||
- fix contribs: boids, automata
|
- fix contribs: boids, automata
|
||||||
- graphical module manager tool
|
|
||||||
- see if alien calls can be made faster
|
- see if alien calls can be made faster
|
||||||
- sometimes darcs get fails with the httpd
|
- sometimes darcs get fails with the httpd
|
||||||
- gdb triggers 'mutliple i/o ops on port' error
|
- gdb triggers 'mutliple i/o ops on port' error
|
||||||
|
@ -52,6 +51,7 @@
|
||||||
|
|
||||||
+ ui:
|
+ ui:
|
||||||
|
|
||||||
|
- graphical module manager tool
|
||||||
- figure out what goes in the .app and what doesn't
|
- figure out what goes in the .app and what doesn't
|
||||||
- should be possible to drop an image file on the .app to run it
|
- should be possible to drop an image file on the .app to run it
|
||||||
- the UI listener has a shitty design. perhaps it should not call out
|
- the UI listener has a shitty design. perhaps it should not call out
|
||||||
|
@ -98,6 +98,8 @@
|
||||||
|
|
||||||
+ compiler/ffi:
|
+ compiler/ffi:
|
||||||
|
|
||||||
|
- compiler tests are not as reliable now because of try-compile usage
|
||||||
|
- we can just do [ t ] [ \ foo compiled? ] unit-test
|
||||||
- [ [ dup call ] dup call ] infer hangs
|
- [ [ dup call ] dup call ] infer hangs
|
||||||
- callstack overflow when compiling mutually recursive inline words
|
- callstack overflow when compiling mutually recursive inline words
|
||||||
- test what is done in the case of an invalid declaration on an inline
|
- test what is done in the case of an invalid declaration on an inline
|
||||||
|
@ -119,8 +121,6 @@
|
||||||
|
|
||||||
+ misc:
|
+ misc:
|
||||||
|
|
||||||
- compiler tests are not as reliable now because of try-compile usage
|
|
||||||
- we can just do [ t ] [ \ foo compiled? ] unit-test
|
|
||||||
- growable data heap
|
- growable data heap
|
||||||
- incremental GC
|
- incremental GC
|
||||||
- UDP
|
- UDP
|
||||||
|
|
|
@ -5,10 +5,17 @@ USING: errors generic hashtables inference io kernel math
|
||||||
namespaces optimizer parser prettyprint sequences test threads
|
namespaces optimizer parser prettyprint sequences test threads
|
||||||
words ;
|
words ;
|
||||||
|
|
||||||
|
: word-dataflow ( word -- dataflow )
|
||||||
|
[
|
||||||
|
dup dup add-recursive-state
|
||||||
|
dup specialized-def (dataflow)
|
||||||
|
swap current-effect check-effect
|
||||||
|
] with-infer ;
|
||||||
|
|
||||||
: (compile) ( word -- )
|
: (compile) ( word -- )
|
||||||
dup compiling? not over compound? and [
|
dup compiling? not over compound? and [
|
||||||
"Compiling " write dup . flush
|
"Compiling " write dup . flush
|
||||||
dup specialized-def dataflow optimize generate
|
dup word-dataflow optimize generate
|
||||||
] [
|
] [
|
||||||
drop
|
drop
|
||||||
] if ;
|
] if ;
|
||||||
|
|
|
@ -158,7 +158,7 @@ M: symbol apply-object apply-literal ;
|
||||||
#! Handle a recursive call, by either applying a previously
|
#! Handle a recursive call, by either applying a previously
|
||||||
#! inferred base case, or raising an error. If the recursive
|
#! inferred base case, or raising an error. If the recursive
|
||||||
#! call is to a local block, emit a label call node.
|
#! call is to a local block, emit a label call node.
|
||||||
dup "infer-effect" word-prop [ ] [ declared-effect ] if ;
|
dup "infer-effect" word-prop [ ] [ declared-effect ] ?if ;
|
||||||
|
|
||||||
M: compound apply-object
|
M: compound apply-object
|
||||||
#! Apply the word's stack effect to the inferencer state.
|
#! Apply the word's stack effect to the inferencer state.
|
||||||
|
|
|
@ -135,7 +135,7 @@ USE: optimizer
|
||||||
[ class-compare ] sort min-class
|
[ class-compare ] sort min-class
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
GENERIC: xyz
|
GENERIC: xyz ( obj -- obj )
|
||||||
M: array xyz xyz ;
|
M: array xyz xyz ;
|
||||||
|
|
||||||
[ ] [ \ xyz compile ] unit-test
|
[ ] [ \ xyz compile ] unit-test
|
||||||
|
@ -220,7 +220,7 @@ TUPLE: pred-test ;
|
||||||
[ 0 ] [ 10 double-label-2 ] unit-test
|
[ 0 ] [ 10 double-label-2 ] unit-test
|
||||||
|
|
||||||
! regression
|
! regression
|
||||||
GENERIC: void-generic
|
GENERIC: void-generic ( obj -- * )
|
||||||
: breakage "hi" void-generic ;
|
: breakage "hi" void-generic ;
|
||||||
[ ] [ \ breakage compile ] unit-test
|
[ ] [ \ breakage compile ] unit-test
|
||||||
[ breakage ] unit-test-fails
|
[ breakage ] unit-test-fails
|
||||||
|
|
Loading…
Reference in New Issue