| Index: src/x87/full-codegen-x87.cc
|
| diff --git a/src/x87/full-codegen-x87.cc b/src/x87/full-codegen-x87.cc
|
| index 4d974419727955ffb0f079b6f827529b8e8fa69b..d375975e727d2b9e14cfe872ce5f212efc9f499e 100644
|
| --- a/src/x87/full-codegen-x87.cc
|
| +++ b/src/x87/full-codegen-x87.cc
|
| @@ -2482,6 +2482,16 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) {
|
| __ push(Operand(esp, 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(eax);
|
| + }
|
| +
|
| VisitForStackValue(value);
|
| EmitSetHomeObjectIfNeeded(value, 2);
|
|
|
|
|