| 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()));
|
|
|