;; POP-LOCAL-ENV ;; Pop one environment frame created by LOCAL-ENV. In practice, ;; this is only used if 'let' is in the non-tail bottom position ;; (for other cases, the env frame is discarded along other frame ;; operations). (define-insn POP-LOCAL-ENV 0 none)
環境フレームを1つポップする。
BEFORE AFTER +=========+ +=========+ : : : : +=========+<---+ env ---->+=========+ | | | | | | E#0 | | | E#0 | | | | | | env ---->+=========+ | +=========+ | | | | | | E#1 | | | | | | | | | up | --+----+ | | argp, sp ---->+=========+ argp, sp ---->+---------+ | | | | | | | |
(compile-p3 '(begin (let ((i 0)) (set! i 1)) #f)) 0 CONSTI-PUSH(0) 1 LOCAL-ENV(1) ; (let ((i 0)) (set! i 1)) 2 CONSTI(1) 3 LSET(0,0) ; i 4 POP-LOCAL-ENV 5 CONSTF-RET