Index: src/x64/full-codegen-x64.cc |
diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc |
index 0b19edd683084bd92d7f67ebdff57ec6f3d43d12..879d670a0b24431e408c330c313bc6ef9ebba541 100644 |
--- a/src/x64/full-codegen-x64.cc |
+++ b/src/x64/full-codegen-x64.cc |
@@ -235,6 +235,10 @@ void FullCodeGenerator::Generate() { |
Variable* this_function_var = scope()->this_function_var(); |
if (this_function_var != nullptr) { |
Comment cmnt(masm_, "[ This function"); |
+ if (!function_in_register) { |
+ __ movp(rdi, Operand(rbp, JavaScriptFrameConstants::kFunctionOffset)); |
+ // The write barrier clobbers register again, keep is marked as such. |
+ } |
SetVar(this_function_var, rdi, rbx, rdx); |
} |