Don't serialize uninterned symbols

* module/system/vm/assembler.scm (intern-constant): Don't serialize
  uninterned symbols.
* test-suite/tests/rtl.test ("bad constants"): Add a test.
This commit is contained in:
Andy Wingo 2016-06-23 15:45:53 +02:00
commit 1d72d46951
2 changed files with 12 additions and 0 deletions

View file

@ -1034,6 +1034,8 @@ table, its existing label is used directly."
`((static-patch! ,label 1 ,(static-procedure-code obj))))
((cache-cell? obj) '())
((symbol? obj)
(unless (symbol-interned? obj)
(error "uninterned symbol cannot be saved to object file" obj))
`((make-non-immediate 1 ,(recur (symbol->string obj)))
(string->symbol 1 1)
(static-set! 1 ,label 0)))