control stack label lookup
This commit is contained in:
parent
4924f92528
commit
414f806580
|
@ -235,7 +235,8 @@
|
||||||
(error 'lookup-toplevel "not a toplevel: ~s" a-top)]))]
|
(error 'lookup-toplevel "not a toplevel: ~s" a-top)]))]
|
||||||
|
|
||||||
[(GetControlStackLabel? op)
|
[(GetControlStackLabel? op)
|
||||||
m])))
|
(target-updater m (frame-return (first (machine-control m))))])))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
m]))
|
m]))
|
||||||
|
|
||||||
|
|
||||||
|
;; Infinite loop
|
||||||
(let ([m (new-machine `(hello world ,(make-GotoStatement (make-Label 'hello))))])
|
(let ([m (new-machine `(hello world ,(make-GotoStatement (make-Label 'hello))))])
|
||||||
(test (machine-pc (step-n m 0)) 0)
|
(test (machine-pc (step-n m 0)) 0)
|
||||||
(test (machine-pc (step-n m 1)) 1)
|
(test (machine-pc (step-n m 1)) 1)
|
||||||
|
@ -415,10 +416,9 @@
|
||||||
(list 126389 42 (make-toplevel (list (lookup-primitive '+))))))
|
(list 126389 42 (make-toplevel (list (lookup-primitive '+))))))
|
||||||
|
|
||||||
|
|
||||||
|
;; GetControlStackLabel
|
||||||
#;(let ([m (new-machine `(,(make-AssignPrimOpStatement (make-LookupLexicalAddress))))])
|
(let ([m (new-machine `(foo
|
||||||
(test ...))
|
,(make-PushControlFrame 'foo)
|
||||||
#;(let ([m (new-machine `(,(make-AssignPrimOpStatement (make-LookupToplevelAddress))))])
|
,(make-AssignPrimOpStatement 'proc (make-GetControlStackLabel))))])
|
||||||
(test ...))
|
(test (machine-proc (run m))
|
||||||
#;(let ([m (new-machine `(,(make-AssignPrimOpStatement (make-GetControlStackLabel))))])
|
'foo))
|
||||||
(test ...))
|
|
Loading…
Reference in New Issue
Block a user