-
Sathya Gunasekaran authored
Instead of loading the map from the feedback vector for monomorphic access, this CL directly inlines the expected map constant as a static check. In case this static check fails, we call out to a builtin which performs additional dynamic map checks. There are several dynamic map checks performed by the builtin for various cases such as: (a) IC is monomorphic with a map that's different from the initial static map that we checked, in which case we perform another dynamic map check. (b) IC is monomorphic but incoming map is a deprecated map in which case we call out the runtime to migrate this incoming object to a new map and then try to handle it. (c) IC has now transitioned to polymorphic in which we use the old dynamic polymorphic checks to validate the map and handler. Bug: v8:10582, v8:9684 Change-Id: Id87265ed513e4aef87b8e66c826afbf10f50a1d0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2429034 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#70304}
2cf6ee0b