Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index c8acb4707181a7c7f8ab1ad7e2a32d92ef4eb8e1..a5d69b3fea7d7bd47b40687ecc0dbcf42e94ecfe 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -4676,7 +4676,7 @@ static inline uint32_t HashSequentialString(const schar* chars, int length) { |
uint32_t String::ComputeAndSetHash() { |
// Should only be called if hash code has not yet been computed. |
- ASSERT(!(hash_field() & kHashComputedMask)); |
+ ASSERT(!HasHashCode()); |
const int len = length(); |
@@ -4695,7 +4695,7 @@ uint32_t String::ComputeAndSetHash() { |
set_hash_field(field); |
// Check the hash code is there. |
- ASSERT(hash_field() & kHashComputedMask); |
+ ASSERT(HasHashCode()); |
uint32_t result = field >> kHashShift; |
ASSERT(result != 0); // Ensure that the hash value of 0 is never computed. |
return result; |
@@ -4750,8 +4750,7 @@ bool String::SlowAsArrayIndex(uint32_t* index) { |
static inline uint32_t HashField(uint32_t hash, |
bool is_array_index, |
int length = -1) { |
- uint32_t result = |
- (hash << String::kHashShift) | String::kHashComputedMask; |
+ uint32_t result = (hash << String::kHashShift); |
if (is_array_index) { |
// For array indexes mix the length into the hash as an array index could |
// be zero. |
@@ -5546,7 +5545,7 @@ Object* JSObject::SetElementsLength(Object* len) { |
// General slow case. |
if (len->IsNumber()) { |
uint32_t length; |
- if (Array::IndexFromObject(len, &length)) { |
+ if (len->ToArrayIndex(&length)) { |
return SetSlowElements(len); |
} else { |
return ArrayLengthRangeError(); |
@@ -5869,8 +5868,7 @@ Object* JSObject::SetFastElement(uint32_t index, Object* value) { |
if (IsJSArray()) { |
// Update the length of the array if needed. |
uint32_t array_length = 0; |
- CHECK(Array::IndexFromObject(JSArray::cast(this)->length(), |
- &array_length)); |
+ CHECK(JSArray::cast(this)->length()->ToArrayIndex(&array_length)); |
if (index >= array_length) { |
JSArray::cast(this)->set_length(Smi::FromInt(index + 1)); |
} |
@@ -6021,8 +6019,7 @@ Object* JSObject::SetElementWithoutInterceptor(uint32_t index, Object* value) { |
if (ShouldConvertToFastElements()) { |
uint32_t new_length = 0; |
if (IsJSArray()) { |
- CHECK(Array::IndexFromObject(JSArray::cast(this)->length(), |
- &new_length)); |
+ CHECK(JSArray::cast(this)->length()->ToArrayIndex(&new_length)); |
JSArray::cast(this)->set_length(Smi::FromInt(new_length)); |
} else { |
new_length = NumberDictionary::cast(elements())->max_number_key() + 1; |
@@ -6053,7 +6050,7 @@ Object* JSObject::SetElementWithoutInterceptor(uint32_t index, Object* value) { |
Object* JSArray::JSArrayUpdateLengthFromIndex(uint32_t index, Object* value) { |
uint32_t old_len = 0; |
- CHECK(Array::IndexFromObject(length(), &old_len)); |
+ CHECK(length()->ToArrayIndex(&old_len)); |
// Check to see if we need to update the length. For now, we make |
// sure that the length stays within 32-bits (unsigned). |
if (index >= old_len && index != 0xffffffff) { |
@@ -6347,7 +6344,7 @@ bool JSObject::ShouldConvertToFastElements() { |
// fast elements. |
uint32_t length = 0; |
if (IsJSArray()) { |
- CHECK(Array::IndexFromObject(JSArray::cast(this)->length(), &length)); |
+ CHECK(JSArray::cast(this)->length()->ToArrayIndex(&length)); |
} else { |
length = dictionary->max_number_key(); |
} |