Skip to content

Commit 6e41521

Browse files
stack pop example
1 parent 67b077b commit 6e41521

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

benchmarks/wasm/staged/pop.wat

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
(module $push-drop
2+
(global (;0;) (mut i32) (i32.const 1048576))
3+
(func (;0;) (type 1) (result)
4+
i32.const 2
5+
i32.const 2
6+
i32.add
7+
)
8+
(start 0))

src/main/scala/wasm/StagedMiniWasm.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,8 @@ trait StagedWasmScalaGen extends ScalaGenBase with SAICodeGenBase {
442442
emit("Stack.push("); shallow(value); emit(")\n")
443443
case Node(_, "stack-drop", List(n), _) =>
444444
emit("Stack.drop("); shallow(n); emit(")\n")
445+
case Node(_, "stack-pop", _, _) =>
446+
emit("Stack.pop()\n")
445447
case Node(_, "stack-reset", List(n), _) =>
446448
emit("Stack.reset("); shallow(n); emit(")\n")
447449
case Node(_, "stack-init", _, _) =>
@@ -465,8 +467,6 @@ trait StagedWasmScalaGen extends ScalaGenBase with SAICodeGenBase {
465467
override def shallow(n: Node): Unit = n match {
466468
case Node(_, "frame-get", List(i), _) =>
467469
emit("Frames.get("); shallow(i); emit(")")
468-
case Node(_, "stack-pop", _, _) =>
469-
emit("Stack.pop()")
470470
case Node(_, "frame-pop", _, _) =>
471471
emit("Frames.popFrame()")
472472
case Node(_, "stack-peek", _, _) =>

src/test/scala/genwasym/TestStagedEval.scala

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ class TestStagedEval extends FunSuite {
2020
testFileToScala("./benchmarks/wasm/staged/brtable.wat")
2121
}
2222

23+
test("drop-scala") {
24+
testFileToScala("./benchmarks/wasm/staged/pop.wat")
25+
}
26+
2327
def testFileToCpp(filename: String, main: Option[String] = None, printRes: Boolean = false) = {
2428
val moduleInst = ModuleInstance(Parser.parseFile(filename))
2529
val code = WasmToCppCompiler(moduleInst, main, true)

0 commit comments

Comments
 (0)