| Index: src/x64/lithium-x64.h
|
| ===================================================================
|
| --- src/x64/lithium-x64.h (revision 7083)
|
| +++ src/x64/lithium-x64.h (working copy)
|
| @@ -1258,11 +1258,12 @@
|
| };
|
|
|
|
|
| -class LStoreContextSlot: public LTemplateInstruction<0, 2, 0> {
|
| +class LStoreContextSlot: public LTemplateInstruction<0, 2, 1> {
|
| public:
|
| - LStoreContextSlot(LOperand* context, LOperand* value) {
|
| + LStoreContextSlot(LOperand* context, LOperand* value, LOperand* temp) {
|
| inputs_[0] = context;
|
| inputs_[1] = value;
|
| + temps_[0] = temp;
|
| }
|
|
|
| DECLARE_CONCRETE_INSTRUCTION(StoreContextSlot, "store-context-slot")
|
| @@ -1842,8 +1843,9 @@
|
| class LChunkBuilder;
|
| class LChunk: public ZoneObject {
|
| public:
|
| - explicit LChunk(HGraph* graph)
|
| + explicit LChunk(CompilationInfo* info, HGraph* graph)
|
| : spill_slot_count_(0),
|
| + info_(info),
|
| graph_(graph),
|
| instructions_(32),
|
| pointer_maps_(8),
|
| @@ -1860,6 +1862,7 @@
|
| int ParameterAt(int index);
|
| int GetParameterStackSlot(int index) const;
|
| int spill_slot_count() const { return spill_slot_count_; }
|
| + CompilationInfo* info() const { return info_; }
|
| HGraph* graph() const { return graph_; }
|
| const ZoneList<LInstruction*>* instructions() const { return &instructions_; }
|
| void AddGapMove(int index, LOperand* from, LOperand* to);
|
| @@ -1896,6 +1899,7 @@
|
|
|
| private:
|
| int spill_slot_count_;
|
| + CompilationInfo* info_;
|
| HGraph* const graph_;
|
| ZoneList<LInstruction*> instructions_;
|
| ZoneList<LPointerMap*> pointer_maps_;
|
| @@ -1905,8 +1909,9 @@
|
|
|
| class LChunkBuilder BASE_EMBEDDED {
|
| public:
|
| - LChunkBuilder(HGraph* graph, LAllocator* allocator)
|
| + LChunkBuilder(CompilationInfo* info, HGraph* graph, LAllocator* allocator)
|
| : chunk_(NULL),
|
| + info_(info),
|
| graph_(graph),
|
| status_(UNUSED),
|
| current_instruction_(NULL),
|
| @@ -1935,6 +1940,7 @@
|
| };
|
|
|
| LChunk* chunk() const { return chunk_; }
|
| + CompilationInfo* info() const { return info_; }
|
| HGraph* graph() const { return graph_; }
|
|
|
| bool is_unused() const { return status_ == UNUSED; }
|
| @@ -2041,6 +2047,7 @@
|
| HArithmeticBinaryOperation* instr);
|
|
|
| LChunk* chunk_;
|
| + CompilationInfo* info_;
|
| HGraph* const graph_;
|
| Status status_;
|
| HInstruction* current_instruction_;
|
|
|