Skip to content

Commit 0a8e4bf

Browse files
author
Guannan Wei
committed
drafting sem for fused eval
1 parent a83750f commit 0a8e4bf

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

src/main/scala/wasm/MiniWasmTFP.scala

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,16 +148,31 @@ case class EvaluatorTFP(module: ModuleInstance) {
148148
val newHandler: Handler[Ans] = (s1, k1, m1) => evalList(es2, s1, frame, k1, m1, List(), hs)
149149
val m1: MCont[Ans] = (s1) => kont(s1, mkont)
150150
evalList(es1, List(), frame, initK[Ans], m1, List(), newHandler)
151+
/*
152+
val newHandler: Handler[Ans] = (s1, k1, m1) => eval(es2, s1, frame, k1, m1, List(), hs)
153+
val m1: MCont[Ans] = (s1) => eval(rest, s1, frame, kont, mkont, brTable, hs)
154+
eval(es1, List(), frame, initK[Ans], m1, List(), newHandler)
155+
*/
151156
case Resume0() =>
152157
val (resume: ContV[Ans]) :: newStack = stack
153-
// no test fail if we pass in
158+
// no test fail if we pass in
154159
resume.k(List(), s => kont(s, mkont), hs)
160+
/*
161+
val (resume: ContV[Ans]) :: newStack = stack
162+
val m1: MCont[Ans] = s => eval(rest, s, frame, kont, mkont, brTable, hs)
163+
resume.k(List(), m1, hs)
164+
*/
155165
case Throw() =>
156166
val err :: newStack = stack
157167
// the handlers for kr is at the capture site
158168
def kr(s1: Stack, m1: MCont[Ans], hs: Handler[Ans]): Ans = kont(s1, m1)
159169
hs(List(err, ContV(kr)), initK[Ans], mkont)
160-
170+
/*
171+
val err :: newStack = stack
172+
def kr(s1: Stack, m1: MCont[Ans], hs1: Handler[Ans]): Ans =
173+
eval(rest, s1, frame, kont, m1, brTable, hs)
174+
hs(List(err, ContV(kr)), initK[Ans], mkont)
175+
*/
161176
case CallRef(ty) =>
162177
val RefFuncV(f) :: newStack = stack
163178
evalCall1(f, newStack, frame, kont, mkont, brTable, hs, false)

0 commit comments

Comments
 (0)