| Index: src/compiler/code-generator.h
|
| diff --git a/src/compiler/code-generator.h b/src/compiler/code-generator.h
|
| index 59a5af9a0703597ebe51c09bb72c030caecd34f6..c54e250d2ed53dac9e0748d5bdb4434661accaca 100644
|
| --- a/src/compiler/code-generator.h
|
| +++ b/src/compiler/code-generator.h
|
| @@ -28,6 +28,20 @@ struct BranchInfo {
|
| };
|
|
|
|
|
| +class InstructionOperandIterator {
|
| + public:
|
| + InstructionOperandIterator(Instruction* instr, size_t pos)
|
| + : instr_(instr), pos_(pos) {}
|
| +
|
| + Instruction* instruction() const { return instr_; }
|
| + InstructionOperand* Advance() { return instr_->InputAt(pos_++); }
|
| +
|
| + private:
|
| + Instruction* instr_;
|
| + size_t pos_;
|
| +};
|
| +
|
| +
|
| // Generates native code for a sequence of instructions.
|
| class CodeGenerator final : public GapResolver::Assembler {
|
| public:
|
| @@ -136,9 +150,15 @@ class CodeGenerator final : public GapResolver::Assembler {
|
| size_t frame_access_state_offset,
|
| OutputFrameStateCombine state_combine);
|
| void BuildTranslationForFrameStateDescriptor(
|
| - FrameStateDescriptor* descriptor, Instruction* instr,
|
| - Translation* translation, size_t frame_access_state_offset,
|
| - OutputFrameStateCombine state_combine);
|
| + FrameStateDescriptor* descriptor, InstructionOperandIterator* iter,
|
| + Translation* translation, OutputFrameStateCombine state_combine);
|
| + void TranslateStateValueDescriptor(StateValueDescriptor* desc,
|
| + Translation* translation,
|
| + InstructionOperandIterator* iter);
|
| + void TranslateFrameStateDescriptorOperands(FrameStateDescriptor* desc,
|
| + InstructionOperandIterator* iter,
|
| + OutputFrameStateCombine combine,
|
| + Translation* translation);
|
| void AddTranslationForOperand(Translation* translation, Instruction* instr,
|
| InstructionOperand* op, MachineType type);
|
| void AddNopForSmiCodeInlining();
|
|
|