| Index: src/x64/lithium-codegen-x64.h
|
| diff --git a/src/x64/lithium-codegen-x64.h b/src/x64/lithium-codegen-x64.h
|
| index b7fa9f70ed7130b6d1b7c13f952cc757d12ef09e..6347cff18bc813a2e6e43b31bd43505dfe255549 100644
|
| --- a/src/x64/lithium-codegen-x64.h
|
| +++ b/src/x64/lithium-codegen-x64.h
|
| @@ -40,8 +40,31 @@ namespace internal {
|
|
|
| // Forward declarations.
|
| class LDeferredCode;
|
| +class LGapNode;
|
| class SafepointGenerator;
|
|
|
| +class LGapResolver BASE_EMBEDDED {
|
| + public:
|
| + LGapResolver();
|
| + const ZoneList<LMoveOperands>* Resolve(const ZoneList<LMoveOperands>* moves,
|
| + LOperand* marker_operand);
|
| +
|
| + private:
|
| + LGapNode* LookupNode(LOperand* operand);
|
| + bool CanReach(LGapNode* a, LGapNode* b, int visited_id);
|
| + bool CanReach(LGapNode* a, LGapNode* b);
|
| + void RegisterMove(LMoveOperands move);
|
| + void AddResultMove(LOperand* from, LOperand* to);
|
| + void AddResultMove(LGapNode* from, LGapNode* to);
|
| + void ResolveCycle(LGapNode* start, LOperand* marker_operand);
|
| +
|
| + ZoneList<LGapNode*> nodes_;
|
| + ZoneList<LGapNode*> identified_cycles_;
|
| + ZoneList<LMoveOperands> result_;
|
| + int next_visited_id_;
|
| +};
|
| +
|
| +
|
| class LCodeGen BASE_EMBEDDED {
|
| public:
|
| LCodeGen(LChunk* chunk, MacroAssembler* assembler, CompilationInfo* info)
|
|
|