Index: src/x64/lithium-x64.h |
diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h |
index 6efec0086449989150256f21d9561b12d16d18a5..d038dda0604da5d63e52751c6cfb45185ae99143 100644 |
--- a/src/x64/lithium-x64.h |
+++ b/src/x64/lithium-x64.h |
@@ -333,8 +333,11 @@ class LGap: public LTemplateInstruction<0, 0, 0> { |
LAST_INNER_POSITION = AFTER |
}; |
- LParallelMove* GetOrCreateParallelMove(InnerPosition pos) { |
- if (parallel_moves_[pos] == NULL) parallel_moves_[pos] = new LParallelMove; |
+ LParallelMove* GetOrCreateParallelMove(InnerPosition pos, |
+ Zone* zone) { |
+ if (parallel_moves_[pos] == NULL) { |
+ parallel_moves_[pos] = new(zone) LParallelMove(zone); |
+ } |
return parallel_moves_[pos]; |
} |
@@ -2161,13 +2164,13 @@ class LLoadFieldByIndex: public LTemplateInstruction<1, 2, 0> { |
class LChunkBuilder; |
class LChunk: public ZoneObject { |
public: |
- explicit LChunk(CompilationInfo* info, HGraph* graph) |
+ LChunk(CompilationInfo* info, HGraph* graph) |
: spill_slot_count_(0), |
info_(info), |
graph_(graph), |
- instructions_(32), |
- pointer_maps_(8), |
- inlined_closures_(1) { } |
+ instructions_(32, graph->zone()), |
+ pointer_maps_(8, graph->zone()), |
+ inlined_closures_(1, graph->zone()) { } |
void AddInstruction(LInstruction* instruction, HBasicBlock* block); |
LConstantOperand* DefineConstantOperand(HConstant* constant); |
@@ -2212,9 +2215,11 @@ class LChunk: public ZoneObject { |
} |
void AddInlinedClosure(Handle<JSFunction> closure) { |
- inlined_closures_.Add(closure); |
+ inlined_closures_.Add(closure, zone()); |
} |
+ Zone* zone() const { return graph_->zone(); } |
+ |
private: |
int spill_slot_count_; |
CompilationInfo* info_; |