gpt4 book ai didi

javascript - 内联执行生成的汇编程序

转载 作者:行者123 更新时间:2023-11-30 05:55:26 25 4
gpt4 key购买 nike

我正在阅读以下演示文稿: http://wingolog.org/pub/qc-2012-js-slides.pdf其中讨论了 (4,10,19) 内联 ASM 生成作为 Javascript 优化中使用的技术。

在以下论文中: https://sites.google.com/site/juliangamble/Home/Compilers%20Tutorial%202006-09-16.pdf?attredirects=0&d=1在第 30 和 31 页,他们讨论了使用方案来生成随后在后续操作系统进程中链接和执行的 ASM。

如果您想生成 ASM 并在现有进程中执行它,情况会怎样? (即没有后续链接并在单独的步骤中执行)。

假设这归结为(例如在 C 中)生成 ASM,将字节写入内存区域(代码作为数据)并添加函数头并返回(与C 调用者(类似于我们在上面的 Goloum 论文的第 3 页上看到的)。然后我们获取该数据指针并将其转换为函数指针并调用它(代码作为代码 - 从代码作为数据)。

我的问题是:

(a) 此内联代码生成和执行的术语是什么?

(b) 是否有可用的简单“hello world”C 示例?

最佳答案

有一个很好的例子here .他们再次使用自修改代码的术语。

另一个here .

Here他们将其分为四类(用例):

  • 变质
  • 蹦床
  • JIT 编译
  • 安全隐患(不安全的编码/恶意软件)

有讨论here关于 LISP 是否真的是自修改的——他们最终得出的结论是它不是。

关于javascript - 内联执行生成的汇编程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12168575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com