Uniformly track transitions from non-smi elements kind in allocation site

We didn't track transitions from non-smi elements kind in builtins but we
did track them in the runtime. We should track these transitions in
builtins as well. Not tracking them uniformly causes deopts in unexpected
places which are hard to reason about.


Bug: chromium:987522
Change-Id: I09403c7365d4d2474bca3ab601887abec19aef27
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1736748
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63109}
This commit is contained in:
Mythri A 2019-08-05 15:25:04 +01:00 committed by Commit Bot
parent 01d77d0356
commit 42fd0bfd39

View File

@ -5652,8 +5652,7 @@ bool AllocationSite::IsNested() {
}
bool AllocationSite::ShouldTrack(ElementsKind from, ElementsKind to) {
return IsSmiElementsKind(from) &&
IsMoreGeneralElementsKindTransition(from, to);
return IsMoreGeneralElementsKindTransition(from, to);
}
const char* AllocationSite::PretenureDecisionName(PretenureDecision decision) {