Lines Matching refs:block

39   (let ((block (reference-context/block context)))
40 (if (not block)
41 (error "find-block/initial: Null block!" block))
42 (enumeration-case block-type (block-type block)
50 (error "Illegal initial block type" block)))))
52 (define (find-block/loop block context end-block? locative)
53 (cond ((null? block)
54 (error "find-block/loop: Null block!" block)
55 (values block locative))
56 ((or (end-block? block)
57 (ic-block? block))
58 (values block locative))
61 (block-parent block)
64 ((find-block/parent-procedure block) block context locative)))))
66 (define (find-block/parent-procedure block)
67 (enumeration-case block-type (block-type block)
69 (let ((parent (block-parent block)))
70 (cond ((not (procedure/closure? (block-procedure block)))
75 ((CLOSURE) (error "Closure parent of open procedure" block))
77 (error "Block has no parent" block)))
78 ((procedure/trivial-closure? (block-procedure block))
90 (error "Block has no parent" block))
94 ((STACK) (error "Closure has a stack parent" block))
100 (else (error "Illegal parent block type" block))))
102 (define (internal-block/parent-locative block context locative)
103 (let ((link (block-stack-link block)))
106 (let ((end-block (block-parent block)))
107 (lambda (block) (eq? block end-block)))))
114 (stack-locative-offset locative (block-frame-size block))))
117 (error "Couldn't find internal block parent!" block))
119 (stack-block/static-link-locative block context locative))))
121 (define (continuation-block/parent-locative block context locative)
124 (+ (block-frame-size block)
125 (continuation/offset (block-procedure block)))))
127 (define (stack-block/static-link-locative block context locative)
128 (if (reference-context/adjacent-parent? context block)
129 (stack-locative-offset locative (block-frame-size block))
131 (stack-locative-offset locative (-1+ (block-frame-size block))))))
133 (define (stack-block/closure-parent-locative block context locative)
138 (procedure-closure-offset (block-procedure block)))))
140 (define (trivial-closure/bogus-locative block context locative)
141 block context locative
145 (define (closure-block/parent-locative block context locative)
149 (closure-block-first-offset block))))
151 (define (stack-block/parent-of-dummy-closure-locative block context locative)
153 block
155 (stack-block/closure-parent-locative block context locative)))