From c98e53a3462373ab0ae846ff02761bc661a8b0ee Mon Sep 17 00:00:00 2001 From: Juan Jose Garcia Ripoll Date: Thu, 29 Dec 2011 00:25:57 +0100 Subject: [PATCH] Added an inliner for 1+/1- to ecl_make_integer(), which does not dispatch on types. --- src/cmp/sysfun.lsp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/cmp/sysfun.lsp b/src/cmp/sysfun.lsp index 997790ff4..5b069159d 100644 --- a/src/cmp/sysfun.lsp +++ b/src/cmp/sysfun.lsp @@ -391,11 +391,13 @@ ;; file num_arith.d (def-inline 1+ :always (t) t "ecl_one_plus(#0)") +(def-inline 1+ :always (fixnum) t "ecl_make_integer((#0)+1)") (def-inline 1+ :always (double-loat) :double "(double)(#0)+1") (def-inline 1+ :always (single-float) :float "(float)(#0)+1") (def-inline 1+ :always (fixnum) :fixnum "(#0)+1" :exact-return-type t) (def-inline 1- :always (t) t "ecl_one_minus(#0)") +(def-inline 1- :always (fixnum) t "ecl_make_integer((#0)-1)") (def-inline 1- :always (double-float) :double "(double)(#0)-1") (def-inline 1- :always (single-float) :float "(float)(#0)-1") (def-inline 1- :always (fixnum) :fixnum "(#0)-1" :exact-return-type t)