| Index: src/hydrogen.cc | 
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc | 
| index 6096c248970e2e0b0f1950cd8ae238f1b62b7d99..59d3bb909314f89320c5dbbad48a2dc104b5b442 100644 | 
| --- a/src/hydrogen.cc | 
| +++ b/src/hydrogen.cc | 
| @@ -5977,7 +5977,9 @@ bool HOptimizedGraphBuilder::PropertyAccessInfo::LoadResult(Handle<Map> map) { | 
|  | 
| if (lookup_.IsField()) { | 
| // Construct the object field access. | 
| -    access_ = HObjectAccess::ForField(map, &lookup_, name_); | 
| +    int index = lookup_.GetLocalFieldIndexFromMap(*map); | 
| +    Representation representation = lookup_.representation(); | 
| +    access_ = HObjectAccess::ForField(map, index, representation, name_); | 
|  | 
| // Load field map for heap objects. | 
| LoadFieldMaps(map); | 
| @@ -6087,7 +6089,14 @@ bool HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessMonomorphic() { | 
| map->LookupTransition(NULL, *name_, &lookup_); | 
| if (lookup_.IsTransitionToField() && map->unused_property_fields() > 0) { | 
| // Construct the object field access. | 
| -    access_ = HObjectAccess::ForField(map, &lookup_, name_); | 
| +    int descriptor = transition()->LastAdded(); | 
| +    int index = | 
| +        transition()->instance_descriptors()->GetFieldIndex(descriptor) - | 
| +        map->inobject_properties(); | 
| +    PropertyDetails details = | 
| +        transition()->instance_descriptors()->GetDetails(descriptor); | 
| +    Representation representation = details.representation(); | 
| +    access_ = HObjectAccess::ForField(map, index, representation, name_); | 
|  | 
| // Load field map for heap objects. | 
| LoadFieldMaps(transition()); | 
|  |