You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As #1147 shows we have a long-standing problem with argument passing semantics and we can have cases when the values passed to the call-return method are not the values that are used by the actual binary code.
We have two places in the Primus code where values produced by the body of functions are reflected back to the physical locations used by the binary code. The first place is the Primus Lisp interpreter, where the problem is limited (we support some argument passing semantics, but obviously not all). The other place left unattended for a long time and it wasn't supporting any argument passing except passing directly through a register.
The task is to unify this code and implement more (see also this commit). It should be basically the responsibility of the interpreter (not Lisp interpreter) that the values stored in the arguments are the values that affect the binary code.
The text was updated successfully, but these errors were encountered:
As #1147 shows we have a long-standing problem with argument passing semantics and we can have cases when the values passed to the
call-return
method are not the values that are used by the actual binary code.We have two places in the Primus code where values produced by the body of functions are reflected back to the physical locations used by the binary code. The first place is the Primus Lisp interpreter, where the problem is limited (we support some argument passing semantics, but obviously not all). The other place left unattended for a long time and it wasn't supporting any argument passing except passing directly through a register.
The task is to unify this code and implement more (see also this commit). It should be basically the responsibility of the interpreter (not Lisp interpreter) that the values stored in the arguments are the values that affect the binary code.
The text was updated successfully, but these errors were encountered: