| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 } | 399 } |
| 400 | 400 |
| 401 | 401 |
| 402 bool Object::IsExternalFloatArray() { | 402 bool Object::IsExternalFloatArray() { |
| 403 return Object::IsHeapObject() && | 403 return Object::IsHeapObject() && |
| 404 HeapObject::cast(this)->map()->instance_type() == | 404 HeapObject::cast(this)->map()->instance_type() == |
| 405 EXTERNAL_FLOAT_ARRAY_TYPE; | 405 EXTERNAL_FLOAT_ARRAY_TYPE; |
| 406 } | 406 } |
| 407 | 407 |
| 408 | 408 |
| 409 bool Object::IsExternalDoubleArray() { |
| 410 return Object::IsHeapObject() && |
| 411 HeapObject::cast(this)->map()->instance_type() == |
| 412 EXTERNAL_DOUBLE_ARRAY_TYPE; |
| 413 } |
| 414 |
| 415 |
| 409 bool MaybeObject::IsFailure() { | 416 bool MaybeObject::IsFailure() { |
| 410 return HAS_FAILURE_TAG(this); | 417 return HAS_FAILURE_TAG(this); |
| 411 } | 418 } |
| 412 | 419 |
| 413 | 420 |
| 414 bool MaybeObject::IsRetryAfterGC() { | 421 bool MaybeObject::IsRetryAfterGC() { |
| 415 return HAS_FAILURE_TAG(this) | 422 return HAS_FAILURE_TAG(this) |
| 416 && Failure::cast(this)->type() == Failure::RETRY_AFTER_GC; | 423 && Failure::cast(this)->type() == Failure::RETRY_AFTER_GC; |
| 417 } | 424 } |
| 418 | 425 |
| (...skipping 1475 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1894 CAST_ACCESSOR(Proxy) | 1901 CAST_ACCESSOR(Proxy) |
| 1895 CAST_ACCESSOR(ByteArray) | 1902 CAST_ACCESSOR(ByteArray) |
| 1896 CAST_ACCESSOR(ExternalArray) | 1903 CAST_ACCESSOR(ExternalArray) |
| 1897 CAST_ACCESSOR(ExternalByteArray) | 1904 CAST_ACCESSOR(ExternalByteArray) |
| 1898 CAST_ACCESSOR(ExternalUnsignedByteArray) | 1905 CAST_ACCESSOR(ExternalUnsignedByteArray) |
| 1899 CAST_ACCESSOR(ExternalShortArray) | 1906 CAST_ACCESSOR(ExternalShortArray) |
| 1900 CAST_ACCESSOR(ExternalUnsignedShortArray) | 1907 CAST_ACCESSOR(ExternalUnsignedShortArray) |
| 1901 CAST_ACCESSOR(ExternalIntArray) | 1908 CAST_ACCESSOR(ExternalIntArray) |
| 1902 CAST_ACCESSOR(ExternalUnsignedIntArray) | 1909 CAST_ACCESSOR(ExternalUnsignedIntArray) |
| 1903 CAST_ACCESSOR(ExternalFloatArray) | 1910 CAST_ACCESSOR(ExternalFloatArray) |
| 1911 CAST_ACCESSOR(ExternalDoubleArray) |
| 1904 CAST_ACCESSOR(ExternalPixelArray) | 1912 CAST_ACCESSOR(ExternalPixelArray) |
| 1905 CAST_ACCESSOR(Struct) | 1913 CAST_ACCESSOR(Struct) |
| 1906 | 1914 |
| 1907 | 1915 |
| 1908 #define MAKE_STRUCT_CAST(NAME, Name, name) CAST_ACCESSOR(Name) | 1916 #define MAKE_STRUCT_CAST(NAME, Name, name) CAST_ACCESSOR(Name) |
| 1909 STRUCT_LIST(MAKE_STRUCT_CAST) | 1917 STRUCT_LIST(MAKE_STRUCT_CAST) |
| 1910 #undef MAKE_STRUCT_CAST | 1918 #undef MAKE_STRUCT_CAST |
| 1911 | 1919 |
| 1912 | 1920 |
| 1913 template <typename Shape, typename Key> | 1921 template <typename Shape, typename Key> |
| (...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2308 } | 2316 } |
| 2309 | 2317 |
| 2310 | 2318 |
| 2311 void ExternalFloatArray::set(int index, float value) { | 2319 void ExternalFloatArray::set(int index, float value) { |
| 2312 ASSERT((index >= 0) && (index < this->length())); | 2320 ASSERT((index >= 0) && (index < this->length())); |
| 2313 float* ptr = static_cast<float*>(external_pointer()); | 2321 float* ptr = static_cast<float*>(external_pointer()); |
| 2314 ptr[index] = value; | 2322 ptr[index] = value; |
| 2315 } | 2323 } |
| 2316 | 2324 |
| 2317 | 2325 |
| 2326 double ExternalDoubleArray::get(int index) { |
| 2327 ASSERT((index >= 0) && (index < this->length())); |
| 2328 double* ptr = static_cast<double*>(external_pointer()); |
| 2329 return ptr[index]; |
| 2330 } |
| 2331 |
| 2332 |
| 2333 void ExternalDoubleArray::set(int index, double value) { |
| 2334 ASSERT((index >= 0) && (index < this->length())); |
| 2335 double* ptr = static_cast<double*>(external_pointer()); |
| 2336 ptr[index] = value; |
| 2337 } |
| 2338 |
| 2339 |
| 2318 int Map::visitor_id() { | 2340 int Map::visitor_id() { |
| 2319 return READ_BYTE_FIELD(this, kVisitorIdOffset); | 2341 return READ_BYTE_FIELD(this, kVisitorIdOffset); |
| 2320 } | 2342 } |
| 2321 | 2343 |
| 2322 | 2344 |
| 2323 void Map::set_visitor_id(int id) { | 2345 void Map::set_visitor_id(int id) { |
| 2324 ASSERT(0 <= id && id < 256); | 2346 ASSERT(0 <= id && id < 256); |
| 2325 WRITE_BYTE_FIELD(this, kVisitorIdOffset, static_cast<byte>(id)); | 2347 WRITE_BYTE_FIELD(this, kVisitorIdOffset, static_cast<byte>(id)); |
| 2326 } | 2348 } |
| 2327 | 2349 |
| (...skipping 1303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3631 case EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE: | 3653 case EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE: |
| 3632 return EXTERNAL_UNSIGNED_BYTE_ELEMENTS; | 3654 return EXTERNAL_UNSIGNED_BYTE_ELEMENTS; |
| 3633 case EXTERNAL_SHORT_ARRAY_TYPE: | 3655 case EXTERNAL_SHORT_ARRAY_TYPE: |
| 3634 return EXTERNAL_SHORT_ELEMENTS; | 3656 return EXTERNAL_SHORT_ELEMENTS; |
| 3635 case EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE: | 3657 case EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE: |
| 3636 return EXTERNAL_UNSIGNED_SHORT_ELEMENTS; | 3658 return EXTERNAL_UNSIGNED_SHORT_ELEMENTS; |
| 3637 case EXTERNAL_INT_ARRAY_TYPE: | 3659 case EXTERNAL_INT_ARRAY_TYPE: |
| 3638 return EXTERNAL_INT_ELEMENTS; | 3660 return EXTERNAL_INT_ELEMENTS; |
| 3639 case EXTERNAL_UNSIGNED_INT_ARRAY_TYPE: | 3661 case EXTERNAL_UNSIGNED_INT_ARRAY_TYPE: |
| 3640 return EXTERNAL_UNSIGNED_INT_ELEMENTS; | 3662 return EXTERNAL_UNSIGNED_INT_ELEMENTS; |
| 3663 case EXTERNAL_FLOAT_ARRAY_TYPE: |
| 3664 return EXTERNAL_FLOAT_ELEMENTS; |
| 3665 case EXTERNAL_DOUBLE_ARRAY_TYPE: |
| 3666 return EXTERNAL_DOUBLE_ELEMENTS; |
| 3641 case EXTERNAL_PIXEL_ARRAY_TYPE: | 3667 case EXTERNAL_PIXEL_ARRAY_TYPE: |
| 3642 return EXTERNAL_PIXEL_ELEMENTS; | 3668 return EXTERNAL_PIXEL_ELEMENTS; |
| 3643 default: | 3669 default: |
| 3644 break; | 3670 break; |
| 3645 } | 3671 } |
| 3646 } | 3672 } |
| 3647 ASSERT(array->map()->instance_type() == EXTERNAL_FLOAT_ARRAY_TYPE); | 3673 UNREACHABLE(); |
| 3648 return EXTERNAL_FLOAT_ELEMENTS; | 3674 return DICTIONARY_ELEMENTS; |
| 3649 } | 3675 } |
| 3650 | 3676 |
| 3651 | 3677 |
| 3652 bool JSObject::HasFastElements() { | 3678 bool JSObject::HasFastElements() { |
| 3653 return GetElementsKind() == FAST_ELEMENTS; | 3679 return GetElementsKind() == FAST_ELEMENTS; |
| 3654 } | 3680 } |
| 3655 | 3681 |
| 3656 | 3682 |
| 3657 bool JSObject::HasDictionaryElements() { | 3683 bool JSObject::HasDictionaryElements() { |
| 3658 return GetElementsKind() == DICTIONARY_ELEMENTS; | 3684 return GetElementsKind() == DICTIONARY_ELEMENTS; |
| (...skipping 20 matching lines...) Expand all Loading... |
| 3679 EXTERNAL_ELEMENTS_CHECK(Byte, EXTERNAL_BYTE_ARRAY_TYPE) | 3705 EXTERNAL_ELEMENTS_CHECK(Byte, EXTERNAL_BYTE_ARRAY_TYPE) |
| 3680 EXTERNAL_ELEMENTS_CHECK(UnsignedByte, EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE) | 3706 EXTERNAL_ELEMENTS_CHECK(UnsignedByte, EXTERNAL_UNSIGNED_BYTE_ARRAY_TYPE) |
| 3681 EXTERNAL_ELEMENTS_CHECK(Short, EXTERNAL_SHORT_ARRAY_TYPE) | 3707 EXTERNAL_ELEMENTS_CHECK(Short, EXTERNAL_SHORT_ARRAY_TYPE) |
| 3682 EXTERNAL_ELEMENTS_CHECK(UnsignedShort, | 3708 EXTERNAL_ELEMENTS_CHECK(UnsignedShort, |
| 3683 EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE) | 3709 EXTERNAL_UNSIGNED_SHORT_ARRAY_TYPE) |
| 3684 EXTERNAL_ELEMENTS_CHECK(Int, EXTERNAL_INT_ARRAY_TYPE) | 3710 EXTERNAL_ELEMENTS_CHECK(Int, EXTERNAL_INT_ARRAY_TYPE) |
| 3685 EXTERNAL_ELEMENTS_CHECK(UnsignedInt, | 3711 EXTERNAL_ELEMENTS_CHECK(UnsignedInt, |
| 3686 EXTERNAL_UNSIGNED_INT_ARRAY_TYPE) | 3712 EXTERNAL_UNSIGNED_INT_ARRAY_TYPE) |
| 3687 EXTERNAL_ELEMENTS_CHECK(Float, | 3713 EXTERNAL_ELEMENTS_CHECK(Float, |
| 3688 EXTERNAL_FLOAT_ARRAY_TYPE) | 3714 EXTERNAL_FLOAT_ARRAY_TYPE) |
| 3715 EXTERNAL_ELEMENTS_CHECK(Double, |
| 3716 EXTERNAL_DOUBLE_ARRAY_TYPE) |
| 3689 EXTERNAL_ELEMENTS_CHECK(Pixel, EXTERNAL_PIXEL_ARRAY_TYPE) | 3717 EXTERNAL_ELEMENTS_CHECK(Pixel, EXTERNAL_PIXEL_ARRAY_TYPE) |
| 3690 | 3718 |
| 3691 | 3719 |
| 3692 bool JSObject::HasNamedInterceptor() { | 3720 bool JSObject::HasNamedInterceptor() { |
| 3693 return map()->has_named_interceptor(); | 3721 return map()->has_named_interceptor(); |
| 3694 } | 3722 } |
| 3695 | 3723 |
| 3696 | 3724 |
| 3697 bool JSObject::HasIndexedInterceptor() { | 3725 bool JSObject::HasIndexedInterceptor() { |
| 3698 return map()->has_indexed_interceptor(); | 3726 return map()->has_indexed_interceptor(); |
| (...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4157 #undef WRITE_INT_FIELD | 4185 #undef WRITE_INT_FIELD |
| 4158 #undef READ_SHORT_FIELD | 4186 #undef READ_SHORT_FIELD |
| 4159 #undef WRITE_SHORT_FIELD | 4187 #undef WRITE_SHORT_FIELD |
| 4160 #undef READ_BYTE_FIELD | 4188 #undef READ_BYTE_FIELD |
| 4161 #undef WRITE_BYTE_FIELD | 4189 #undef WRITE_BYTE_FIELD |
| 4162 | 4190 |
| 4163 | 4191 |
| 4164 } } // namespace v8::internal | 4192 } } // namespace v8::internal |
| 4165 | 4193 |
| 4166 #endif // V8_OBJECTS_INL_H_ | 4194 #endif // V8_OBJECTS_INL_H_ |
| OLD | NEW |