summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorflywind <xzsflywind@gmail.com>2022-03-25 17:46:42 +0800
committerGitHub <noreply@github.com>2022-03-25 10:46:42 +0100
commitafbcba909b37b8c06250b141ddb9da4bf5bb9922 (patch)
tree2fc7e9f957e2f437197fa1f363cd5109ab2ba9c0
parent400e0260b854f34a91af47bbe0a1b1c9d112e51b (diff)
downloadNim-afbcba909b37b8c06250b141ddb9da4bf5bb9922.tar.gz
remove unnecessary framePtr code (#19645)
-rw-r--r--compiler/jsgen.nim9
-rw-r--r--lib/system/jssys.nim3
2 files changed, 8 insertions, 4 deletions
diff --git a/compiler/jsgen.nim b/compiler/jsgen.nim
index f4097efa4..d7955b2f9 100644
--- a/compiler/jsgen.nim
+++ b/compiler/jsgen.nim
@@ -773,7 +773,8 @@ proc genTry(p: PProc, n: PNode, r: var TCompRes) =
   var tmpFramePtr = rope"F"
   if optStackTrace notin p.options:
     tmpFramePtr = p.getTemp(true)
-    line(p, tmpFramePtr & " = framePtr;\L")
+    if hasFrameInfo(p):
+      line(p, tmpFramePtr & " = framePtr;\L")
   lineF(p, "try {$n", [])
   var a: TCompRes
   gen(p, n[0], a)
@@ -782,7 +783,8 @@ proc genTry(p: PProc, n: PNode, r: var TCompRes) =
   if catchBranchesExist:
     p.body.addf("--excHandler;$n} catch (EXCEPTION) {$n var prevJSError = lastJSError;$n" &
         " lastJSError = EXCEPTION;$n --excHandler;$n", [])
-    line(p, "framePtr = $1;$n" % [tmpFramePtr])
+    if hasFrameInfo(p):
+      line(p, "framePtr = $1;$n" % [tmpFramePtr])
   while i < n.len and n[i].kind == nkExceptBranch:
     if n[i].len == 1:
       # general except section:
@@ -841,7 +843,8 @@ proc genTry(p: PProc, n: PNode, r: var TCompRes) =
       line(p, "}\L")
     lineF(p, "lastJSError = prevJSError;$n")
   line(p, "} finally {\L")
-  line(p, "framePtr = $1;$n" % [tmpFramePtr])
+  if hasFrameInfo(p):
+    line(p, "framePtr = $1;$n" % [tmpFramePtr])
   if i < n.len and n[i].kind == nkFinally:
     genStmt(p, n[i][0])
   line(p, "}\L")
diff --git a/lib/system/jssys.nim b/lib/system/jssys.nim
index 6608a2927..00a4a8ab6 100644
--- a/lib/system/jssys.nim
+++ b/lib/system/jssys.nim
@@ -130,7 +130,8 @@ proc unhandledException(e: ref Exception) {.
   when NimStackTrace:
     add(buf, rawWriteStackTrace())
   let cbuf = cstring(buf)
-  framePtr = nil
+  when NimStackTrace:
+    framePtr = nil
   {.emit: """
   if (typeof(Error) !== "undefined") {
     throw new Error(`cbuf`);