From 9391a2bf67bb1ae5667aa68178079222a8cb5090 Mon Sep 17 00:00:00 2001 From: Marius Gerbershagen Date: Sun, 21 Mar 2021 16:00:03 +0100 Subject: [PATCH] cmp: fix inline expressions for elt We can't use aref since aref ignores fill-pointers and ecl_fixnum can be used only in unsafe code. --- src/cmp/sysfun.lsp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/cmp/sysfun.lsp b/src/cmp/sysfun.lsp index ab6e8c107..8ff029cc4 100644 --- a/src/cmp/sysfun.lsp +++ b/src/cmp/sysfun.lsp @@ -631,10 +631,8 @@ ;; file sequence.d -(def-inline elt :always (t t) t "ecl_elt(#0,ecl_fixnum(#1))") +(def-inline elt :always (t t) t "ecl_elt(#0,ecl_to_size(#1))") (def-inline elt :always (t fixnum) t "ecl_elt(#0,#1)") -(def-inline elt :always (vector t) t "ecl_aref1(#0,ecl_fixnum(#1))") -(def-inline elt :always (vector fixnum) t "ecl_aref1(#0,#1)") (def-inline elt :unsafe (t t) t "ecl_elt(#0,ecl_fixnum(#1))") (def-inline elt :unsafe (t fixnum) t "ecl_elt(#0,#1)") @@ -656,8 +654,6 @@ (def-inline si:elt-set :always (t t t) t "ecl_elt_set(#0,ecl_to_size(#1),#2)") (def-inline si:elt-set :always (t fixnum t) t "ecl_elt_set(#0,#1,#2)") -(def-inline si:elt-set :always (vector t t) t "ecl_aset1(#0,ecl_to_size(#1),#2)") -(def-inline si:elt-set :always (vector fixnum t) t "ecl_aset1(#0,#1,#2)") (def-inline si:elt-set :unsafe (t t t) t "ecl_elt_set(#0,ecl_fixnum(#1),#2)") (def-inline si:elt-set :unsafe (vector t t) t "ecl_aset_unsafe(#0,ecl_to_size(#1),#2)")