Revert "Revert "Upgrade to 5.0.71.48"" DO NOT MERGE
This reverts commit f2e3994fa5148cc3d9946666f0b0596290192b0e,
and updates the x64 makefile properly so it doesn't break that
build.
FPIIM-449
Change-Id: Ib83e35bfbae6af627451c926a9650ec57c045605
(cherry picked from commit 109988c7ccb6f3fd1a58574fa3dfb88beaef6632)
diff --git a/src/elements-kind.h b/src/elements-kind.h
index 5f6cd62..3ebc9ad 100644
--- a/src/elements-kind.h
+++ b/src/elements-kind.h
@@ -30,10 +30,16 @@
// The "slow" kind.
DICTIONARY_ELEMENTS,
+ // Elements kind of the "arguments" object (only in sloppy mode).
FAST_SLOPPY_ARGUMENTS_ELEMENTS,
SLOW_SLOPPY_ARGUMENTS_ELEMENTS,
- // Fixed typed arrays
+ // For string wrapper objects ("new String('...')"), the string's characters
+ // are overlaid onto a regular elements backing store.
+ FAST_STRING_WRAPPER_ELEMENTS,
+ SLOW_STRING_WRAPPER_ELEMENTS,
+
+ // Fixed typed arrays.
UINT8_ELEMENTS,
INT8_ELEMENTS,
UINT16_ELEMENTS,
@@ -44,7 +50,10 @@
FLOAT64_ELEMENTS,
UINT8_CLAMPED_ELEMENTS,
- // Derived constants from ElementsKind
+ // Sentinel ElementsKind for objects with no elements.
+ NO_ELEMENTS,
+
+ // Derived constants from ElementsKind.
FIRST_ELEMENTS_KIND = FAST_SMI_ELEMENTS,
LAST_ELEMENTS_KIND = UINT8_CLAMPED_ELEMENTS,
FIRST_FAST_ELEMENTS_KIND = FAST_SMI_ELEMENTS,
@@ -83,6 +92,10 @@
kind == SLOW_SLOPPY_ARGUMENTS_ELEMENTS;
}
+inline bool IsStringWrapperElementsKind(ElementsKind kind) {
+ return kind == FAST_STRING_WRAPPER_ELEMENTS ||
+ kind == SLOW_STRING_WRAPPER_ELEMENTS;
+}
inline bool IsFixedTypedArrayElementsKind(ElementsKind kind) {
return kind >= FIRST_FIXED_TYPED_ARRAY_ELEMENTS_KIND &&
@@ -104,7 +117,8 @@
inline bool IsTransitionElementsKind(ElementsKind kind) {
return IsFastElementsKind(kind) || IsFixedTypedArrayElementsKind(kind) ||
- kind == FAST_SLOPPY_ARGUMENTS_ELEMENTS;
+ kind == FAST_SLOPPY_ARGUMENTS_ELEMENTS ||
+ kind == FAST_STRING_WRAPPER_ELEMENTS;
}