>From 9ee3748ef44669d8f97a92f9a0157cc699c5bc5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20F=2E=20Wittenberger?= Date: Wed, 17 Feb 2016 12:03:04 +0100 Subject: [PATCH] reuse argvector in C_locative_ref --- runtime.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/runtime.c b/runtime.c index e5e1af8..7608b66 100644 --- a/runtime.c +++ b/runtime.c @@ -8812,18 +8812,16 @@ void C_ccall C_locative_ref(C_word c, C_word *av) case C_U16_LOCATIVE: C_kontinue(k, C_fix(*((unsigned short *)ptr))); case C_S16_LOCATIVE: C_kontinue(k, C_fix(*((short *)ptr))); case C_U32_LOCATIVE: - av2 = C_alloc(4); - av2[ 0 ] = C_SCHEME_UNDEFINED; - av2[ 1 ] = k; - av2[ 2 ] = (C_word)(ptr - 1); - av2[ 3 ] = C_fix(0); + av[ 0 ] = C_SCHEME_UNDEFINED; + av[ 1 ] = k; + av[ 2 ] = (C_word)(ptr - 1); + av[ 3 ] = C_fix(0); C_peek_unsigned_integer(3, av); case C_S32_LOCATIVE: - av2 = C_alloc(4); - av2[ 0 ] = C_SCHEME_UNDEFINED; - av2[ 1 ] = k; - av2[ 2 ] = (C_word)(ptr - 1); - av2[ 3 ] = C_fix(0); + av[ 0 ] = C_SCHEME_UNDEFINED; + av[ 1 ] = k; + av[ 2 ] = (C_word)(ptr - 1); + av[ 3 ] = C_fix(0); C_peek_signed_integer(3, av); case C_F32_LOCATIVE: C_kontinue_flonum(k, *((float *)ptr)); case C_F64_LOCATIVE: C_kontinue_flonum(k, *((double *)ptr)); -- 2.6.2