问题标签 [intermediate-language]
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.
java - 我们怎么知道设置堆有多大?
我正在尝试将 Java 转换为中间语言,并且正在弄清楚中间语言是如何工作的。
我有原始的 Java 代码:http ://cs.ucla.edu/classes/spring11/cs132/cs132/mj/Factorial.java
我有中间代码表示(VAPOR):http ://cs.ucla.edu/classes/spring11/cs132/kannan/vapor-examples/Factorial.vapor
这是另一组:在 Java 中:http ://cs.ucla.edu/classes/spring11/cs132/cs132/mj/BubbleSort.java
在 VAPOR 中:http ://cs.ucla.edu/classes/spring11/cs132/kannan/vapor-examples/BubbleSort.vapor
我的问题是,所有的 VAPOR 代码都有t.0 = HeapAllocZ(x)
(在哪里x
)int
。我想知道转换器如何确定堆大小需要为 size x
。在Factorial.vapor
中,它设置为4
。在BubbleSort.vapor
中,它设置为12
。
谢谢!
perl - Perl 是否有 LLVM 后端?
我有一个用 C 编写的项目,我希望将其转换为 Perl。我的一个朋友建议使用 LLVM。我使用 Clang 将我的 C 代码编译为 LLVM 程序集。现在我正在尝试将此中间表示转换为 Perl,但我似乎找不到任何后端。有人会指出我正确的方向吗?
c - 是否可以直接执行 gcc .ssa 文件?如果没有,如何编译?
这个问题有点古怪,但我很难在手册的这一部分找到答案。
如果我将 C 程序的 SSA 转储到文件中,例如:
~$ gcc -fdump-tree-ssa program_name.c
如何直接从 ssa 中间表示执行? 如果这不能通过 完成gcc
,那么我会很好奇如何编译.ssa
转储。我认为它无法完成,LLVM
因为gcc
使用了不同的 IR。
作为比较,它可以在 clang/llvm 中简单地完成:
~$ lli program_name_clangbit
...假设一个编译如下:
~$ clang program_name.c -S -emit-llvm -o program_name_clangbit
assembly - LLVM 汇编语言有多稳定?
LLVM 语言参考声明它可以用于
作为磁盘上的位码表示(适用于即时编译器的快速加载)
这种表示有多稳定?例如,我现在可以使用 LLVM 3.1 生成它,并且仍然期望它可以使用未来的 LLVM,比如三年后假设的 LLVM 4.5 吗?
假设我没有外部依赖项,我可以使用它为不同的架构生成二进制文件吗?
language-agnostic - 回补是什么意思?
是什么backpatching
意思?请用一个简单的例子来说明。
c++ - llvm 错误:找到多个着陆台继任者
llvm 有一个MachineVerifier
pass,它MachineFunction
根据不同的参数检查 a 的正确性,例如:liveness、dead Basic Block、正确的寄存器类等。最近我在 MachineVerifier pass 中遇到了这个错误。我想知道为什么不能有多个着陆垫继任者?在示例中,我收到此错误,布局(IR)是这样的;
是不是意味着如果发生异常,异常处理就会模棱两可。有人可以解释一下。谢谢。
string - 如何将字符串列表转换为方案中的一个字符串?
例如我有(list "a" "1" "b" "2" "c" "3")
.
现在我想把这个列表变成一个"a1b2c3"
。
我怎么做?
谢谢你。
c# - 编译器是否优化了不必要的/冗余的向上转换,或者它是否产生任何 IL?
从冗余演员表得到优化吗?我可以看到编译器没有优化不必要的向下转换(即castclass
)。但现在我对一个更简单的情况感兴趣,“如果编译器优化了不必要的向上转换?” 这个问题只涉及引用类型,而不涉及boxing
.
在我看来,这upcast
不会产生任何 IL,因此冗余显式upcast
根本不需要成本?upcast
还是因为 IL 指令是无类型的,所以在幕后仍然存在冗余显式的性能成本?
或者有时会向上转换产生任何 IL 指令?
c# - 为什么需要发出 IL 代码?
我在一个非常大的代码库中工作,今天我发现了一个IL code
在普通class
.
包含正在发出的 IL 代码的项目是Service Locator
MSDN 描述的实现。
这样做有什么好处,为什么要这样做而不是使用该C#
语言?
scheme - DrRacket : 如何获取一个值在列表中的位置
我正在尝试获取中级学生语言列表中某个值的位置列表。
例如,我希望在以下列表中列出值“A”的位置列表
(list false A false false false false A false false false )
输出必须类似于
(list 1 6)