8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

在 node.js 源代码中,JIT 编译 javascript 可执行文件的过程从哪里开始

tmdavison 2月前

31 0

启动 node.js 平台本身和执行 .js 文件之间存在边界。我很好奇想知道在 node.js 源代码中开始执行编译代码的那个时刻在哪里......

启动 node.js 平台本身和执行文件之间存在界限 .js

我很好奇,想知道在 node.js 源代码中开始执行编译代码的那个时刻在哪里?


我发现了下一个:

MaybeLocal<Value> BuiltinLoader::CompileAndCall(Local<Context> context,
                                                const char* id,
                                                int argc,
                                                Local<Value> argv[],
                                                Realm* optional_realm) {
  // Arguments must match the parameters specified in
  // BuiltinLoader::LookupAndCompile().
  MaybeLocal<Function> maybe_fn = LookupAndCompile(context, id, optional_realm);
  Local<Function> fn;
  if (!maybe_fn.ToLocal(&fn)) {
    return MaybeLocal<Value>();
  }
  Local<Value> undefined = Undefined(context->GetIsolate());
  return fn->Call(context, undefined, argc, argv);
}

我是否正确理解了 fn->Call(context, undefined, argc, argv) 运行已编译的脚本代码?

帖子版权声明 1、本帖标题:在 node.js 源代码中,JIT 编译 javascript 可执行文件的过程从哪里开始
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由tmdavison在本站《node.js》版块原创发布, 转载请注明出处!
最新回复 (0)
  • JIT 系统不会一次性将代码编译为优化的机器代码;这就是“JIT”一词的意义所在。从函数调用到函数调用,目标是否已被编译为机器代码或处于某种中间形式,您只有到达那里才能知道。

返回
作者最近主题: