问题标签 [constantfolding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
182 浏览

perl - 这两个 eval 之间的区别是否用常量折叠来解释?

鉴于这两个仅更改Module::FOO()和的评估FOO()

为什么顶部块占用的空间要少得多?脚本和输出复制如下,

脚本

结果

包(命名空间)合格

本地进口

0 投票
2 回答
86 浏览

perl - 如何在 Perl 中禁用常量折叠?

给定一个类似的命令,

如何禁用常量折叠,这样

给我看

或之类的。理想情况下,我希望这是一个适用于所有 Perl 的编译器选项。你可以在 perl 邮件列表的这个线程中看到这个话题,[perl #97942] [PATCH] 添加-DO选项以禁用优化并禁用常量折叠和使用时的窥孔优化器。. 我试过-DO了,但没有用。如果该选项不起作用,我愿意接受变通办法,但它们可能会出现。

0 投票
1 回答
49 浏览

c++ - 整数表达式的 C++ 常量折叠的预期行为是什么?

例如,假设我们有一个函数用 替换 a 的两个最低有效小数int0

如果我们通过2052了,我们应该期望返回20002199应该返回2100

如果您在有或没有优化的情况下运行 MSVC 编译器,似乎不会发生常量折叠,这是我所期望的,因为x / 100应该在之前进行评估* 100,并且我们不在x / 100编译时进行评估。该参数x来自运行时输入。

根据我的假设和测试,我认为我不必担心不断折叠变为return x / 100 * 100;return x;但是,我希望找到关于这种情况下预期行为的更好文档,而不是仅仅依靠我的假设和测试。

有没有关于这种行为的好的文档?我查看了网络上的 SO 和其他地方,但找不到对我有用的文档。