aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Dos Reis <GabrielDosReis@users.noreply.github.com>2022-08-23 13:03:42 -0700
committerGitHub <noreply@github.com>2022-08-23 13:03:42 -0700
commit8e451b6ece535c7fa55f0dc88ab94b48f03c598c (patch)
tree1c050c6a82ecb4f97a91872930bace27d4de855b
parentbefbdac85c917646d1b9aa411c5c69ac3134a94d (diff)
downloadopen-axiom-8e451b6ece535c7fa55f0dc88ab94b48f03c598c.tar.gz
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.
-rw-r--r--src/interp/lisp-backend.boot4
1 files changed, 1 insertions, 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]