avatar
文章
111
标签
55
分类
7
首页
文章
  • 归档
  • 标签
  • 分类
时间轴
清单
  • 音乐
  • 照片
  • 电影
  • 关于
Small UtopiaClient V8学习
搜索
首页
文章
  • 归档
  • 标签
  • 分类
时间轴
清单
  • 音乐
  • 照片
  • 电影
  • 关于

Client V8学习

发表于2025-09-09|更新于2025-09-18
|总字数:26|阅读时长:1分钟|浏览量:

V8

  • V8-ignition指令
  • V8内存回收机制
  • Code-caching
  • V8 Hole
  • V8指针压缩
  • V8 数据结构
文章作者: Eutopia
文章链接: https://eknight-eutopia.github.io/posts/fda95e8.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Small Utopia!
cover of previous post
上一篇
V8 数据结构
记录下V8的数据结构。 ArrayBuffer用于表示通用的原始二进制数据缓冲区。其为字节数组(bytearray)。不能直接操作ArrayBuffer内容,而是要通过类型化数组对象或DataView对象来操作,它们会将缓冲区中的数据表示为特定的格式,并通过这些格式来读写缓冲区内容。 创建ArrayBuffer123// 创建8字节缓冲区,并使用Int32Array视图引用const buffer = new ArrayBuffer(8);const view = new Int32Array(buffer); 操作ArrayBuffer要操作ArrayBuffer内容,需要使用视图对象。视图对象不存储任何数据,它只是对ArrayBuffer中字节的解释。例如Uint8Array将每个字节视为独立的数字。 123456let buffer = new ArrayBuffer(16);let view = new Uint32Array(buffer);view[0] = 123456;for(let num of view) { console.log(num);...
cover of next post
下一篇
V8 Code Caching
概述v8使用JIT执行JavaScript代码,因此在执行前需要解析并编译,由于每次执行前都需要做此操作的话开销过大,引入code cache来优化(version >= 4.2)。script 第一次执行后,会保存其cache data。下一次v8编译相同script时(不同的v8实例也可以使用)则会使用cache data。一个早期版本的code cache功能api测试用例:testcase当v8编译一个script脚本后,可以通过添加v8::ScriptCompiler::kProduceCodeCache选项来生成相应的cache data用于后续的编译。如果编译成功,则会将cache data添加到source object并且可以通过调用v8::ScriptCompiler::Source::GetCacheData获取。 注:v8::ScriptCompiler::kProduceCodeCache被废弃,新api:v8::ScriptCompiler::GetCodeCache 在后续的编译中,先前生成的cache...

评论
目录
  1. 1. V8
©2019 - 2025 By Eutopia
框架 Hexo|主题 Butterfly
搜索
数据加载中