| Index: src/arm/lithium-codegen-arm.cc
|
| ===================================================================
|
| --- src/arm/lithium-codegen-arm.cc (revision 11812)
|
| +++ src/arm/lithium-codegen-arm.cc (working copy)
|
| @@ -478,7 +478,10 @@
|
| 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);
|
| @@ -3089,7 +3092,7 @@
|
|
|
| void LCodeGen::DoThisFunction(LThisFunction* instr) {
|
| Register result = ToRegister(instr->result());
|
| - __ LoadHeapObject(result, instr->hydrogen()->closure());
|
| + __ ldr(result, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset));
|
| }
|
|
|
|
|
|
|