Skip to content
Snippets Groups Projects
Commit f1329f8c authored by Raymond Toy's avatar Raymond Toy
Browse files

Merged in arm-rtoy-issue-55 (pull request #79)

Fix issue #55: Put args on the stack in the right place in funcall0 and friends.
parents c5c32c0a 494e5b1c
Branches
Tags
No related merge requests found
......@@ -112,36 +112,27 @@ funcall0(lispobj function)
lispobj
funcall1(lispobj function, lispobj arg0)
{
lispobj *args = current_control_stack_pointer;
current_control_stack_pointer -= 1;
args[0] = arg0;
*--current_control_stack_pointer = arg0;
return call_into_lisp(function, args, 1);
return call_into_lisp(function, current_control_stack_pointer, 1);
}
lispobj
funcall2(lispobj function, lispobj arg0, lispobj arg1)
{
lispobj *args = current_control_stack_pointer;
*--current_control_stack_pointer = arg1;
*--current_control_stack_pointer = arg0;
current_control_stack_pointer -= 2;
args[0] = arg0;
args[1] = arg1;
return call_into_lisp(function, args, 2);
return call_into_lisp(function, current_control_stack_pointer, 2);
}
lispobj
funcall3(lispobj function, lispobj arg0, lispobj arg1, lispobj arg2)
{
lispobj *args = current_control_stack_pointer;
current_control_stack_pointer -= 3;
args[0] = arg0;
args[1] = arg1;
args[2] = arg2;
*--current_control_stack_pointer = arg2;
*--current_control_stack_pointer = arg1;
*--current_control_stack_pointer = arg0;
return call_into_lisp(function, args, 3);
return call_into_lisp(function, current_control_stack_pointer, 3);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment