From f8dac3d47d60b2890a1f1aa9430e7867a7dd45b7 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 26 Mar 2018 17:27:54 -0600 Subject: [PATCH] byte compiler: fix excessive fixnum assumptions in unsafe mode The comparison operations `=`, `<`, etc., were incorrectly compiled as fixnum operations in the expander's implementation. --- racket/src/racket/src/optimize.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/racket/src/racket/src/optimize.c b/racket/src/racket/src/optimize.c index 3aa9d7216b..805a8db82a 100644 --- a/racket/src/racket/src/optimize.c +++ b/racket/src/racket/src/optimize.c @@ -4002,7 +4002,7 @@ static void check_known_both_try(Optimize_Info *info, Scheme_Object *app, if (!who || IS_NAMED_PRIM(rator, who)) { Scheme_Object *pred1, *pred2; - if (info->unsafe_mode) { + if (unsafe_mode) { reset_rator(app, unsafe); } else { pred1 = expr_implies_predicate(rand1, info);