| Index: src/ia32/lithium-codegen-ia32.cc
|
| ===================================================================
|
| --- src/ia32/lithium-codegen-ia32.cc (revision 11812)
|
| +++ src/ia32/lithium-codegen-ia32.cc (working copy)
|
| @@ -420,7 +420,9 @@
|
| int height = translation_size - environment->parameter_count();
|
|
|
| WriteTranslation(environment->outer(), translation);
|
| - int closure_id = DefineDeoptimizationLiteral(environment->closure());
|
| + int closure_id = *info()->closure() != *environment->closure()
|
| + ? DefineDeoptimizationLiteral(environment->closure())
|
| + : Translation::kSelfLiteralId;
|
| switch (environment->frame_type()) {
|
| case JS_FUNCTION:
|
| translation->BeginJSFrame(environment->ast_id(), closure_id, height);
|
| @@ -2830,7 +2832,7 @@
|
|
|
| void LCodeGen::DoThisFunction(LThisFunction* instr) {
|
| Register result = ToRegister(instr->result());
|
| - __ LoadHeapObject(result, instr->hydrogen()->closure());
|
| + __ mov(result, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset));
|
| }
|
|
|
|
|
|
|