| Index: src/hydrogen.cc
 | 
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
 | 
| index b43dc51d1beef4eb21d7ff789d1c22ebc8b40271..dd237715c92bea23ee5c65d99c34c8e3b8961b61 100644
 | 
| --- a/src/hydrogen.cc
 | 
| +++ b/src/hydrogen.cc
 | 
| @@ -5790,8 +5790,8 @@ HInstruction* HOptimizedGraphBuilder::BuildLoadNamedField(
 | 
|      PropertyAccessInfo* info,
 | 
|      HValue* checked_object) {
 | 
|    // See if this is a load for an immutable property
 | 
| -  if (checked_object->ActualValue()->IsConstant() && info->IsCacheable() &&
 | 
| -      info->IsReadOnly() && !info->IsConfigurable()) {
 | 
| +  if (checked_object->ActualValue()->IsConstant() && info->IsReadOnly() &&
 | 
| +      !info->IsConfigurable()) {
 | 
|      Handle<Object> object(
 | 
|          HConstant::cast(checked_object->ActualValue())->handle(isolate()));
 | 
|  
 | 
| @@ -5970,7 +5970,7 @@ bool HOptimizedGraphBuilder::PropertyAccessInfo::LookupDescriptor() {
 | 
|  
 | 
|  
 | 
|  bool HOptimizedGraphBuilder::PropertyAccessInfo::LoadResult(Handle<Map> map) {
 | 
| -  if (!IsLoad() && IsProperty() && (IsReadOnly() || !IsCacheable())) {
 | 
| +  if (!IsLoad() && IsProperty() && IsReadOnly()) {
 | 
|      return false;
 | 
|    }
 | 
|  
 | 
| @@ -6074,10 +6074,7 @@ bool HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessMonomorphic() {
 | 
|      return IsLoad();
 | 
|    }
 | 
|    if (!LookupDescriptor()) return false;
 | 
| -  if (IsFound()) {
 | 
| -    if (IsLoad()) return true;
 | 
| -    return !IsReadOnly() && IsCacheable();
 | 
| -  }
 | 
| +  if (IsFound()) return IsLoad() || !IsReadOnly();
 | 
|    if (!LookupInPrototypes()) return false;
 | 
|    if (IsLoad()) return true;
 | 
|  
 | 
| 
 |