[ic] Collect new.target feedback for Construct bytecodes.
Change the CALL_IC machinery inside of Ignition to collect new.target feedback for Construct and ConstructWithSpread bytecodes instead of collecting feedback about the target, and adapt TurboFan's JSCallReducer to consume feedback for new.target instead of target on JSConstruct nodes. This enables TurboFan to inline JSCreate - and thus the actual instance allocation - into derived leaf constructors even if the leaf constructor itself is not inlined, and thereby removes this weird performance cliff. The feedback for target in case of class constructors is provided by the function context specialization, and in case of `new A`, we can just use the feedback for new.target, as both target and new.target are A in that case. Bug: v8:5517, v8:6399, v8:6679 Change-Id: I0475e2500e787fd672ed037ac0faed78a8fa5dc0 Reviewed-on: https://chromium-review.googlesource.com/604790Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47210}
Showing
This diff is collapsed.
Please
register
or
sign in
to comment