check symbols constants uninterned
authorRobin Templeton <robin@terpri.org>
Wed, 11 Jun 2014 02:57:05 +0000 (22:57 -0400)
committerRobin Templeton <robin@terpri.org>
Tue, 21 Apr 2015 23:36:29 +0000 (19:36 -0400)
module/system/vm/assembler.scm

index 3aaa61d..05b23a3 100644 (file)
@@ -876,7 +876,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)))
@@ -1359,7 +1359,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-immediate asm buf pos #f))
 
        ((keyword? obj)