OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_COMPILER_CODE_GENERATOR_H_ | 5 #ifndef V8_COMPILER_CODE_GENERATOR_H_ |
6 #define V8_COMPILER_CODE_GENERATOR_H_ | 6 #define V8_COMPILER_CODE_GENERATOR_H_ |
7 | 7 |
8 #include "src/compiler/gap-resolver.h" | 8 #include "src/compiler/gap-resolver.h" |
9 #include "src/compiler/instruction.h" | 9 #include "src/compiler/instruction.h" |
10 #include "src/deoptimizer.h" | 10 #include "src/deoptimizer.h" |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 // Generates an architecture-specific, descriptor-specific return sequence | 109 // Generates an architecture-specific, descriptor-specific return sequence |
110 // to tear down a stack frame. | 110 // to tear down a stack frame. |
111 void AssembleReturn(); | 111 void AssembleReturn(); |
112 | 112 |
113 // Generates code to deconstruct a the caller's frame, including arguments. | 113 // Generates code to deconstruct a the caller's frame, including arguments. |
114 void AssembleDeconstructActivationRecord(int stack_param_delta); | 114 void AssembleDeconstructActivationRecord(int stack_param_delta); |
115 | 115 |
116 // Generates code to manipulate the stack in preparation for a tail call. | 116 // Generates code to manipulate the stack in preparation for a tail call. |
117 void AssemblePrepareTailCall(int stack_param_delta); | 117 void AssemblePrepareTailCall(int stack_param_delta); |
118 | 118 |
| 119 // Generates code to pop current frame if it is an arguments adaptor frame. |
| 120 void AssemblePopArgumentsAdaptorFrame(Register args_reg, Register scratch1, |
| 121 Register scratch2, Register scratch3); |
| 122 |
119 // =========================================================================== | 123 // =========================================================================== |
120 // ============== Architecture-specific gap resolver methods. ================ | 124 // ============== Architecture-specific gap resolver methods. ================ |
121 // =========================================================================== | 125 // =========================================================================== |
122 | 126 |
123 // Interface used by the gap resolver to emit moves and swaps. | 127 // Interface used by the gap resolver to emit moves and swaps. |
124 void AssembleMove(InstructionOperand* source, | 128 void AssembleMove(InstructionOperand* source, |
125 InstructionOperand* destination) final; | 129 InstructionOperand* destination) final; |
126 void AssembleSwap(InstructionOperand* source, | 130 void AssembleSwap(InstructionOperand* source, |
127 InstructionOperand* destination) final; | 131 InstructionOperand* destination) final; |
128 | 132 |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
223 JumpTable* jump_tables_; | 227 JumpTable* jump_tables_; |
224 OutOfLineCode* ools_; | 228 OutOfLineCode* ools_; |
225 int osr_pc_offset_; | 229 int osr_pc_offset_; |
226 }; | 230 }; |
227 | 231 |
228 } // namespace compiler | 232 } // namespace compiler |
229 } // namespace internal | 233 } // namespace internal |
230 } // namespace v8 | 234 } // namespace v8 |
231 | 235 |
232 #endif // V8_COMPILER_CODE_GENERATOR_H | 236 #endif // V8_COMPILER_CODE_GENERATOR_H |
OLD | NEW |