| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 1659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1670 ExternalUnsignedIntArray::cast(this)->length()); | 1670 ExternalUnsignedIntArray::cast(this)->length()); |
| 1671 break; | 1671 break; |
| 1672 case EXTERNAL_FLOAT_ARRAY_TYPE: | 1672 case EXTERNAL_FLOAT_ARRAY_TYPE: |
| 1673 accumulator->Add("<ExternalFloatArray[%u]>", | 1673 accumulator->Add("<ExternalFloatArray[%u]>", |
| 1674 ExternalFloatArray::cast(this)->length()); | 1674 ExternalFloatArray::cast(this)->length()); |
| 1675 break; | 1675 break; |
| 1676 case EXTERNAL_DOUBLE_ARRAY_TYPE: | 1676 case EXTERNAL_DOUBLE_ARRAY_TYPE: |
| 1677 accumulator->Add("<ExternalDoubleArray[%u]>", | 1677 accumulator->Add("<ExternalDoubleArray[%u]>", |
| 1678 ExternalDoubleArray::cast(this)->length()); | 1678 ExternalDoubleArray::cast(this)->length()); |
| 1679 break; | 1679 break; |
| 1680 case FIXED_UINT8_ARRAY_TYPE: | |
| 1681 accumulator->Add("<FixedUint8Array[%u]>", | |
| 1682 FixedUint8Array::cast(this)->length()); | |
| 1683 break; | |
| 1684 case SHARED_FUNCTION_INFO_TYPE: { | 1680 case SHARED_FUNCTION_INFO_TYPE: { |
| 1685 SharedFunctionInfo* shared = SharedFunctionInfo::cast(this); | 1681 SharedFunctionInfo* shared = SharedFunctionInfo::cast(this); |
| 1686 SmartArrayPointer<char> debug_name = | 1682 SmartArrayPointer<char> debug_name = |
| 1687 shared->DebugName()->ToCString(); | 1683 shared->DebugName()->ToCString(); |
| 1688 if (debug_name[0] != 0) { | 1684 if (debug_name[0] != 0) { |
| 1689 accumulator->Add("<SharedFunctionInfo %s>", debug_name.get()); | 1685 accumulator->Add("<SharedFunctionInfo %s>", debug_name.get()); |
| 1690 } else { | 1686 } else { |
| 1691 accumulator->Add("<SharedFunctionInfo>"); | 1687 accumulator->Add("<SharedFunctionInfo>"); |
| 1692 } | 1688 } |
| 1693 break; | 1689 break; |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1863 case FREE_SPACE_TYPE: | 1859 case FREE_SPACE_TYPE: |
| 1864 case EXTERNAL_PIXEL_ARRAY_TYPE: | 1860 case EXTERNAL_PIXEL_ARRAY_TYPE: |
| 1865 case EXTERNAL_BYTE_ARRAY_TYPE: | 1861 case EXTERNAL_BYTE_ARRAY_TYPE: |
| 1866 case EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE: | 1862 case EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE: |
| 1867 case EXTERNAL_SHORT_ARRAY_TYPE: | 1863 case EXTERNAL_SHORT_ARRAY_TYPE: |
| 1868 case EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE: | 1864 case EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE: |
| 1869 case EXTERNAL_INT_ARRAY_TYPE: | 1865 case EXTERNAL_INT_ARRAY_TYPE: |
| 1870 case EXTERNAL_UNSIGNED_INT_ARRAY_TYPE: | 1866 case EXTERNAL_UNSIGNED_INT_ARRAY_TYPE: |
| 1871 case EXTERNAL_FLOAT_ARRAY_TYPE: | 1867 case EXTERNAL_FLOAT_ARRAY_TYPE: |
| 1872 case EXTERNAL_DOUBLE_ARRAY_TYPE: | 1868 case EXTERNAL_DOUBLE_ARRAY_TYPE: |
| 1873 case FIXED_INT8_ARRAY_TYPE: | |
| 1874 case FIXED_UINT8_ARRAY_TYPE: | |
| 1875 case FIXED_INT16_ARRAY_TYPE: | |
| 1876 case FIXED_UINT16_ARRAY_TYPE: | |
| 1877 case FIXED_INT32_ARRAY_TYPE: | |
| 1878 case FIXED_UINT32_ARRAY_TYPE: | |
| 1879 case FIXED_FLOAT32_ARRAY_TYPE: | |
| 1880 case FIXED_FLOAT64_ARRAY_TYPE: | |
| 1881 case FIXED_UINT8_CLAMPED_ARRAY_TYPE: | |
| 1882 break; | 1869 break; |
| 1883 case SHARED_FUNCTION_INFO_TYPE: { | 1870 case SHARED_FUNCTION_INFO_TYPE: { |
| 1884 SharedFunctionInfo::BodyDescriptor::IterateBody(this, v); | 1871 SharedFunctionInfo::BodyDescriptor::IterateBody(this, v); |
| 1885 break; | 1872 break; |
| 1886 } | 1873 } |
| 1887 | 1874 |
| 1888 #define MAKE_STRUCT_CASE(NAME, Name, name) \ | 1875 #define MAKE_STRUCT_CASE(NAME, Name, name) \ |
| 1889 case NAME##_TYPE: | 1876 case NAME##_TYPE: |
| 1890 STRUCT_LIST(MAKE_STRUCT_CASE) | 1877 STRUCT_LIST(MAKE_STRUCT_CASE) |
| 1891 #undef MAKE_STRUCT_CASE | 1878 #undef MAKE_STRUCT_CASE |
| (...skipping 3491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5383 case EXTERNAL_BYTE_ELEMENTS: | 5370 case EXTERNAL_BYTE_ELEMENTS: |
| 5384 case EXTERNAL_UNSIGNED_BYTE_ELEMENTS: | 5371 case EXTERNAL_UNSIGNED_BYTE_ELEMENTS: |
| 5385 case EXTERNAL_SHORT_ELEMENTS: | 5372 case EXTERNAL_SHORT_ELEMENTS: |
| 5386 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: | 5373 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: |
| 5387 case EXTERNAL_INT_ELEMENTS: | 5374 case EXTERNAL_INT_ELEMENTS: |
| 5388 case EXTERNAL_UNSIGNED_INT_ELEMENTS: | 5375 case EXTERNAL_UNSIGNED_INT_ELEMENTS: |
| 5389 case EXTERNAL_FLOAT_ELEMENTS: | 5376 case EXTERNAL_FLOAT_ELEMENTS: |
| 5390 case EXTERNAL_DOUBLE_ELEMENTS: | 5377 case EXTERNAL_DOUBLE_ELEMENTS: |
| 5391 case FAST_DOUBLE_ELEMENTS: | 5378 case FAST_DOUBLE_ELEMENTS: |
| 5392 case FAST_HOLEY_DOUBLE_ELEMENTS: | 5379 case FAST_HOLEY_DOUBLE_ELEMENTS: |
| 5393 case UINT8_ELEMENTS: | |
| 5394 case INT8_ELEMENTS: | |
| 5395 case UINT16_ELEMENTS: | |
| 5396 case INT16_ELEMENTS: | |
| 5397 case UINT32_ELEMENTS: | |
| 5398 case INT32_ELEMENTS: | |
| 5399 case FLOAT32_ELEMENTS: | |
| 5400 case FLOAT64_ELEMENTS: | |
| 5401 case UINT8_CLAMPED_ELEMENTS: | |
| 5402 // Raw pixels and external arrays do not reference other | 5380 // Raw pixels and external arrays do not reference other |
| 5403 // objects. | 5381 // objects. |
| 5404 break; | 5382 break; |
| 5405 case FAST_SMI_ELEMENTS: | 5383 case FAST_SMI_ELEMENTS: |
| 5406 case FAST_HOLEY_SMI_ELEMENTS: | 5384 case FAST_HOLEY_SMI_ELEMENTS: |
| 5407 break; | 5385 break; |
| 5408 case FAST_ELEMENTS: | 5386 case FAST_ELEMENTS: |
| 5409 case FAST_HOLEY_ELEMENTS: | 5387 case FAST_HOLEY_ELEMENTS: |
| 5410 case DICTIONARY_ELEMENTS: { | 5388 case DICTIONARY_ELEMENTS: { |
| 5411 FixedArray* elements = FixedArray::cast(this->elements()); | 5389 FixedArray* elements = FixedArray::cast(this->elements()); |
| (...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5884 case EXTERNAL_BYTE_ELEMENTS: | 5862 case EXTERNAL_BYTE_ELEMENTS: |
| 5885 case EXTERNAL_UNSIGNED_BYTE_ELEMENTS: | 5863 case EXTERNAL_UNSIGNED_BYTE_ELEMENTS: |
| 5886 case EXTERNAL_SHORT_ELEMENTS: | 5864 case EXTERNAL_SHORT_ELEMENTS: |
| 5887 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: | 5865 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: |
| 5888 case EXTERNAL_INT_ELEMENTS: | 5866 case EXTERNAL_INT_ELEMENTS: |
| 5889 case EXTERNAL_UNSIGNED_INT_ELEMENTS: | 5867 case EXTERNAL_UNSIGNED_INT_ELEMENTS: |
| 5890 case EXTERNAL_FLOAT_ELEMENTS: | 5868 case EXTERNAL_FLOAT_ELEMENTS: |
| 5891 case EXTERNAL_DOUBLE_ELEMENTS: | 5869 case EXTERNAL_DOUBLE_ELEMENTS: |
| 5892 case FAST_DOUBLE_ELEMENTS: | 5870 case FAST_DOUBLE_ELEMENTS: |
| 5893 case FAST_HOLEY_DOUBLE_ELEMENTS: | 5871 case FAST_HOLEY_DOUBLE_ELEMENTS: |
| 5894 case UINT8_ELEMENTS: | |
| 5895 case INT8_ELEMENTS: | |
| 5896 case UINT16_ELEMENTS: | |
| 5897 case INT16_ELEMENTS: | |
| 5898 case UINT32_ELEMENTS: | |
| 5899 case INT32_ELEMENTS: | |
| 5900 case FLOAT32_ELEMENTS: | |
| 5901 case FLOAT64_ELEMENTS: | |
| 5902 case UINT8_CLAMPED_ELEMENTS: | |
| 5903 // No contained objects, nothing to do. | 5872 // No contained objects, nothing to do. |
| 5904 break; | 5873 break; |
| 5905 } | 5874 } |
| 5906 } | 5875 } |
| 5907 | 5876 |
| 5908 return copy; | 5877 return copy; |
| 5909 } | 5878 } |
| 5910 | 5879 |
| 5911 | 5880 |
| 5912 Handle<JSObject> JSObject::DeepWalk( | 5881 Handle<JSObject> JSObject::DeepWalk( |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6130 break; | 6099 break; |
| 6131 case EXTERNAL_PIXEL_ELEMENTS: | 6100 case EXTERNAL_PIXEL_ELEMENTS: |
| 6132 case EXTERNAL_BYTE_ELEMENTS: | 6101 case EXTERNAL_BYTE_ELEMENTS: |
| 6133 case EXTERNAL_UNSIGNED_BYTE_ELEMENTS: | 6102 case EXTERNAL_UNSIGNED_BYTE_ELEMENTS: |
| 6134 case EXTERNAL_SHORT_ELEMENTS: | 6103 case EXTERNAL_SHORT_ELEMENTS: |
| 6135 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: | 6104 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: |
| 6136 case EXTERNAL_INT_ELEMENTS: | 6105 case EXTERNAL_INT_ELEMENTS: |
| 6137 case EXTERNAL_UNSIGNED_INT_ELEMENTS: | 6106 case EXTERNAL_UNSIGNED_INT_ELEMENTS: |
| 6138 case EXTERNAL_FLOAT_ELEMENTS: | 6107 case EXTERNAL_FLOAT_ELEMENTS: |
| 6139 case EXTERNAL_DOUBLE_ELEMENTS: | 6108 case EXTERNAL_DOUBLE_ELEMENTS: |
| 6140 case UINT8_ELEMENTS: | |
| 6141 case INT8_ELEMENTS: | |
| 6142 case UINT16_ELEMENTS: | |
| 6143 case INT16_ELEMENTS: | |
| 6144 case UINT32_ELEMENTS: | |
| 6145 case INT32_ELEMENTS: | |
| 6146 case FLOAT32_ELEMENTS: | |
| 6147 case FLOAT64_ELEMENTS: | |
| 6148 case UINT8_CLAMPED_ELEMENTS: | |
| 6149 // Ignore getters and setters on pixel and external array elements. | 6109 // Ignore getters and setters on pixel and external array elements. |
| 6150 return; | 6110 return; |
| 6151 case DICTIONARY_ELEMENTS: | 6111 case DICTIONARY_ELEMENTS: |
| 6152 if (UpdateGetterSetterInDictionary(object->element_dictionary(), | 6112 if (UpdateGetterSetterInDictionary(object->element_dictionary(), |
| 6153 index, | 6113 index, |
| 6154 *getter, | 6114 *getter, |
| 6155 *setter, | 6115 *setter, |
| 6156 attributes)) { | 6116 attributes)) { |
| 6157 return; | 6117 return; |
| 6158 } | 6118 } |
| (...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6597 break; | 6557 break; |
| 6598 case EXTERNAL_PIXEL_ELEMENTS: | 6558 case EXTERNAL_PIXEL_ELEMENTS: |
| 6599 case EXTERNAL_BYTE_ELEMENTS: | 6559 case EXTERNAL_BYTE_ELEMENTS: |
| 6600 case EXTERNAL_UNSIGNED_BYTE_ELEMENTS: | 6560 case EXTERNAL_UNSIGNED_BYTE_ELEMENTS: |
| 6601 case EXTERNAL_SHORT_ELEMENTS: | 6561 case EXTERNAL_SHORT_ELEMENTS: |
| 6602 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: | 6562 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: |
| 6603 case EXTERNAL_INT_ELEMENTS: | 6563 case EXTERNAL_INT_ELEMENTS: |
| 6604 case EXTERNAL_UNSIGNED_INT_ELEMENTS: | 6564 case EXTERNAL_UNSIGNED_INT_ELEMENTS: |
| 6605 case EXTERNAL_FLOAT_ELEMENTS: | 6565 case EXTERNAL_FLOAT_ELEMENTS: |
| 6606 case EXTERNAL_DOUBLE_ELEMENTS: | 6566 case EXTERNAL_DOUBLE_ELEMENTS: |
| 6607 case UINT8_ELEMENTS: | |
| 6608 case INT8_ELEMENTS: | |
| 6609 case UINT16_ELEMENTS: | |
| 6610 case INT16_ELEMENTS: | |
| 6611 case UINT32_ELEMENTS: | |
| 6612 case INT32_ELEMENTS: | |
| 6613 case FLOAT32_ELEMENTS: | |
| 6614 case FLOAT64_ELEMENTS: | |
| 6615 case UINT8_CLAMPED_ELEMENTS: | |
| 6616 // Ignore getters and setters on pixel and external array | 6567 // Ignore getters and setters on pixel and external array |
| 6617 // elements. | 6568 // elements. |
| 6618 return factory->undefined_value(); | 6569 return factory->undefined_value(); |
| 6619 case DICTIONARY_ELEMENTS: | 6570 case DICTIONARY_ELEMENTS: |
| 6620 break; | 6571 break; |
| 6621 case NON_STRICT_ARGUMENTS_ELEMENTS: | 6572 case NON_STRICT_ARGUMENTS_ELEMENTS: |
| 6622 UNIMPLEMENTED(); | 6573 UNIMPLEMENTED(); |
| 6623 break; | 6574 break; |
| 6624 } | 6575 } |
| 6625 | 6576 |
| (...skipping 6137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 12763 case EXTERNAL_FLOAT_ELEMENTS: { | 12714 case EXTERNAL_FLOAT_ELEMENTS: { |
| 12764 Handle<ExternalFloatArray> array( | 12715 Handle<ExternalFloatArray> array( |
| 12765 ExternalFloatArray::cast(object->elements())); | 12716 ExternalFloatArray::cast(object->elements())); |
| 12766 return ExternalFloatArray::SetValue(array, index, value); | 12717 return ExternalFloatArray::SetValue(array, index, value); |
| 12767 } | 12718 } |
| 12768 case EXTERNAL_DOUBLE_ELEMENTS: { | 12719 case EXTERNAL_DOUBLE_ELEMENTS: { |
| 12769 Handle<ExternalDoubleArray> array( | 12720 Handle<ExternalDoubleArray> array( |
| 12770 ExternalDoubleArray::cast(object->elements())); | 12721 ExternalDoubleArray::cast(object->elements())); |
| 12771 return ExternalDoubleArray::SetValue(array, index, value); | 12722 return ExternalDoubleArray::SetValue(array, index, value); |
| 12772 } | 12723 } |
| 12773 case UINT8_ELEMENTS: { | |
| 12774 Handle<FixedUint8Array> array( | |
| 12775 FixedUint8Array::cast(object->elements())); | |
| 12776 return FixedUint8Array::SetValue(array, index, value); | |
| 12777 } | |
| 12778 case UINT8_CLAMPED_ELEMENTS: { | |
| 12779 Handle<FixedUint8ClampedArray> array( | |
| 12780 FixedUint8ClampedArray::cast(object->elements())); | |
| 12781 return FixedUint8ClampedArray::SetValue(array, index, value); | |
| 12782 } | |
| 12783 case INT8_ELEMENTS: { | |
| 12784 Handle<FixedInt8Array> array( | |
| 12785 FixedInt8Array::cast(object->elements())); | |
| 12786 return FixedInt8Array::SetValue(array, index, value); | |
| 12787 } | |
| 12788 case UINT16_ELEMENTS: { | |
| 12789 Handle<FixedUint16Array> array( | |
| 12790 FixedUint16Array::cast(object->elements())); | |
| 12791 return FixedUint16Array::SetValue(array, index, value); | |
| 12792 } | |
| 12793 case INT16_ELEMENTS: { | |
| 12794 Handle<FixedInt16Array> array( | |
| 12795 FixedInt16Array::cast(object->elements())); | |
| 12796 return FixedInt16Array::SetValue(array, index, value); | |
| 12797 } | |
| 12798 case UINT32_ELEMENTS: { | |
| 12799 Handle<FixedUint32Array> array( | |
| 12800 FixedUint32Array::cast(object->elements())); | |
| 12801 return FixedUint32Array::SetValue(array, index, value); | |
| 12802 } | |
| 12803 case INT32_ELEMENTS: { | |
| 12804 Handle<FixedInt32Array> array( | |
| 12805 FixedInt32Array::cast(object->elements())); | |
| 12806 return FixedInt32Array::SetValue(array, index, value); | |
| 12807 } | |
| 12808 case FLOAT32_ELEMENTS: { | |
| 12809 Handle<FixedFloat32Array> array( | |
| 12810 FixedFloat32Array::cast(object->elements())); | |
| 12811 return FixedFloat32Array::SetValue(array, index, value); | |
| 12812 } | |
| 12813 case FLOAT64_ELEMENTS: { | |
| 12814 Handle<FixedFloat64Array> array( | |
| 12815 FixedFloat64Array::cast(object->elements())); | |
| 12816 return FixedFloat64Array::SetValue(array, index, value); | |
| 12817 } | |
| 12818 case DICTIONARY_ELEMENTS: | 12724 case DICTIONARY_ELEMENTS: |
| 12819 return SetDictionaryElement(object, index, value, attributes, strict_mode, | 12725 return SetDictionaryElement(object, index, value, attributes, strict_mode, |
| 12820 check_prototype, | 12726 check_prototype, |
| 12821 set_mode); | 12727 set_mode); |
| 12822 case NON_STRICT_ARGUMENTS_ELEMENTS: { | 12728 case NON_STRICT_ARGUMENTS_ELEMENTS: { |
| 12823 Handle<FixedArray> parameter_map(FixedArray::cast(object->elements())); | 12729 Handle<FixedArray> parameter_map(FixedArray::cast(object->elements())); |
| 12824 uint32_t length = parameter_map->length(); | 12730 uint32_t length = parameter_map->length(); |
| 12825 Handle<Object> probe = index < length - 2 ? | 12731 Handle<Object> probe = index < length - 2 ? |
| 12826 Handle<Object>(parameter_map->get(index + 2), isolate) : | 12732 Handle<Object>(parameter_map->get(index + 2), isolate) : |
| 12827 Handle<Object>(); | 12733 Handle<Object>(); |
| (...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13219 } | 13125 } |
| 13220 case EXTERNAL_BYTE_ELEMENTS: | 13126 case EXTERNAL_BYTE_ELEMENTS: |
| 13221 case EXTERNAL_UNSIGNED_BYTE_ELEMENTS: | 13127 case EXTERNAL_UNSIGNED_BYTE_ELEMENTS: |
| 13222 case EXTERNAL_SHORT_ELEMENTS: | 13128 case EXTERNAL_SHORT_ELEMENTS: |
| 13223 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: | 13129 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: |
| 13224 case EXTERNAL_INT_ELEMENTS: | 13130 case EXTERNAL_INT_ELEMENTS: |
| 13225 case EXTERNAL_UNSIGNED_INT_ELEMENTS: | 13131 case EXTERNAL_UNSIGNED_INT_ELEMENTS: |
| 13226 case EXTERNAL_FLOAT_ELEMENTS: | 13132 case EXTERNAL_FLOAT_ELEMENTS: |
| 13227 case EXTERNAL_DOUBLE_ELEMENTS: | 13133 case EXTERNAL_DOUBLE_ELEMENTS: |
| 13228 case EXTERNAL_PIXEL_ELEMENTS: | 13134 case EXTERNAL_PIXEL_ELEMENTS: |
| 13229 case UINT8_ELEMENTS: | |
| 13230 case INT8_ELEMENTS: | |
| 13231 case UINT16_ELEMENTS: | |
| 13232 case INT16_ELEMENTS: | |
| 13233 case UINT32_ELEMENTS: | |
| 13234 case INT32_ELEMENTS: | |
| 13235 case FLOAT32_ELEMENTS: | |
| 13236 case FLOAT64_ELEMENTS: | |
| 13237 case UINT8_CLAMPED_ELEMENTS: { | |
| 13238 // External arrays are considered 100% used. | 13135 // External arrays are considered 100% used. |
| 13239 FixedArrayBase* external_array = FixedArrayBase::cast(elements()); | 13136 ExternalArray* external_array = ExternalArray::cast(elements()); |
| 13240 *capacity = external_array->length(); | 13137 *capacity = external_array->length(); |
| 13241 *used = external_array->length(); | 13138 *used = external_array->length(); |
| 13242 break; | 13139 break; |
| 13243 } | |
| 13244 } | 13140 } |
| 13245 } | 13141 } |
| 13246 | 13142 |
| 13247 | 13143 |
| 13248 bool JSObject::ShouldConvertToSlowElements(int new_capacity) { | 13144 bool JSObject::ShouldConvertToSlowElements(int new_capacity) { |
| 13249 STATIC_ASSERT(kMaxUncheckedOldFastElementsLength <= | 13145 STATIC_ASSERT(kMaxUncheckedOldFastElementsLength <= |
| 13250 kMaxUncheckedFastElementsLength); | 13146 kMaxUncheckedFastElementsLength); |
| 13251 if (new_capacity <= kMaxUncheckedOldFastElementsLength || | 13147 if (new_capacity <= kMaxUncheckedOldFastElementsLength || |
| 13252 (new_capacity <= kMaxUncheckedFastElementsLength && | 13148 (new_capacity <= kMaxUncheckedFastElementsLength && |
| 13253 GetHeap()->InNewSpace(this))) { | 13149 GetHeap()->InNewSpace(this))) { |
| (...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13741 ASSERT(!storage || storage->length() >= counter); | 13637 ASSERT(!storage || storage->length() >= counter); |
| 13742 break; | 13638 break; |
| 13743 } | 13639 } |
| 13744 case EXTERNAL_BYTE_ELEMENTS: | 13640 case EXTERNAL_BYTE_ELEMENTS: |
| 13745 case EXTERNAL_UNSIGNED_BYTE_ELEMENTS: | 13641 case EXTERNAL_UNSIGNED_BYTE_ELEMENTS: |
| 13746 case EXTERNAL_SHORT_ELEMENTS: | 13642 case EXTERNAL_SHORT_ELEMENTS: |
| 13747 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: | 13643 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: |
| 13748 case EXTERNAL_INT_ELEMENTS: | 13644 case EXTERNAL_INT_ELEMENTS: |
| 13749 case EXTERNAL_UNSIGNED_INT_ELEMENTS: | 13645 case EXTERNAL_UNSIGNED_INT_ELEMENTS: |
| 13750 case EXTERNAL_FLOAT_ELEMENTS: | 13646 case EXTERNAL_FLOAT_ELEMENTS: |
| 13751 case EXTERNAL_DOUBLE_ELEMENTS: | 13647 case EXTERNAL_DOUBLE_ELEMENTS: { |
| 13752 case UINT8_ELEMENTS: | 13648 int length = ExternalArray::cast(elements())->length(); |
| 13753 case INT8_ELEMENTS: | |
| 13754 case UINT16_ELEMENTS: | |
| 13755 case INT16_ELEMENTS: | |
| 13756 case UINT32_ELEMENTS: | |
| 13757 case INT32_ELEMENTS: | |
| 13758 case FLOAT32_ELEMENTS: | |
| 13759 case FLOAT64_ELEMENTS: | |
| 13760 case UINT8_CLAMPED_ELEMENTS: { | |
| 13761 int length = FixedArrayBase::cast(elements())->length(); | |
| 13762 while (counter < length) { | 13649 while (counter < length) { |
| 13763 if (storage != NULL) { | 13650 if (storage != NULL) { |
| 13764 storage->set(counter, Smi::FromInt(counter)); | 13651 storage->set(counter, Smi::FromInt(counter)); |
| 13765 } | 13652 } |
| 13766 counter++; | 13653 counter++; |
| 13767 } | 13654 } |
| 13768 ASSERT(!storage || storage->length() >= counter); | 13655 ASSERT(!storage || storage->length() >= counter); |
| 13769 break; | 13656 break; |
| 13770 } | 13657 } |
| 13771 case DICTIONARY_ELEMENTS: { | 13658 case DICTIONARY_ELEMENTS: { |
| (...skipping 2988 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 16760 #define ERROR_MESSAGES_TEXTS(C, T) T, | 16647 #define ERROR_MESSAGES_TEXTS(C, T) T, |
| 16761 static const char* error_messages_[] = { | 16648 static const char* error_messages_[] = { |
| 16762 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) | 16649 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) |
| 16763 }; | 16650 }; |
| 16764 #undef ERROR_MESSAGES_TEXTS | 16651 #undef ERROR_MESSAGES_TEXTS |
| 16765 return error_messages_[reason]; | 16652 return error_messages_[reason]; |
| 16766 } | 16653 } |
| 16767 | 16654 |
| 16768 | 16655 |
| 16769 } } // namespace v8::internal | 16656 } } // namespace v8::internal |
| OLD | NEW |