-
Mythri A authored
If incoming map is deprecated, generate code to migrate the map. Since this involves generating additional code and a call to runtime, we only do this if one of the receiver maps was a migration target when optimizing this function. If not, we deoptimize and discard the optimized code if we see a deprecated map. This is to avoid bailout loops when we see deprecated maps. This change does the following: // We generated code to migrate deprecated maps only if one of the maps // in feedback vector is a migration target. if ( there are migration targets in feedback) { if (checkMaps fails) { if (incoming map is deprecated) { migrate the map checkMaps with the new map } else { bailout } } } else { if (checkMaps fails) bailout; } Bug: v8:10582, v8:9684 Change-Id: I8a04c77ed209dd2fb0300a783d844f2335a678c8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2292231Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#69179}
9b9ba19e