| Index: src/property.h
|
| diff --git a/src/property.h b/src/property.h
|
| index 9ca823e7e585b4a2aa5acdfee26b222a125afbfc..ae943a0e3844cd2d10bff579b8d325e2d7aa7d7c 100644
|
| --- a/src/property.h
|
| +++ b/src/property.h
|
| @@ -266,12 +266,26 @@ class LookupResult BASE_EMBEDDED {
|
| return Map::cast(GetValue());
|
| }
|
|
|
| + Map* GetTransitionMapFromMap(Map* map) {
|
| + ASSERT(lookup_type_ == DESCRIPTOR_TYPE);
|
| + ASSERT(type() == MAP_TRANSITION);
|
| + return Map::cast(map->instance_descriptors()->GetValue(number_));
|
| + }
|
| +
|
| int GetFieldIndex() {
|
| ASSERT(lookup_type_ == DESCRIPTOR_TYPE);
|
| ASSERT(type() == FIELD);
|
| return Descriptor::IndexFromValue(GetValue());
|
| }
|
|
|
| + int GetLocalFieldIndexFromMap(Map* map) {
|
| + ASSERT(lookup_type_ == DESCRIPTOR_TYPE);
|
| + ASSERT(type() == FIELD);
|
| + return Descriptor::IndexFromValue(
|
| + map->instance_descriptors()->GetValue(number_)) -
|
| + map->inobject_properties();
|
| + }
|
| +
|
| int GetDictionaryEntry() {
|
| ASSERT(lookup_type_ == DICTIONARY_TYPE);
|
| return number_;
|
| @@ -282,6 +296,12 @@ class LookupResult BASE_EMBEDDED {
|
| return JSFunction::cast(GetValue());
|
| }
|
|
|
| + JSFunction* GetConstantFunctionFromMap(Map* map) {
|
| + ASSERT(lookup_type_ == DESCRIPTOR_TYPE);
|
| + ASSERT(type() == CONSTANT_FUNCTION);
|
| + return JSFunction::cast(map->instance_descriptors()->GetValue(number_));
|
| + }
|
| +
|
| Object* GetCallbackObject() {
|
| if (lookup_type_ == CONSTANT_TYPE) {
|
| // For now we only have the __proto__ as constant type.
|
|
|