Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 5346585bd3e0aad0e7bcf6b2b49cdc6680ecb315..a0e77cb86dbd63a8bff729b21e37a57878b8a619 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -1473,6 +1473,11 @@ class JSObject: public JSReceiver { |
bool HasDictionaryArgumentsElements(); |
inline NumberDictionary* element_dictionary(); // Gets slow elements. |
+ inline void set_map_and_elements( |
+ Map* map, |
+ FixedArrayBase* value, |
+ WriteBarrierMode mode = UPDATE_WRITE_BARRIER); |
+ |
// Requires: HasFastElements(). |
MUST_USE_RESULT inline MaybeObject* EnsureWritableFastElements(); |
@@ -1644,8 +1649,9 @@ class JSObject: public JSReceiver { |
// elements. |
bool ShouldConvertToFastElements(); |
// Returns true if the elements of JSObject contains only values that can be |
- // represented in a FixedDoubleArray. |
- bool CanConvertToFastDoubleElements(); |
+ // represented in a FixedDoubleArray and has at least one value that can only |
+ // be represented as a double and not a Smi. |
+ bool ShouldConvertToFastDoubleElements(bool* has_smi_only_elements); |
// Tells whether the index'th element is present. |
bool HasElementWithReceiver(JSReceiver* receiver, uint32_t index); |
@@ -1708,6 +1714,7 @@ class JSObject: public JSReceiver { |
enum SetFastElementsCapacityMode { |
kAllowSmiOnlyElements, |
+ kForceSmiOnlyElements, |
kDontAllowSmiOnlyElements |
}; |