| 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 |