| Index: src/x64/lithium-codegen-x64.cc
 | 
| ===================================================================
 | 
| --- src/x64/lithium-codegen-x64.cc	(revision 11812)
 | 
| +++ src/x64/lithium-codegen-x64.cc	(working copy)
 | 
| @@ -367,7 +367,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);
 | 
| @@ -2731,7 +2734,7 @@
 | 
|  
 | 
|  void LCodeGen::DoThisFunction(LThisFunction* instr) {
 | 
|    Register result = ToRegister(instr->result());
 | 
| -  __ LoadHeapObject(result, instr->hydrogen()->closure());
 | 
| +  __ movq(result, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset));
 | 
|  }
 | 
|  
 | 
|  
 | 
| 
 |