| Index: src/compiler/instruction.h
|
| diff --git a/src/compiler/instruction.h b/src/compiler/instruction.h
|
| index a87ef7dc9c469f865919aeef34a79fbaacb5e033..672c6d112a7cad830c68640992a5f0221acdff57 100644
|
| --- a/src/compiler/instruction.h
|
| +++ b/src/compiler/instruction.h
|
| @@ -1032,7 +1032,7 @@ class InstructionSequence final : public ZoneObject {
|
| static void ComputeAssemblyOrder(InstructionBlocks* blocks);
|
|
|
| InstructionSequence(Isolate* isolate, Zone* zone,
|
| - InstructionBlocks* instruction_blocks);
|
| + InstructionBlocks* instruction_blocks, Frame* frame);
|
|
|
| int NextVirtualRegister();
|
| int VirtualRegisterCount() const { return next_virtual_register_; }
|
| @@ -1173,6 +1173,8 @@ class InstructionSequence final : public ZoneObject {
|
| return false;
|
| }
|
|
|
| + Frame* frame() const { return frame_; }
|
| +
|
| private:
|
| friend std::ostream& operator<<(std::ostream& os,
|
| const PrintableInstructionSequence& code);
|
| @@ -1182,6 +1184,7 @@ class InstructionSequence final : public ZoneObject {
|
| Isolate* isolate_;
|
| Zone* const zone_;
|
| InstructionBlocks* const instruction_blocks_;
|
| + Frame* frame_;
|
| SourcePositionMap source_positions_;
|
| IntVector block_starts_;
|
| ConstantMap constants_;
|
| @@ -1202,6 +1205,15 @@ struct PrintableInstructionSequence {
|
| };
|
|
|
|
|
| +enum TailCallOpcode {
|
| + kPopAndStore,
|
| + kStore,
|
| + kReplaceReturn,
|
| + kDeconstructFrame,
|
| + kParametersReady
|
| +};
|
| +
|
| +
|
| std::ostream& operator<<(std::ostream& os,
|
| const PrintableInstructionSequence& code);
|
|
|
|
|