mirror of
https://github.com/nim-lang/Nim.git
synced 2026-06-09 13:18:11 +00:00
Revert "fixes #16790; fixes #19075; put big arrays on the constant seqs; don't inline them in the VM; big performance boost (#21318)"
This reverts commit 7ad8c44e28.
This commit is contained in:
@@ -30,7 +30,7 @@
|
||||
import tables
|
||||
|
||||
import
|
||||
strutils, ast, types, msgs, renderer, vmdef, trees,
|
||||
strutils, ast, types, msgs, renderer, vmdef,
|
||||
intsets, magicsys, options, lowerings, lineinfos, transf, astmsgs
|
||||
|
||||
from modulegraphs import getBody
|
||||
@@ -2131,10 +2131,7 @@ proc gen(c: PCtx; n: PNode; dest: var TDest; flags: TGenFlags = {}) =
|
||||
genLit(c, n, dest)
|
||||
of skConst:
|
||||
let constVal = if s.ast != nil: s.ast else: s.typ.n
|
||||
if dontInlineConstant(n, constVal):
|
||||
genLit(c, constVal, dest)
|
||||
else:
|
||||
gen(c, constVal, dest)
|
||||
gen(c, constVal, dest)
|
||||
of skEnumField:
|
||||
# we never reach this case - as of the time of this comment,
|
||||
# skEnumField is folded to an int in semfold.nim, but this code
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
discard """
|
||||
timeout: 10
|
||||
joinable: false
|
||||
"""
|
||||
|
||||
# bug #19075
|
||||
const size = 50_000
|
||||
|
||||
const stuff = block:
|
||||
var a: array[size, int]
|
||||
a
|
||||
|
||||
const zeugs = block:
|
||||
var zeugs: array[size, int]
|
||||
for i in 0..<size:
|
||||
zeugs[i] = stuff[i]
|
||||
zeugs
|
||||
|
||||
doAssert zeugs[0] == 0
|
||||
Reference in New Issue
Block a user