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_FIELD_INDEX_INL_H_ | 5 #ifndef V8_FIELD_INDEX_INL_H_ |
6 #define V8_FIELD_INDEX_INL_H_ | 6 #define V8_FIELD_INDEX_INL_H_ |
7 | 7 |
8 #include "src/field-index.h" | 8 #include "src/field-index.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 result = -result - 1; | 82 result = -result - 1; |
83 } | 83 } |
84 result <<= 1; | 84 result <<= 1; |
85 return is_double() ? (result | 1) : result; | 85 return is_double() ? (result | 1) : result; |
86 } | 86 } |
87 | 87 |
88 | 88 |
89 inline FieldIndex FieldIndex::ForDescriptor(Map* map, int descriptor_index) { | 89 inline FieldIndex FieldIndex::ForDescriptor(Map* map, int descriptor_index) { |
90 PropertyDetails details = | 90 PropertyDetails details = |
91 map->instance_descriptors()->GetDetails(descriptor_index); | 91 map->instance_descriptors()->GetDetails(descriptor_index); |
92 int field_index = details.field_index(); | 92 int field_index = |
| 93 map->instance_descriptors()->GetFieldIndex(descriptor_index); |
93 return ForPropertyIndex(map, field_index, | 94 return ForPropertyIndex(map, field_index, |
94 details.representation().IsDouble()); | 95 details.representation().IsDouble()); |
95 } | 96 } |
96 | 97 |
97 | 98 |
98 inline FieldIndex FieldIndex::ForKeyedLookupCacheIndex(Map* map, int index) { | 99 inline FieldIndex FieldIndex::ForKeyedLookupCacheIndex(Map* map, int index) { |
99 if (FLAG_compiled_keyed_generic_loads) { | 100 if (FLAG_compiled_keyed_generic_loads) { |
100 return ForLoadByFieldIndex(map, index); | 101 return ForLoadByFieldIndex(map, index); |
101 } else { | 102 } else { |
102 return ForPropertyIndex(map, index); | 103 return ForPropertyIndex(map, index); |
(...skipping 11 matching lines...) Expand all Loading... |
114 return GetLoadByFieldIndex(); | 115 return GetLoadByFieldIndex(); |
115 } else { | 116 } else { |
116 return property_index(); | 117 return property_index(); |
117 } | 118 } |
118 } | 119 } |
119 | 120 |
120 | 121 |
121 } } // namespace v8::internal | 122 } } // namespace v8::internal |
122 | 123 |
123 #endif | 124 #endif |
OLD | NEW |