| Index: src/elements-kind.cc
|
| diff --git a/src/elements-kind.cc b/src/elements-kind.cc
|
| index 7b1651a953fc8120f4c1a29fcb9bef77c330e62c..5866f7ec6f33174c53d417a99e2ddc947005c5c4 100644
|
| --- a/src/elements-kind.cc
|
| +++ b/src/elements-kind.cc
|
| @@ -136,4 +136,23 @@ bool IsMoreGeneralElementsKindTransition(ElementsKind from_kind,
|
| }
|
|
|
|
|
| +ElementsKind GetUnifiedFastElementsKind(ElementsKind kind1,
|
| + ElementsKind kind2) {
|
| + ASSERT(IsFastElementsKind(kind1));
|
| + ASSERT(IsFastElementsKind(kind2));
|
| + if (kind1 == kind2) {
|
| + return kind1;
|
| + }
|
| +
|
| + int i1 = GetSequenceIndexFromFastElementsKind(kind1);
|
| + int i2 = GetSequenceIndexFromFastElementsKind(kind2);
|
| + ASSERT(i1 != i2);
|
| + ElementsKind result = GetFastElementsKindFromSequenceIndex(
|
| + i1 > i2 ? i1 : i2);
|
| + return (IsFastHoleyElementsKind(kind1) != IsFastHoleyElementsKind(kind2))
|
| + ? GetHoleyElementsKind(result)
|
| + : result;
|
| +}
|
| +
|
| +
|
| } } // namespace v8::internal
|
|
|