Index: src/compiler/instruction-selector.h |
diff --git a/src/compiler/instruction-selector.h b/src/compiler/instruction-selector.h |
index 5e3c52f959bf11da7bf6e1e78cf07f90ec5b77bf..12ee0a0890cbf54ed509e10eccc4ec270a9cd4c9 100644 |
--- a/src/compiler/instruction-selector.h |
+++ b/src/compiler/instruction-selector.h |
@@ -5,7 +5,7 @@ |
#ifndef V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
#define V8_COMPILER_INSTRUCTION_SELECTOR_H_ |
-#include <deque> |
+#include <map> |
#include "src/compiler/common-operator.h" |
#include "src/compiler/instruction.h" |
@@ -21,17 +21,12 @@ struct CallBuffer; // TODO(bmeurer): Remove this. |
class FlagsContinuation; |
class Linkage; |
-typedef IntVector NodeToVregMap; |
- |
class InstructionSelector FINAL { |
public: |
- static const int kNodeUnmapped = -1; |
- |
// Forward declarations. |
class Features; |
- // TODO(dcarney): pass in vreg mapping instead of graph. |
- InstructionSelector(Zone* local_zone, Graph* graph, Linkage* linkage, |
+ InstructionSelector(Zone* zone, size_t node_count, Linkage* linkage, |
InstructionSequence* sequence, Schedule* schedule, |
SourcePositionTable* source_positions, |
Features features = SupportedFeatures()); |
@@ -126,9 +121,7 @@ class InstructionSelector FINAL { |
bool IsLive(Node* node) const { return !IsDefined(node) && IsUsed(node); } |
int GetVirtualRegister(const Node* node); |
- // Gets the current mapping if it exists, kNodeUnmapped otherwise. |
- int GetMappedVirtualRegister(const Node* node) const; |
- const NodeToVregMap& GetNodeMapForTesting() const { return node_map_; } |
+ const std::map<NodeId, int> GetVirtualRegistersForTesting() const; |
private: |
friend class OperandGenerator; |
@@ -222,11 +215,11 @@ class InstructionSelector FINAL { |
SourcePositionTable* const source_positions_; |
Features features_; |
Schedule* const schedule_; |
- NodeToVregMap node_map_; |
BasicBlock* current_block_; |
- ZoneDeque<Instruction*> instructions_; |
+ ZoneVector<Instruction*> instructions_; |
BoolVector defined_; |
BoolVector used_; |
+ IntVector virtual_registers_; |
}; |
} // namespace compiler |