| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 10489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10500 | 10500 |
| 10501 Handle<DescriptorArray> DescriptorArray::Allocate(Isolate* isolate, | 10501 Handle<DescriptorArray> DescriptorArray::Allocate(Isolate* isolate, |
| 10502 int number_of_descriptors, | 10502 int number_of_descriptors, |
| 10503 int slack) { | 10503 int slack) { |
| 10504 DCHECK(0 <= number_of_descriptors); | 10504 DCHECK(0 <= number_of_descriptors); |
| 10505 Factory* factory = isolate->factory(); | 10505 Factory* factory = isolate->factory(); |
| 10506 // Do not use DescriptorArray::cast on incomplete object. | 10506 // Do not use DescriptorArray::cast on incomplete object. |
| 10507 int size = number_of_descriptors + slack; | 10507 int size = number_of_descriptors + slack; |
| 10508 if (size == 0) return factory->empty_descriptor_array(); | 10508 if (size == 0) return factory->empty_descriptor_array(); |
| 10509 // Allocate the array of keys. | 10509 // Allocate the array of keys. |
| 10510 Handle<FixedArray> result = factory->NewFixedArray(LengthFor(size)); | 10510 Handle<FixedArray> result = factory->NewFixedArray(LengthFor(size), TENURED); |
| 10511 | 10511 |
| 10512 result->set(kDescriptorLengthIndex, Smi::FromInt(number_of_descriptors)); | 10512 result->set(kDescriptorLengthIndex, Smi::FromInt(number_of_descriptors)); |
| 10513 result->set(kEnumCacheIndex, Smi::FromInt(0)); | 10513 result->set(kEnumCacheIndex, Smi::FromInt(0)); |
| 10514 return Handle<DescriptorArray>::cast(result); | 10514 return Handle<DescriptorArray>::cast(result); |
| 10515 } | 10515 } |
| 10516 | 10516 |
| 10517 | 10517 |
| 10518 void DescriptorArray::ClearEnumCache() { | 10518 void DescriptorArray::ClearEnumCache() { |
| 10519 set(kEnumCacheIndex, Smi::FromInt(0)); | 10519 set(kEnumCacheIndex, Smi::FromInt(0)); |
| 10520 } | 10520 } |
| (...skipping 8791 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 19312 if (cell->value() != *new_value) { | 19312 if (cell->value() != *new_value) { |
| 19313 cell->set_value(*new_value); | 19313 cell->set_value(*new_value); |
| 19314 Isolate* isolate = cell->GetIsolate(); | 19314 Isolate* isolate = cell->GetIsolate(); |
| 19315 cell->dependent_code()->DeoptimizeDependentCodeGroup( | 19315 cell->dependent_code()->DeoptimizeDependentCodeGroup( |
| 19316 isolate, DependentCode::kPropertyCellChangedGroup); | 19316 isolate, DependentCode::kPropertyCellChangedGroup); |
| 19317 } | 19317 } |
| 19318 } | 19318 } |
| 19319 | 19319 |
| 19320 } // namespace internal | 19320 } // namespace internal |
| 19321 } // namespace v8 | 19321 } // namespace v8 |
| OLD | NEW |