From d246049e4b2d01b319ea2e6b7578cbad5cefc51b Mon Sep 17 00:00:00 2001 From: Juan Jose Garcia Ripoll Date: Sat, 24 Nov 2012 23:49:03 +0100 Subject: [PATCH] The bytecodes optimized function calls to core functions with fixed number of arguments, but they are redefined in some libraries. --- src/c/interpreter.d | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/c/interpreter.d b/src/c/interpreter.d index 030f86f36..a80f4bb0c 100644 --- a/src/c/interpreter.d +++ b/src/c/interpreter.d @@ -417,21 +417,21 @@ ecl_interpret(cl_object frame, cl_object env, cl_object bytecodes) CASE(OP_CALLG1); { cl_object s; - cl_objectfn_fixed f; + cl_objectfn f; GET_DATA(s, vector, data); - f = ECL_SYM_FUN(s)->cfunfixed.entry_fixed; + f = ecl_function_dispatch(the_env, ECL_SYM_FUN(s)); SETUP_ENV(the_env); - reg0 = f(reg0); + reg0 = f(1, reg0); THREAD_NEXT; } CASE(OP_CALLG2); { cl_object s; - cl_objectfn_fixed f; + cl_objectfn f; GET_DATA(s, vector, data); - f = ECL_SYM_FUN(s)->cfunfixed.entry_fixed; + f = ecl_function_dispatch(the_env, ECL_SYM_FUN(s)); SETUP_ENV(the_env); - reg0 = f(ECL_STACK_POP_UNSAFE(the_env), reg0); + reg0 = f(2, ECL_STACK_POP_UNSAFE(the_env), reg0); THREAD_NEXT; }