| Index: src/ia32/lithium-ia32.h
|
| diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h
|
| index 601c9c2f7011b4862866f16743f1fd0678e28b13..2fd1418fa41cfae9b05ea11de21281aefe9832c7 100644
|
| --- a/src/ia32/lithium-ia32.h
|
| +++ b/src/ia32/lithium-ia32.h
|
| @@ -327,8 +327,10 @@ 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];
|
| }
|
|
|
| @@ -2307,9 +2309,9 @@ class LChunk: public ZoneObject {
|
| : 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);
|
| @@ -2354,9 +2356,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_;
|
| @@ -2403,7 +2407,7 @@ class LChunkBuilder BASE_EMBEDDED {
|
| LChunk* chunk() const { return chunk_; }
|
| CompilationInfo* info() const { return info_; }
|
| HGraph* graph() const { return graph_; }
|
| - Zone* zone() { return zone_; }
|
| + Zone* zone() const { return zone_; }
|
|
|
| bool is_unused() const { return status_ == UNUSED; }
|
| bool is_building() const { return status_ == BUILDING; }
|
|
|