| Index: src/x64/full-codegen-x64.cc
|
| diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
|
| index d553fb84c2761686a317b8d2409bd71d657946b0..2c1146c90a0999f673f9bc26e70abb21d1b96e6c 100644
|
| --- a/src/x64/full-codegen-x64.cc
|
| +++ b/src/x64/full-codegen-x64.cc
|
| @@ -2495,6 +2495,16 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) {
|
| __ Push(Operand(rsp, 0)); // prototype
|
| }
|
| EmitPropertyKey(property, lit->GetIdForProperty(i));
|
| +
|
| + // The static prototype property is read only. We handle the non computed
|
| + // property name case in the parser. Since this is the only case where we
|
| + // need to check for an own read only property we special case this so we do
|
| + // not need to do this for every property.
|
| + if (property->is_static() && property->is_computed_name()) {
|
| + __ CallRuntime(Runtime::kThrowIfStaticPrototype, 1);
|
| + __ Push(rax);
|
| + }
|
| +
|
| VisitForStackValue(value);
|
| EmitSetHomeObjectIfNeeded(value, 2);
|
|
|
|
|