(define-module (utils assign-stack) #:export (make-location get-frame-size)) (define make-location) (define get-frame-size) (let ((dict (make-hash-table)) (ptr 0)) (set! make-location (lambda (id) (or (hash-ref dict id) (begin (set! ptr (1+ ptr)) (hash-set! dict id (get-frame-size)))))) (set! get-frame-size (lambda () (* -4 ptr))))