| Index: src/ia32/lithium-codegen-ia32.cc
|
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
|
| index ee0ec27fcf21100efd40b84928ff3eb8e9f2171a..4ad6f676f04c974f3a7547966ab5dcb917167a96 100644
|
| --- a/src/ia32/lithium-codegen-ia32.cc
|
| +++ b/src/ia32/lithium-codegen-ia32.cc
|
| @@ -5421,8 +5421,11 @@ void LCodeGen::DoFunctionLiteral(LFunctionLiteral* instr) {
|
| DCHECK(ToRegister(instr->context()).is(esi));
|
| // Use the fast case closure allocation code that allocates in new
|
| // space for nested functions that don't need literals cloning.
|
| + AllowDeferredHandleDereference copy_handles;
|
| bool pretenure = instr->hydrogen()->pretenure();
|
| - if (!pretenure && instr->hydrogen()->has_no_literals()) {
|
| + if (!pretenure && instr->hydrogen()->has_no_literals() &&
|
| + !instr->hydrogen()->shared_info().is_null() &&
|
| + !) {
|
| FastNewClosureStub stub(isolate(), instr->hydrogen()->language_mode(),
|
| instr->hydrogen()->kind());
|
| __ mov(ebx, Immediate(instr->hydrogen()->shared_info()));
|
|
|