From 3b9e13b38f8a29bbdc5436aea58dfdd44fa7f1d1 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 18 Nov 2012 09:09:39 -0700 Subject: [PATCH] fix to bytecode compiler's propoagation of local-type info This is another old bug that could have caused validation failures with flonums, but it showed up with fixnum tracking because fixnums are more common (e.g., from `string-length'). There were really two bugs: information installed at the wrong offet in one place, and a failure to detect that information should be propagated in a different place. Fixing both avoids a validation problem with `html/sgml-reader'. original commit: afca33b78bf0abd1a7155657338109e9d6f3df51 --- collects/compiler/decompile.rkt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collects/compiler/decompile.rkt b/collects/compiler/decompile.rkt index 5ba6948567..cff6996930 100644 --- a/collects/compiler/decompile.rkt +++ b/collects/compiler/decompile.rkt @@ -326,7 +326,7 @@ [(struct topsyntax (depth pos midpt)) (list-ref/protect (glob-desc-vars globs) (+ midpt pos) 'topsyntax)] [(struct primval (id)) - (hash-ref primitive-table id)] + (hash-ref primitive-table id (lambda () (error "unknown primitive")))] [(struct assign (id rhs undef-ok?)) `(set! ,(decompile-expr id globs stack closed) ,(decompile-expr rhs globs stack closed))]