| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef V8_LAYOUT_DESCRIPTOR_H_ | 5 #ifndef V8_LAYOUT_DESCRIPTOR_H_ |
| 6 #define V8_LAYOUT_DESCRIPTOR_H_ | 6 #define V8_LAYOUT_DESCRIPTOR_H_ |
| 7 | 7 |
| 8 #include <iosfwd> | 8 #include <iosfwd> |
| 9 | 9 |
| 10 #include "src/objects.h" | 10 #include "src/objects.h" |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 DescriptorArray* descriptors, int num_descriptors); | 117 DescriptorArray* descriptors, int num_descriptors); |
| 118 | 118 |
| 119 static Handle<LayoutDescriptor> EnsureCapacity( | 119 static Handle<LayoutDescriptor> EnsureCapacity( |
| 120 Isolate* isolate, Handle<LayoutDescriptor> layout_descriptor, | 120 Isolate* isolate, Handle<LayoutDescriptor> layout_descriptor, |
| 121 int new_capacity); | 121 int new_capacity); |
| 122 | 122 |
| 123 // Returns false if requested field_index is out of bounds. | 123 // Returns false if requested field_index is out of bounds. |
| 124 V8_INLINE bool GetIndexes(int field_index, int* layout_word_index, | 124 V8_INLINE bool GetIndexes(int field_index, int* layout_word_index, |
| 125 int* layout_bit_index); | 125 int* layout_bit_index); |
| 126 | 126 |
| 127 V8_INLINE MUST_USE_RESULT LayoutDescriptor* SetRawData(int field_index) { | 127 V8_INLINE MUST_USE_RESULT LayoutDescriptor* SetRawData(int field_index); |
| 128 return SetTagged(field_index, false); | |
| 129 } | |
| 130 | 128 |
| 131 V8_INLINE MUST_USE_RESULT LayoutDescriptor* SetTagged(int field_index, | 129 V8_INLINE MUST_USE_RESULT LayoutDescriptor* SetTagged(int field_index, |
| 132 bool tagged); | 130 bool tagged); |
| 133 }; | 131 }; |
| 134 | 132 |
| 135 | 133 |
| 136 // LayoutDescriptorHelper is a helper class for querying layout descriptor | 134 // LayoutDescriptorHelper is a helper class for querying layout descriptor |
| 137 // about whether the field at given offset is tagged or not. | 135 // about whether the field at given offset is tagged or not. |
| 138 class LayoutDescriptorHelper { | 136 class LayoutDescriptorHelper { |
| 139 public: | 137 public: |
| (...skipping 12 matching lines...) Expand all Loading... |
| 152 | 150 |
| 153 private: | 151 private: |
| 154 bool all_fields_tagged_; | 152 bool all_fields_tagged_; |
| 155 int header_size_; | 153 int header_size_; |
| 156 LayoutDescriptor* layout_descriptor_; | 154 LayoutDescriptor* layout_descriptor_; |
| 157 }; | 155 }; |
| 158 } | 156 } |
| 159 } // namespace v8::internal | 157 } // namespace v8::internal |
| 160 | 158 |
| 161 #endif // V8_LAYOUT_DESCRIPTOR_H_ | 159 #endif // V8_LAYOUT_DESCRIPTOR_H_ |
| OLD | NEW |