summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Templeton <robin@terpri.org>2014-06-10 22:57:05 -0400
committerChristopher Allan Webber <cwebber@dustycloud.org>2016-03-25 12:00:10 -0700
commit175b64aed21df66061e00d2a7063fc6533f08d66 (patch)
tree54bc3c74fb9f9c940f5dbfee75fcbfdd638b19bf
parentd808027782a7ac978a26bf3bd904c58a133316e1 (diff)
downloadguile-175b64aed21df66061e00d2a7063fc6533f08d66.tar.gz
check symbols constants uninterned
(Best-ability ChangeLog annotation added by Christopher Allan Webber.) * module/system/vm/assembler.scm (intern-constant, link-data): Update to check "symbol-interned?".
-rw-r--r--module/system/vm/assembler.scm4
1 files changed, 2 insertions, 2 deletions
diff --git a/module/system/vm/assembler.scm b/module/system/vm/assembler.scm
index efc370a61..38cce27f1 100644
--- a/module/system/vm/assembler.scm
+++ b/module/system/vm/assembler.scm
@@ -1038,7 +1038,7 @@ table, its existing label is used directly."
((static-procedure? obj)
`((static-patch! ,label 1 ,(static-procedure-code obj))))
((cache-cell? obj) '())
- ((symbol? obj)
+ ((and (symbol? obj) (symbol-interned? obj))
`((make-non-immediate 1 ,(recur (symbol->string obj)))
(string->symbol 1 1)
(static-set! 1 ,label 0)))
@@ -1509,7 +1509,7 @@ should be .data or .rodata), and return the resulting linker object.
(write-constant-reference buf pos elt)
(lp (1+ i)))))))
- ((symbol? obj)
+ ((and (symbol? obj) (symbol-interned? obj))
(write-placeholder asm buf pos))
((keyword? obj)