Commit e4f2ed7e authored by Kunshan Wang's avatar Kunshan Wang

Fix `push_frame` parametet

`push_frame` now takes a frame cursor ref instead of a stack ref as a
parameter.
parent 154dbaf7
......@@ -856,12 +856,14 @@ On-stack replacement
::
void (*pop_frames_to)(MuCtx *ctx, MuFCRefValue cursor);
void (*push_frame )(MuCtx *ctx, MuStackRefValue stack, MuFuncRefValue func);
void (*push_frame )(MuCtx *ctx, MuFCRefValue cursor, MuFuncRefValue func);
* ``pop_frames_to`` pops all frames above ``cursor``.
* ``push_frame`` creates a new frame on the top of ``stack`` for the current
version of function ``func``.
* ``push_frame`` creates a new frame above the current frame pointed by the
frame cursor ``cursor``. If there are frames above the current frame of
``cursor``, they are popped. The new frame is for the current version of
function ``func``.
..
......
......@@ -456,15 +456,17 @@ On-stack replacement
::
[0x25c]@uvm.meta.pop_frames_to (%cursor: framecursorref)
[0x25d]@uvm.meta.push_frame <[sig]> (%stack: stackref, %func: funcref<sig>)
[0x25d]@uvm.meta.push_frame <[sig]> (%cursor: framecursorref, %func: funcref<sig>)
``%cursor``, ``%stack`` and ``%func`` must not be ``NULL``.
``%cursor`` and ``%func`` must not be ``NULL``.
- ``pop_frames_to`` pops all frames above ``%cursor``.
- ``push_frame`` creates a new frame on top of the stack ``%stack`` for the
current version of the Mu function ``%func``. ``%func`` must have the
signature ``sig``.
- ``push_frame`` creates a new frame above the current frame pointed by the
frame cursor ``%cursor``. If there are frames above the current frame of
``%cursor``, they are popped. The new frame is for the current version of
function ``%func``.
Watchpoint operations
---------------------
......
......@@ -398,7 +398,7 @@ struct MuCtx {
// On-stack replacement
void (*pop_frames_to)(MuCtx *ctx, MuFCRefValue cursor);
void (*push_frame )(MuCtx *ctx, MuStackRefValue stack, MuFuncRefValue func);
void (*push_frame )(MuCtx *ctx, MuFCRefValue cursor, MuFuncRefValue func);
// 64-bit tagged reference operations
MuBool (*tr64_is_fp )(MuCtx *ctx, MuTagRef64Value value);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment