| Index: src/interpreter/bytecode-generator.cc
|
| diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc
|
| index 324c7c196848ac5b17af4645d9d009d7f5d62782..26ff9b499472c8fbb3b6dc7b99f331a9f8b0c040 100644
|
| --- a/src/interpreter/bytecode-generator.cc
|
| +++ b/src/interpreter/bytecode-generator.cc
|
| @@ -1634,7 +1634,7 @@ void BytecodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
| if (property->IsCompileTimeValue()) continue;
|
|
|
| RegisterAllocationScope inner_register_scope(this);
|
| - Literal* literal_key = property->key()->AsLiteral();
|
| + Literal* key = property->key()->AsLiteral();
|
| switch (property->kind()) {
|
| case ObjectLiteral::Property::CONSTANT:
|
| UNREACHABLE();
|
| @@ -1644,11 +1644,7 @@ void BytecodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
| case ObjectLiteral::Property::COMPUTED: {
|
| // It is safe to use [[Put]] here because the boilerplate already
|
| // contains computed properties with an uninitialized value.
|
| -
|
| - // TODO(5203): Remove this temporary exception.
|
| - AllowHandleDereference allow_deref;
|
| -
|
| - if (literal_key->value()->IsInternalizedString()) {
|
| + if (key->IsPropertyName()) {
|
| if (property->emit_store()) {
|
| VisitForAccumulatorValue(property->value());
|
| if (FunctionLiteral::NeedsHomeObject(property->value())) {
|
| @@ -1656,12 +1652,12 @@ void BytecodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
| Register value = register_allocator()->NewRegister();
|
| builder()->StoreAccumulatorInRegister(value);
|
| builder()->StoreNamedProperty(
|
| - literal, literal_key->AsPropertyName(),
|
| + literal, key->AsPropertyName(),
|
| feedback_index(property->GetSlot(0)), language_mode());
|
| VisitSetHomeObject(value, literal, property, 1);
|
| } else {
|
| builder()->StoreNamedProperty(
|
| - literal, literal_key->AsPropertyName(),
|
| + literal, key->AsPropertyName(),
|
| feedback_index(property->GetSlot(0)), language_mode());
|
| }
|
| } else {
|
| @@ -1705,12 +1701,12 @@ void BytecodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
| }
|
| case ObjectLiteral::Property::GETTER:
|
| if (property->emit_store()) {
|
| - accessor_table.lookup(literal_key)->second->getter = property;
|
| + accessor_table.lookup(key)->second->getter = property;
|
| }
|
| break;
|
| case ObjectLiteral::Property::SETTER:
|
| if (property->emit_store()) {
|
| - accessor_table.lookup(literal_key)->second->setter = property;
|
| + accessor_table.lookup(key)->second->setter = property;
|
| }
|
| break;
|
| }
|
|
|