byte compiler: fix excessive fixnum assumptions in unsafe mode

The comparison operations `=`, `<`, etc., were incorrectly compiled as
fixnum operations in the expander's implementation.
This commit is contained in:
Matthew Flatt 2018-03-26 17:27:54 -06:00
parent 9d0ab74e9e
commit f8dac3d47d

View File

@ -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);