| Index: src/ia32/full-codegen-ia32.cc
|
| diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc
|
| index 8a7e847b875be2b7e628163836e6fd93d354a9e8..3265bf45284a45ed68e1513b418cf0a10f88c9f9 100644
|
| --- a/src/ia32/full-codegen-ia32.cc
|
| +++ b/src/ia32/full-codegen-ia32.cc
|
| @@ -2495,6 +2495,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);
|
|
|
|
|