| 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 #include "src/v8.h" | 5 #include "src/v8.h" |
| 6 | 6 |
| 7 #include "src/bootstrapper.h" | 7 #include "src/bootstrapper.h" |
| 8 #include "src/lookup.h" | 8 #include "src/lookup.h" |
| 9 #include "src/lookup-inl.h" | 9 #include "src/lookup-inl.h" |
| 10 | 10 |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 198 FieldIndex::ForDescriptor(*holder_map_, number_); | 198 FieldIndex::ForDescriptor(*holder_map_, number_); |
| 199 return JSObject::FastPropertyAt( | 199 return JSObject::FastPropertyAt( |
| 200 holder, property_details_.representation(), field_index); | 200 holder, property_details_.representation(), field_index); |
| 201 } | 201 } |
| 202 result = holder_map_->instance_descriptors()->GetValue(number_); | 202 result = holder_map_->instance_descriptors()->GetValue(number_); |
| 203 } | 203 } |
| 204 return handle(result, isolate_); | 204 return handle(result, isolate_); |
| 205 } | 205 } |
| 206 | 206 |
| 207 | 207 |
| 208 int LookupIterator::GetConstantIndex() const { |
| 209 DCHECK(has_property_); |
| 210 DCHECK_EQ(DESCRIPTOR, property_encoding_); |
| 211 DCHECK_EQ(v8::internal::CONSTANT, property_details_.type()); |
| 212 return descriptor_number(); |
| 213 } |
| 214 |
| 215 |
| 208 FieldIndex LookupIterator::GetFieldIndex() const { | 216 FieldIndex LookupIterator::GetFieldIndex() const { |
| 209 DCHECK_EQ(PROPERTY, state_); | 217 DCHECK(has_property_); |
| 218 DCHECK_EQ(DESCRIPTOR, property_encoding_); |
| 219 DCHECK_EQ(v8::internal::FIELD, property_details_.type()); |
| 210 int index = | 220 int index = |
| 211 holder_map()->instance_descriptors()->GetFieldIndex(descriptor_number()); | 221 holder_map()->instance_descriptors()->GetFieldIndex(descriptor_number()); |
| 212 bool is_double = representation().IsDouble(); | 222 bool is_double = representation().IsDouble(); |
| 213 return FieldIndex::ForPropertyIndex(*holder_map(), index, is_double); | 223 return FieldIndex::ForPropertyIndex(*holder_map(), index, is_double); |
| 214 } | 224 } |
| 215 | 225 |
| 216 | 226 |
| 217 Handle<PropertyCell> LookupIterator::GetPropertyCell() const { | 227 Handle<PropertyCell> LookupIterator::GetPropertyCell() const { |
| 218 Handle<JSObject> holder = GetHolder<JSObject>(); | 228 Handle<JSObject> holder = GetHolder<JSObject>(); |
| 219 Handle<GlobalObject> global = Handle<GlobalObject>::cast(holder); | 229 Handle<GlobalObject> global = Handle<GlobalObject>::cast(holder); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 DCHECK_EQ(v8::internal::CONSTANT, property_details_.type()); | 266 DCHECK_EQ(v8::internal::CONSTANT, property_details_.type()); |
| 257 } | 267 } |
| 258 } | 268 } |
| 259 | 269 |
| 260 | 270 |
| 261 void LookupIterator::InternalizeName() { | 271 void LookupIterator::InternalizeName() { |
| 262 if (name_->IsUniqueName()) return; | 272 if (name_->IsUniqueName()) return; |
| 263 name_ = factory()->InternalizeString(Handle<String>::cast(name_)); | 273 name_ = factory()->InternalizeString(Handle<String>::cast(name_)); |
| 264 } | 274 } |
| 265 } } // namespace v8::internal | 275 } } // namespace v8::internal |
| OLD | NEW |