summaryrefslogtreecommitdiff
path: root/deps/v8/src/elements.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/elements.cc')
-rw-r--r--deps/v8/src/elements.cc13
1 files changed, 7 insertions, 6 deletions
diff --git a/deps/v8/src/elements.cc b/deps/v8/src/elements.cc
index 121f6fc2d9..d5acb6670f 100644
--- a/deps/v8/src/elements.cc
+++ b/deps/v8/src/elements.cc
@@ -187,7 +187,7 @@ static void CopyDictionaryToObjectElements(
: SKIP_WRITE_BARRIER;
Isolate* isolate = from->GetIsolate();
for (int i = 0; i < copy_size; i++) {
- int entry = from->FindEntry(i + from_start);
+ int entry = from->FindEntry(isolate, i + from_start);
if (entry != SeededNumberDictionary::kNotFound) {
Object* value = from->ValueAt(entry);
DCHECK(!value->IsTheHole(isolate));
@@ -417,8 +417,9 @@ static void CopyDictionaryToDoubleElements(FixedArrayBase* from_base,
if (to_start + copy_size > to_length) {
copy_size = to_length - to_start;
}
+ Isolate* isolate = from->GetIsolate();
for (int i = 0; i < copy_size; i++) {
- int entry = from->FindEntry(i + from_start);
+ int entry = from->FindEntry(isolate, i + from_start);
if (entry != SeededNumberDictionary::kNotFound) {
to->set(i + to_start, from->ValueAt(entry)->Number());
} else {
@@ -1628,7 +1629,7 @@ class DictionaryElementsAccessor
// Iterate through entire range, as accessing elements out of order is
// observable
for (uint32_t k = start_from; k < length; ++k) {
- int entry = dictionary->FindEntry(k);
+ int entry = dictionary->FindEntry(isolate, k);
if (entry == SeededNumberDictionary::kNotFound) {
if (search_for_hole) return Just(true);
continue;
@@ -1694,7 +1695,7 @@ class DictionaryElementsAccessor
// Iterate through entire range, as accessing elements out of order is
// observable.
for (uint32_t k = start_from; k < length; ++k) {
- int entry = dictionary->FindEntry(k);
+ int entry = dictionary->FindEntry(isolate, k);
if (entry == SeededNumberDictionary::kNotFound) {
continue;
}
@@ -2637,10 +2638,10 @@ class FastDoubleElementsAccessor
FixedArrayBase* elements_base = receiver->elements();
Object* value = *search_value;
- if (start_from >= length) return Just<int64_t>(-1);
-
length = std::min(static_cast<uint32_t>(elements_base->length()), length);
+ if (start_from >= length) return Just<int64_t>(-1);
+
if (!value->IsNumber()) {
return Just<int64_t>(-1);
}