Level 7
Problem
Patch deleted all Deoptimize calling for CheckMaps in Machine Lowering phase of TurboShaft, which means TurboFan generated JITed code won't bail out if object's map is wrong.
Key Knowledge
- What does Machine Lowering phase in TurboShaft do?
- V8 Turbolizer for debugging
- Turbolizer is a HTML-based tool that visualizes optimized code along the various phases of Turbofan's optimization pipeline, allowing easy navigation between source code, Turbofan IR graphs, scheduled IR nodes and generated assembly code.
- Online V8 Turbolizer
- V8 Native Syntax List
- How to ensure a function is not inline or optimized compiled?
- Native Syntax:
%NeverOptimizeFunction(func); - No Native Syntax: Reduce the function's execution time.
- Native Syntax:
- Having patience and perseverance, persistently trying after failure!