Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(114)

Unified Diff: src/compiler/code-generator.h

Issue 2082263002: [turbofan]: Support using push instructions for setting up tail call parameters (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Review feedback Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/compiler/code-generator.h
diff --git a/src/compiler/code-generator.h b/src/compiler/code-generator.h
index 1083e66e023b0d350d50ba2798a8358a15cb167c..5633eafdbb0a1b795cddfd0435aa1ab0d96cbf66 100644
--- a/src/compiler/code-generator.h
+++ b/src/compiler/code-generator.h
@@ -102,6 +102,11 @@ class CodeGenerator final : public GapResolver::Assembler {
void AssembleSourcePosition(Instruction* instr);
void AssembleGaps(Instruction* instr);
+ // Returns true if a instruction needs to adjust the stack pointer before
+ // execution. The stack slot index to the empty slot above the adjusted stack
+ // pointer is returned in |slot|.
+ bool GetSlotAboveSPAfterGap(Instruction* instr, int* slot);
+
// ===========================================================================
// ============= Architecture-specific code generation methods. ==============
// ===========================================================================
@@ -124,18 +129,18 @@ class CodeGenerator final : public GapResolver::Assembler {
// to tear down a stack frame.
void AssembleReturn();
- // Generates code to deconstruct a the caller's frame, including arguments.
- void AssembleDeconstructActivationRecord(int stack_param_delta);
-
void AssembleDeconstructFrame();
// Generates code to manipulate the stack in preparation for a tail call.
- void AssemblePrepareTailCall(int stack_param_delta);
+ void AssemblePrepareTailCall();
// Generates code to pop current frame if it is an arguments adaptor frame.
void AssemblePopArgumentsAdaptorFrame(Register args_reg, Register scratch1,
Register scratch2, Register scratch3);
+ void AssemblePreGaps(Instruction* instr);
Mircea Trofin 2016/06/30 15:32:34 Code comment on what these do.
danno 2016/07/01 07:31:57 Done.
+ void AssemblePostGaps(Instruction* instr);
+
// ===========================================================================
// ============== Architecture-specific gap resolver methods. ================
// ===========================================================================
@@ -188,12 +193,6 @@ class CodeGenerator final : public GapResolver::Assembler {
DeoptimizationExit* AddDeoptimizationExit(Instruction* instr,
size_t frame_state_offset);
- // Converts the delta in the number of stack parameter passed from a tail
- // caller to the callee into the distance (in pointers) the SP must be
- // adjusted, taking frame elision and other relevant factors into
- // consideration.
- int TailCallFrameStackSlotDelta(int stack_param_delta);
-
// ===========================================================================
struct DeoptimizationState : ZoneObject {

Powered by Google App Engine
This is Rietveld 408576698