| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Assigning prev_op inside nwp_execute defeated the purpose because this
function is meant to start the state machine for the given instruction.
In other words, inspecting prev_op would in fact return the current
opcode, instead of the previous opcode.
|
| | |
|
| |
|
|
| |
This is redundant according to the C standard.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Otherwise, imports without parameters would jump to `call` directly
without assigning ci->pc first, so that nwp_interp_resume would read
incorrectly from offset 0.
|
| |
|
|
|
| |
Otherwise, values such as 0x100000000 (i.e., the 32th-bit is set) would
not cause a branch because only the lower 32 bits would be tested.
|
| |
|
|
|
|
|
|
|
|
|
| |
set_local is meant to write a local variable, while allowing the use of
a caller-defined callback when finished. While this was already
correctly implemented by set_local, set_param was incorrectly calling
nwp_interp_resume instead of the caller-defined callback.
This had the side effect of tee_local not being able to push the value
into the stack when the local index referred to a parameter, thus
causing undefined behaviour.
|
| | |
|
| |
|