From c7cb2bc20042cbaa4058b92eb36762e5ea72a1e0 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Thu, 31 Oct 2013 19:21:31 +0100 Subject: [PATCH] static-patch! for pair and vector fields * module/system/vm/assembler.scm (intern-constant): Use static-patch! for fields. --- module/system/vm/assembler.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/module/system/vm/assembler.scm b/module/system/vm/assembler.scm index bee62571e..811841e25 100644 --- a/module/system/vm/assembler.scm +++ b/module/system/vm/assembler.scm @@ -543,10 +543,10 @@ table, its existing label is used directly." (define (field dst n obj) (let ((src (recur obj))) (if src - (list (if (statically-allocatable? obj) - `(make-non-immediate 1 ,src) - `(static-ref 1 ,src)) - `(static-set! 1 ,dst ,n)) + (if (statically-allocatable? obj) + `((static-patch! ,dst ,n ,src)) + `((static-ref 1 ,src) + (static-set! 1 ,dst ,n))) '()))) (define (intern obj label) (cond -- 2.20.1