summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorflywind <43030857+xflywind@users.noreply.github.com>2022-06-19 13:35:25 +0800
committerGitHub <noreply@github.com>2022-06-19 07:35:25 +0200
commit332aa0af75baf328416068459931d5a6e4292d34 (patch)
tree671b838e98bdf0cd932deefa2b2b130a4761d151
parentef2dd2e473d7082d60088ece05beef81062850bb (diff)
downloadNim-332aa0af75baf328416068459931d5a6e4292d34.tar.gz
[vm] refactor `stdlib.marshal.load` (#19905)
refactor stdlib.marshal.load
-rw-r--r--compiler/vmops.nim18
1 files changed, 1 insertions, 17 deletions
diff --git a/compiler/vmops.nim b/compiler/vmops.nim
index 640826cc8..04b753ef6 100644
--- a/compiler/vmops.nim
+++ b/compiler/vmops.nim
@@ -364,21 +364,5 @@ proc registerAdditionalOps*(c: PCtx) =
     let typ = a.getNode(0).typ
     let p = a.getReg(1)
     var res: string
-
-    var node: PNode
-    case p.kind
-    of rkNone:
-      node = newNode(nkEmpty)
-    of rkInt:
-      node = newIntNode(nkIntLit, p.intVal)
-    of rkFloat:
-      node = newFloatNode(nkFloatLit, p.floatVal)
-    of rkNode:
-      node = p.node
-    of rkRegisterAddr:
-      node = p.regAddr.node
-    of rkNodeAddr:
-      node = p.nodeAddr[]
-
-    storeAny(res, typ, node, c.config)
+    storeAny(res, typ, regToNode(p[]), c.config)
     setResult(a, res)