Skip to content

Commit 9f04722

Browse files
committed
not inlining + shallow
1 parent 6e41521 commit 9f04722

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/main/scala/wasm/StagedMiniWasm.scala

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -437,13 +437,16 @@ trait StagedWasmEvaluator extends SAIOps {
437437
}
438438

439439
trait StagedWasmScalaGen extends ScalaGenBase with SAICodeGenBase {
440+
override def mayInline(n: Node): Boolean = n match {
441+
case Node(s, "stack-pop", _, _) => false
442+
case _ => super.mayInline(n)
443+
}
444+
440445
override def traverse(n: Node): Unit = n match {
441446
case Node(_, "stack-push", List(value), _) =>
442447
emit("Stack.push("); shallow(value); emit(")\n")
443448
case Node(_, "stack-drop", List(n), _) =>
444449
emit("Stack.drop("); shallow(n); emit(")\n")
445-
case Node(_, "stack-pop", _, _) =>
446-
emit("Stack.pop()\n")
447450
case Node(_, "stack-reset", List(n), _) =>
448451
emit("Stack.reset("); shallow(n); emit(")\n")
449452
case Node(_, "stack-init", _, _) =>
@@ -469,6 +472,8 @@ trait StagedWasmScalaGen extends ScalaGenBase with SAICodeGenBase {
469472
emit("Frames.get("); shallow(i); emit(")")
470473
case Node(_, "frame-pop", _, _) =>
471474
emit("Frames.popFrame()")
475+
case Node(_, "stack-pop", _, _) =>
476+
emit("Stack.pop()")
472477
case Node(_, "stack-peek", _, _) =>
473478
emit("Stack.peek")
474479
case Node(_, "stack-take", List(n), _) =>
@@ -666,7 +671,6 @@ object Main {
666671
}
667672

668673

669-
670674
object WasmToScalaCompiler {
671675
def apply(moduleInst: ModuleInstance, main: Option[String], printRes: Boolean = false): String = {
672676
println(s"Now compiling wasm module with entry function $main")

0 commit comments

Comments
 (0)