More Related Content
Similar to V8 Iginition Interpreter (20)
More from Taketoshi 青野健利 (7)
V8 Iginition Interpreter
- 2. 名前: @brn (青野健利)
職業: フロントエンドエンジニア・ネイティブエンジニア
会社: Cyberagent アドテクスタジオ RightSegment・AI Messenger
ブログ: http://abcdef.gets.b6n.ch/
- 14. TurboFan Inlining Caching (IC)
これまでのICの問題点
プロパティアクセスのたびに、Map(hidden class)の存在チェックと、Mapからの値のロード
を行うコードを生成しており、オブジェクトの情報もオブジェクト自身にエンコーディング
されて持っていたため、メモリを圧迫していた。
また、ファストパスかキャッシュミスヒットのいずれかの状態しかなかったため、
キャッシュミスヒットの速度低下も問題であった。
新たなIC
FeedbackVectorというコード・オブジェクトの情報に責務を持つクラスを新たに設け、
ICのオーバーヘッドを大きく減らした。
このFeedbackVectorを利用することで、以前のICではLoadIC_MissかFoundの二通りだったが、
TurboFanのICでは、fast・noninlined・missの三通りになり、LoadIC_Missのケースを減らしている。