| Index: src/typing.cc
 | 
| diff --git a/src/typing.cc b/src/typing.cc
 | 
| index 7762624b0739c542f4fc64da1ce46af1b388d8a8..2bcca833009bf9cfea74789975f555353355c4d5 100644
 | 
| --- a/src/typing.cc
 | 
| +++ b/src/typing.cc
 | 
| @@ -400,12 +400,26 @@ void AstTyper::VisitObjectLiteral(ObjectLiteral* expr) {
 | 
|      ObjectLiteral::Property* prop = properties->at(i);
 | 
|  
 | 
|      // Collect type feedback.
 | 
| -    if ((prop->kind() == ObjectLiteral::Property::MATERIALIZED_LITERAL &&
 | 
| -        !CompileTimeValue::IsCompileTimeValue(prop->value())) ||
 | 
| -        prop->kind() == ObjectLiteral::Property::COMPUTED) {
 | 
| -      if (prop->key()->value()->IsInternalizedString() && prop->emit_store()) {
 | 
| -        prop->RecordTypeFeedback(oracle());
 | 
| -      }
 | 
| +    switch (prop->kind()) {
 | 
| +      case ObjectLiteral::Property::MATERIALIZED_LITERAL:
 | 
| +        if (CompileTimeValue::IsCompileTimeValue(prop->value())) break;
 | 
| +        // Fall through.
 | 
| +      case ObjectLiteral::Property::COMPUTED:
 | 
| +        if (prop->key()->AsLiteral()->value()->IsInternalizedString() &&
 | 
| +            prop->emit_store()) {
 | 
| +          prop->RecordTypeFeedback(oracle());
 | 
| +        }
 | 
| +        break;
 | 
| +
 | 
| +      case ObjectLiteral::Property::COMPUTED_NAME:
 | 
| +        RECURSE(Visit(prop->key()));
 | 
| +        break;
 | 
| +
 | 
| +      case ObjectLiteral::Property::CONSTANT:
 | 
| +      case ObjectLiteral::Property::PROTOTYPE:
 | 
| +      case ObjectLiteral::Property::GETTER:
 | 
| +      case ObjectLiteral::Property::SETTER:
 | 
| +        break;
 | 
|      }
 | 
|  
 | 
|      RECURSE(Visit(prop->value()));
 | 
| 
 |