文章
111
标签
55
分类
7
首页
文章
归档
标签
分类
时间轴
清单
音乐
照片
电影
关于
Small Utopia
Client 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
!
上一篇
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);...
下一篇
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.
V8
搜索
数据加载中