From 73efa8fb06e92eda8221a8a25603fde141ec7949 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Tue, 6 Sep 2016 12:05:21 +0200 Subject: [PATCH] Fix fixnum min/max for assembler * module/system/vm/assembler.scm (immediate-bits): I am a complete and total idiot and got the fixnum mins and maxes swapped. --- module/system/vm/assembler.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/module/system/vm/assembler.scm b/module/system/vm/assembler.scm index e07f7d4e8..3b9834bcb 100644 --- a/module/system/vm/assembler.scm +++ b/module/system/vm/assembler.scm @@ -948,10 +948,10 @@ immediate, and @code{#f} otherwise." ;; Object is an immediate if it is a fixnum on the target. (call-with-values (lambda () (case (asm-word-size asm) - ((4) (values #x1fffffff - (- #x20000000))) - ((8) (values #x1fffffffFFFFFFFF - (- #x2000000000000000))) + ((4) (values (- #x20000000) + #x1fffffff)) + ((8) (values (- #x2000000000000000) + #x1fffffffFFFFFFFF)) (else (error "unexpected word size")))) (lambda (fixnum-min fixnum-max) (and (<= fixnum-min x fixnum-max)