Commit 7b84d299 authored by zhengxing.li's avatar zhengxing.li Committed by Commit bot

X87: [turbofan] [deoptimizer] Support inlining of ES6 tail calls.

  port c29a4560(r34610)

  original commit message:
  In case when F was called with incompatible number of arguments (and therefore
  the arguments adator frame was created), F inlines a tail call of G which then
  deopts the deoptimizer should also remove the arguments adaptor frame for F.

  This CL adds required machinery to the deoptimizer.

BUG=

Review URL: https://codereview.chromium.org/1785593002

Cr-Commit-Position: refs/heads/master@{#34651}
parent 92eb11e9
......@@ -327,8 +327,9 @@ void Deoptimizer::TableEntryGenerator::Generate() {
}
__ pop(eax);
__ pop(edi);
__ mov(esp, Operand(eax, Deoptimizer::caller_frame_top_offset()));
// Replace the current frame with the output frames.
// Replace the current (input) frame with the output frames.
Label outer_push_loop, inner_push_loop,
outer_loop_header, inner_loop_header;
// Outer loop state: eax = current FrameDescription**, edx = one past the
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment