1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-01 12:20:26 +02:00

static-patch! for pair and vector fields

* module/system/vm/assembler.scm (intern-constant): Use static-patch!
  for fields.
This commit is contained in:
Andy Wingo 2013-10-31 19:21:31 +01:00
parent 57a5cc9760
commit c7cb2bc200

View file

@ -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