Index: src/arm/full-codegen-arm.cc |
diff --git a/src/arm/full-codegen-arm.cc b/src/arm/full-codegen-arm.cc |
index b2bd6c8fc77aa8ef0057d8fcef36555a60a73269..e0ecc1ef0902bd692d4173034e710d92068231ba 100644 |
--- a/src/arm/full-codegen-arm.cc |
+++ b/src/arm/full-codegen-arm.cc |
@@ -243,6 +243,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) { |
+ __ ldr(r1, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); |
+ // The write barrier clobbers register again, keep is marked as such. |
+ } |
SetVar(this_function_var, r1, r0, r2); |
} |