Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 内联执行生成的汇编程序_Javascript_Assembly_Scheme_Inline Assembly_Dynamically Generated - Fatal编程技术网

Javascript 内联执行生成的汇编程序

Javascript 内联执行生成的汇编程序,javascript,assembly,scheme,inline-assembly,dynamically-generated,Javascript,Assembly,Scheme,Inline Assembly,Dynamically Generated,我正在阅读以下演示文稿: 它将(4,10,19)内联ASM生成作为Javascript优化中使用的一种技术 在以下文件中: 在第30页和第31页,他们讨论了使用scheme生成ASM,该ASM随后在后续操作系统进程中链接和执行 您希望生成ASM并在现有流程中执行它的场景如何?(即没有后续链接,并在单独的步骤中执行) 我假设这归结为(以C为例)生成ASM,将字节写入内存区域(代码为数据),并添加一个函数头和返回(与C调用方兼容(类似于我们在上面的Goloum论文第3页上看到的),然后我们将该数据指

我正在阅读以下演示文稿: 它将(4,10,19)内联ASM生成作为Javascript优化中使用的一种技术

在以下文件中: 在第30页和第31页,他们讨论了使用scheme生成ASM,该ASM随后在后续操作系统进程中链接和执行

您希望生成ASM并在现有流程中执行它的场景如何?(即没有后续链接,并在单独的步骤中执行)

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

我的问题是:

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


(b) 有一个简单的“hello world”C示例吗?

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

另一个

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

  • 变质作用
  • 蹦床
  • JIT编译
  • 安全影响(不安全编码/恶意软件)

关于LISP是否真的是自修改的,有一个讨论,他们最终得出结论认为它不是。

我称之为即时(JIT)编译。许多Scheme实现都使用它,例如Racket和盗窃。这与这个问题非常相似(但没有示例)-他们称之为自我修改代码-我不确定我是否同意我的分类