Chromium Code Reviews| Index: src/property.h |
| diff --git a/src/property.h b/src/property.h |
| index 53c344191ae66ce5d38615ab6c75660c93d21450..f87ae0c381a42907bb02696f8888d423c7984759 100644 |
| --- a/src/property.h |
| +++ b/src/property.h |
| @@ -337,11 +337,9 @@ class LookupResult BASE_EMBEDDED { |
| } |
| int GetLocalFieldIndexFromMap(Map* map) { |
| - ASSERT(lookup_type_ == DESCRIPTOR_TYPE); |
| ASSERT(IsField()); |
| - return Descriptor::IndexFromValue( |
| - map->instance_descriptors()->GetValue(number_)) - |
| - map->inobject_properties(); |
| + return Descriptor::IndexFromValue(GetValueFromMap(map)) |
| + - map->inobject_properties(); |
|
Jakob Kummerow
2012/07/06 08:04:58
nit: when breaking lines, we usually put the opera
|
| } |
| int GetDictionaryEntry() { |
| @@ -355,9 +353,8 @@ class LookupResult BASE_EMBEDDED { |
| } |
| JSFunction* GetConstantFunctionFromMap(Map* map) { |
| - ASSERT(lookup_type_ == DESCRIPTOR_TYPE); |
| ASSERT(type() == CONSTANT_FUNCTION); |
| - return JSFunction::cast(map->instance_descriptors()->GetValue(number_)); |
| + return JSFunction::cast(GetValueFromMap(map)); |
| } |
| Object* GetCallbackObject() { |
| @@ -377,14 +374,18 @@ class LookupResult BASE_EMBEDDED { |
| Object* GetValue() { |
| if (lookup_type_ == DESCRIPTOR_TYPE) { |
| - DescriptorArray* descriptors = holder()->map()->instance_descriptors(); |
| - return descriptors->GetValue(number_); |
| + return GetValueFromMap(holder()->map()); |
| } |
| // In the dictionary case, the data is held in the value field. |
| ASSERT(lookup_type_ == DICTIONARY_TYPE); |
| return holder()->GetNormalizedProperty(this); |
| } |
| + Object* GetValueFromMap(Map* map) const { |
| + ASSERT(lookup_type_ == DESCRIPTOR_TYPE); |
| + return map->instance_descriptors()->GetValue(number_); |
| + } |
| + |
| void Iterate(ObjectVisitor* visitor); |
| private: |