| Index: src/full-codegen.cc
|
| diff --git a/src/full-codegen.cc b/src/full-codegen.cc
|
| index 58e5e978abf2dd7b73363378ccef7d1d4e9780f6..2bea70b0edee92d7084199c6bf33fa3dc2cbbdb8 100644
|
| --- a/src/full-codegen.cc
|
| +++ b/src/full-codegen.cc
|
| @@ -1578,7 +1578,12 @@ void FullCodeGenerator::VisitClassLiteral(ClassLiteral* lit) {
|
| if (lit->constructor() != NULL) {
|
| VisitForStackValue(lit->constructor());
|
| } else {
|
| - __ Push(isolate()->factory()->undefined_value());
|
| + Handle<JSFunction> default_constructor =
|
| + lit->extends() == NULL ? isolate()->default_constructor_no_super()
|
| + : isolate()->default_constructor();
|
| + Handle<SharedFunctionInfo> shared(default_constructor->shared());
|
| + EmitNewClosure(shared, false);
|
| + __ Push(result_register());
|
| }
|
|
|
| __ Push(script());
|
|
|