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 #ifndef V8_TRANSITIONS_INL_H_ | 5 #ifndef V8_TRANSITIONS_INL_H_ |
6 #define V8_TRANSITIONS_INL_H_ | 6 #define V8_TRANSITIONS_INL_H_ |
7 | 7 |
8 #include "src/transitions.h" | 8 #include "src/transitions.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 PropertyDetails TransitionArray::GetTargetDetails(Name* name, Map* target) { | 151 PropertyDetails TransitionArray::GetTargetDetails(Name* name, Map* target) { |
152 DCHECK(!IsSpecialTransition(name)); | 152 DCHECK(!IsSpecialTransition(name)); |
153 int descriptor = target->LastAdded(); | 153 int descriptor = target->LastAdded(); |
154 DescriptorArray* descriptors = target->instance_descriptors(); | 154 DescriptorArray* descriptors = target->instance_descriptors(); |
155 // Transitions are allowed only for the last added property. | 155 // Transitions are allowed only for the last added property. |
156 DCHECK(descriptors->GetKey(descriptor)->Equals(name)); | 156 DCHECK(descriptors->GetKey(descriptor)->Equals(name)); |
157 return descriptors->GetDetails(descriptor); | 157 return descriptors->GetDetails(descriptor); |
158 } | 158 } |
159 | 159 |
160 | 160 |
161 void TransitionArray::NoIncrementalWriteBarrierSet(int transition_number, | 161 void TransitionArray::Set(int transition_number, Name* key, Map* target) { |
162 Name* key, | 162 set(ToKeyIndex(transition_number), key); |
163 Map* target) { | 163 set(ToTargetIndex(transition_number), target); |
164 FixedArray::NoIncrementalWriteBarrierSet( | |
165 this, ToKeyIndex(transition_number), key); | |
166 FixedArray::NoIncrementalWriteBarrierSet( | |
167 this, ToTargetIndex(transition_number), target); | |
168 } | 164 } |
169 | 165 |
170 | 166 |
171 void TransitionArray::SetNumberOfTransitions(int number_of_transitions) { | 167 void TransitionArray::SetNumberOfTransitions(int number_of_transitions) { |
172 DCHECK(number_of_transitions <= Capacity(this)); | 168 DCHECK(number_of_transitions <= Capacity(this)); |
173 set(kTransitionLengthIndex, Smi::FromInt(number_of_transitions)); | 169 set(kTransitionLengthIndex, Smi::FromInt(number_of_transitions)); |
174 } | 170 } |
175 | 171 |
176 } // namespace internal | 172 } // namespace internal |
177 } // namespace v8 | 173 } // namespace v8 |
178 | 174 |
179 #endif // V8_TRANSITIONS_INL_H_ | 175 #endif // V8_TRANSITIONS_INL_H_ |
OLD | NEW |