OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 // Review notes: | 5 // Review notes: |
6 // | 6 // |
7 // - The use of macros in these inline functions may seem superfluous | 7 // - The use of macros in these inline functions may seem superfluous |
8 // but it is absolutely needed to make sure gcc generates optimal | 8 // but it is absolutely needed to make sure gcc generates optimal |
9 // code. gcc is not happy when attempting to inline too deep. | 9 // code. gcc is not happy when attempting to inline too deep. |
10 // | 10 // |
(...skipping 6590 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6601 | 6601 |
6602 bool JSObject::HasFastStringWrapperElements() { | 6602 bool JSObject::HasFastStringWrapperElements() { |
6603 return GetElementsKind() == FAST_STRING_WRAPPER_ELEMENTS; | 6603 return GetElementsKind() == FAST_STRING_WRAPPER_ELEMENTS; |
6604 } | 6604 } |
6605 | 6605 |
6606 bool JSObject::HasSlowStringWrapperElements() { | 6606 bool JSObject::HasSlowStringWrapperElements() { |
6607 return GetElementsKind() == SLOW_STRING_WRAPPER_ELEMENTS; | 6607 return GetElementsKind() == SLOW_STRING_WRAPPER_ELEMENTS; |
6608 } | 6608 } |
6609 | 6609 |
6610 bool JSObject::HasFixedTypedArrayElements() { | 6610 bool JSObject::HasFixedTypedArrayElements() { |
6611 HeapObject* array = elements(); | 6611 DCHECK_NOT_NULL(elements()); |
6612 DCHECK(array != NULL); | 6612 return map()->has_fixed_typed_array_elements(); |
6613 return array->IsFixedTypedArrayBase(); | |
6614 } | 6613 } |
6615 | 6614 |
6616 #define FIXED_TYPED_ELEMENTS_CHECK(Type, type, TYPE, ctype, size) \ | 6615 #define FIXED_TYPED_ELEMENTS_CHECK(Type, type, TYPE, ctype, size) \ |
6617 bool JSObject::HasFixed##Type##Elements() { \ | 6616 bool JSObject::HasFixed##Type##Elements() { \ |
6618 HeapObject* array = elements(); \ | 6617 HeapObject* array = elements(); \ |
6619 DCHECK(array != NULL); \ | 6618 DCHECK(array != NULL); \ |
6620 if (!array->IsHeapObject()) return false; \ | 6619 if (!array->IsHeapObject()) return false; \ |
6621 return array->map()->instance_type() == FIXED_##TYPE##_ARRAY_TYPE; \ | 6620 return array->map()->instance_type() == FIXED_##TYPE##_ARRAY_TYPE; \ |
6622 } | 6621 } |
6623 | 6622 |
(...skipping 1061 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7685 #undef WRITE_INT64_FIELD | 7684 #undef WRITE_INT64_FIELD |
7686 #undef READ_BYTE_FIELD | 7685 #undef READ_BYTE_FIELD |
7687 #undef WRITE_BYTE_FIELD | 7686 #undef WRITE_BYTE_FIELD |
7688 #undef NOBARRIER_READ_BYTE_FIELD | 7687 #undef NOBARRIER_READ_BYTE_FIELD |
7689 #undef NOBARRIER_WRITE_BYTE_FIELD | 7688 #undef NOBARRIER_WRITE_BYTE_FIELD |
7690 | 7689 |
7691 } // namespace internal | 7690 } // namespace internal |
7692 } // namespace v8 | 7691 } // namespace v8 |
7693 | 7692 |
7694 #endif // V8_OBJECTS_INL_H_ | 7693 #endif // V8_OBJECTS_INL_H_ |
OLD | NEW |