| Index: src/x64/full-codegen-x64.cc
|
| diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
|
| index d8bf19fc111b3c47126ad45dc97812b737feb842..a16d1a9556d619f304756870679aa1fd99460719 100644
|
| --- a/src/x64/full-codegen-x64.cc
|
| +++ b/src/x64/full-codegen-x64.cc
|
| @@ -139,6 +139,7 @@ void FullCodeGenerator::Generate() {
|
|
|
| info->set_prologue_offset(masm_->pc_offset());
|
| __ Prologue(info->IsCodePreAgingActive());
|
| + __ Push(FeedbackVector());
|
| info->AddNoFrameRange(0, masm_->pc_offset());
|
|
|
| { Comment cmnt(masm_, "[ Allocate locals");
|
| @@ -2109,7 +2110,7 @@ void FullCodeGenerator::VisitYield(Yield* expr) {
|
| __ movp(rcx, rsi);
|
| __ RecordWriteField(rax, JSGeneratorObject::kContextOffset, rcx, rdx,
|
| kDontSaveFPRegs);
|
| - __ leap(rbx, Operand(rbp, StandardFrameConstants::kExpressionsOffset));
|
| + __ leap(rbx, Operand(rbp, JavaScriptFrameConstants::kLocal0Offset));
|
| __ cmpp(rsp, rbx);
|
| __ j(equal, &post_runtime);
|
| __ Push(rax); // generator object
|
| @@ -2290,6 +2291,11 @@ void FullCodeGenerator::EmitGeneratorResume(Expression *generator,
|
| __ Push(rsi); // Callee's context.
|
| __ Push(rdi); // Callee's JS Function.
|
|
|
| + // Callee's type feedback vector.
|
| + __ movp(rdx, FieldOperand(rdi, JSFunction::kSharedFunctionInfoOffset));
|
| + __ movp(rdx, FieldOperand(rdx, SharedFunctionInfo::kFeedbackVectorOffset));
|
| + __ Push(rdx);
|
| +
|
| // Load the operand stack size.
|
| __ movp(rdx, FieldOperand(rbx, JSGeneratorObject::kOperandStackOffset));
|
| __ movp(rdx, FieldOperand(rdx, FixedArray::kLengthOffset));
|
|
|