HCoop
/
bpt
/
guile.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(from parent 1:
57a5cc9
)
static-patch! for pair and vector fields
author
Andy Wingo
<wingo@pobox.com>
Thu, 31 Oct 2013 18:21:31 +0000
(19:21 +0100)
committer
Andy Wingo
<wingo@pobox.com>
Thu, 31 Oct 2013 18:21:31 +0000
(19:21 +0100)
* module/system/vm/assembler.scm (intern-constant): Use static-patch!
for fields.
module/system/vm/assembler.scm
patch
|
blob
|
blame
|
history
diff --git
a/module/system/vm/assembler.scm
b/module/system/vm/assembler.scm
index
bee6257
..
811841e
100644
(file)
--- 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