From 8e451b6ece535c7fa55f0dc88ab94b48f03c598c Mon Sep 17 00:00:00 2001 From: Gabriel Dos Reis Date: Tue, 23 Aug 2022 13:03:42 -0700 Subject: Fix a silent bad codegen (#19) The compile-time evaluation attempted by `expanndIlt` when both operands are integers seem to generate silent bad code (Lisp mysteries!). Disabled by this patch. --- src/interp/lisp-backend.boot | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/interp/lisp-backend.boot b/src/interp/lisp-backend.boot index 895f6134..120c030d 100644 --- a/src/interp/lisp-backend.boot +++ b/src/interp/lisp-backend.boot @@ -1,4 +1,4 @@ --- Copyright (C) 2011-2015, Gabriel Dos Reis. +-- Copyright (C) 2011-2022, Gabriel Dos Reis. -- All rights reserved. -- -- Redistribution and use in source and binary forms, with or without @@ -266,10 +266,8 @@ expandIeq ['%ieq,a,b] == expandIlt ['%ilt,x,y] == integer? x and x = 0 => - integer? y => y > 0 ['PLUSP,expandToVMForm y] integer? y and y = 0 => - integer? x => x < 0 ['MINUSP,expandToVMForm x] ['_<,expandToVMForm x,expandToVMForm y] -- cgit v1.2.3