| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/objects.h" | 5 #include "src/objects.h" |
| 6 | 6 |
| 7 #include <cmath> | 7 #include <cmath> |
| 8 #include <iomanip> | 8 #include <iomanip> |
| 9 #include <sstream> | 9 #include <sstream> |
| 10 | 10 |
| (...skipping 8512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8523 for (int i = 0; i < len; i++) { | 8523 for (int i = 0; i < len; i++) { |
| 8524 Object* e = array->get(i); | 8524 Object* e = array->get(i); |
| 8525 if (!(e->IsName() || e->IsNumber())) return false; | 8525 if (!(e->IsName() || e->IsNumber())) return false; |
| 8526 } | 8526 } |
| 8527 return true; | 8527 return true; |
| 8528 } | 8528 } |
| 8529 | 8529 |
| 8530 | 8530 |
| 8531 static Handle<FixedArray> ReduceFixedArrayTo( | 8531 static Handle<FixedArray> ReduceFixedArrayTo( |
| 8532 Handle<FixedArray> array, int length) { | 8532 Handle<FixedArray> array, int length) { |
| 8533 DCHECK(array->length() >= length); | 8533 DCHECK_LE(length, array->length()); |
| 8534 if (array->length() == length) return array; | 8534 if (array->length() == length) return array; |
| 8535 | 8535 return array->GetIsolate()->factory()->CopyFixedArrayUpTo(array, length); |
| 8536 Handle<FixedArray> new_array = | |
| 8537 array->GetIsolate()->factory()->NewFixedArray(length); | |
| 8538 for (int i = 0; i < length; ++i) new_array->set(i, array->get(i)); | |
| 8539 return new_array; | |
| 8540 } | 8536 } |
| 8541 | 8537 |
| 8542 bool Map::OnlyHasSimpleProperties() { | 8538 bool Map::OnlyHasSimpleProperties() { |
| 8543 // Wrapped string elements aren't explicitly stored in the elements backing | 8539 // Wrapped string elements aren't explicitly stored in the elements backing |
| 8544 // store, but are loaded indirectly from the underlying string. | 8540 // store, but are loaded indirectly from the underlying string. |
| 8545 return !IsStringWrapperElementsKind(elements_kind()) && | 8541 return !IsStringWrapperElementsKind(elements_kind()) && |
| 8546 !is_access_check_needed() && !has_named_interceptor() && | 8542 !is_access_check_needed() && !has_named_interceptor() && |
| 8547 !has_indexed_interceptor() && !has_hidden_prototype() && | 8543 !has_indexed_interceptor() && !has_hidden_prototype() && |
| 8548 !is_dictionary_map(); | 8544 !is_dictionary_map(); |
| 8549 } | 8545 } |
| (...skipping 11425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 19975 if (cell->value() != *new_value) { | 19971 if (cell->value() != *new_value) { |
| 19976 cell->set_value(*new_value); | 19972 cell->set_value(*new_value); |
| 19977 Isolate* isolate = cell->GetIsolate(); | 19973 Isolate* isolate = cell->GetIsolate(); |
| 19978 cell->dependent_code()->DeoptimizeDependentCodeGroup( | 19974 cell->dependent_code()->DeoptimizeDependentCodeGroup( |
| 19979 isolate, DependentCode::kPropertyCellChangedGroup); | 19975 isolate, DependentCode::kPropertyCellChangedGroup); |
| 19980 } | 19976 } |
| 19981 } | 19977 } |
| 19982 | 19978 |
| 19983 } // namespace internal | 19979 } // namespace internal |
| 19984 } // namespace v8 | 19980 } // namespace v8 |
| OLD | NEW |