We need to end the basic block after the ##prologue in the dispatch branch so that the GC check can go after the prologue
parent
f53e9c654c
commit
5b7d40d9b4
|
@ -171,6 +171,7 @@ M: #if emit-node
|
|||
[
|
||||
V{ } clone node-stack set
|
||||
##prologue
|
||||
begin-basic-block
|
||||
emit-nodes
|
||||
basic-block get [
|
||||
##epilogue
|
||||
|
|
|
@ -219,3 +219,14 @@ TUPLE: my-tuple ;
|
|||
: bad-value-bug ( a -- b ) [ 3 ] [ 3 ] if f <array> ;
|
||||
|
||||
[ { f f f } ] [ t bad-value-bug ] unit-test
|
||||
|
||||
! PowerPC regression
|
||||
TUPLE: id obj ;
|
||||
|
||||
: (gc-check-bug) ( a b -- c )
|
||||
{ [ id boa ] [ id boa ] } dispatch ;
|
||||
|
||||
: gc-check-bug ( -- )
|
||||
10000000 [ "hi" 0 (gc-check-bug) drop ] times ;
|
||||
|
||||
[ ] [ gc-check-bug ] unit-test
|
||||
|
|
Loading…
Reference in New Issue