Index: src/deoptimizer.cc |
diff --git a/src/deoptimizer.cc b/src/deoptimizer.cc |
index 2a30ddd3dab4c743a72ef4a251f559dd294a2b48..8f411a37e3e711e90cf3ff7d2cdaacfadd9a1b03 100644 |
--- a/src/deoptimizer.cc |
+++ b/src/deoptimizer.cc |
@@ -1290,7 +1290,7 @@ Object* FrameDescription::GetExpression(int index) { |
} |
-void TranslationBuffer::Add(int32_t value) { |
+void TranslationBuffer::Add(int32_t value, Zone* zone) { |
// Encode the sign bit in the least significant bit. |
bool is_negative = (value < 0); |
uint32_t bits = ((is_negative ? -value : value) << 1) | |
@@ -1299,7 +1299,7 @@ void TranslationBuffer::Add(int32_t value) { |
// each byte to indicate whether or not more bytes follow. |
do { |
uint32_t next = bits >> 7; |
- contents_.Add(((bits << 1) & 0xFF) | (next != 0)); |
+ contents_.Add(((bits << 1) & 0xFF) | (next != 0), zone); |
bits = next; |
} while (bits != 0); |
} |
@@ -1332,76 +1332,76 @@ Handle<ByteArray> TranslationBuffer::CreateByteArray() { |
void Translation::BeginConstructStubFrame(int literal_id, unsigned height) { |
- buffer_->Add(CONSTRUCT_STUB_FRAME); |
- buffer_->Add(literal_id); |
- buffer_->Add(height); |
+ buffer_->Add(CONSTRUCT_STUB_FRAME, zone()); |
+ buffer_->Add(literal_id, zone()); |
+ buffer_->Add(height, zone()); |
} |
void Translation::BeginArgumentsAdaptorFrame(int literal_id, unsigned height) { |
- buffer_->Add(ARGUMENTS_ADAPTOR_FRAME); |
- buffer_->Add(literal_id); |
- buffer_->Add(height); |
+ buffer_->Add(ARGUMENTS_ADAPTOR_FRAME, zone()); |
+ buffer_->Add(literal_id, zone()); |
+ buffer_->Add(height, zone()); |
} |
void Translation::BeginJSFrame(int node_id, int literal_id, unsigned height) { |
- buffer_->Add(JS_FRAME); |
- buffer_->Add(node_id); |
- buffer_->Add(literal_id); |
- buffer_->Add(height); |
+ buffer_->Add(JS_FRAME, zone()); |
+ buffer_->Add(node_id, zone()); |
+ buffer_->Add(literal_id, zone()); |
+ buffer_->Add(height, zone()); |
} |
void Translation::StoreRegister(Register reg) { |
- buffer_->Add(REGISTER); |
- buffer_->Add(reg.code()); |
+ buffer_->Add(REGISTER, zone()); |
+ buffer_->Add(reg.code(), zone()); |
} |
void Translation::StoreInt32Register(Register reg) { |
- buffer_->Add(INT32_REGISTER); |
- buffer_->Add(reg.code()); |
+ buffer_->Add(INT32_REGISTER, zone()); |
+ buffer_->Add(reg.code(), zone()); |
} |
void Translation::StoreDoubleRegister(DoubleRegister reg) { |
- buffer_->Add(DOUBLE_REGISTER); |
- buffer_->Add(DoubleRegister::ToAllocationIndex(reg)); |
+ buffer_->Add(DOUBLE_REGISTER, zone()); |
+ buffer_->Add(DoubleRegister::ToAllocationIndex(reg), zone()); |
} |
void Translation::StoreStackSlot(int index) { |
- buffer_->Add(STACK_SLOT); |
- buffer_->Add(index); |
+ buffer_->Add(STACK_SLOT, zone()); |
+ buffer_->Add(index, zone()); |
} |
void Translation::StoreInt32StackSlot(int index) { |
- buffer_->Add(INT32_STACK_SLOT); |
- buffer_->Add(index); |
+ buffer_->Add(INT32_STACK_SLOT, zone()); |
+ buffer_->Add(index, zone()); |
} |
void Translation::StoreDoubleStackSlot(int index) { |
- buffer_->Add(DOUBLE_STACK_SLOT); |
- buffer_->Add(index); |
+ buffer_->Add(DOUBLE_STACK_SLOT, zone()); |
+ buffer_->Add(index, zone()); |
} |
void Translation::StoreLiteral(int literal_id) { |
- buffer_->Add(LITERAL); |
- buffer_->Add(literal_id); |
+ buffer_->Add(LITERAL, zone()); |
+ buffer_->Add(literal_id, zone()); |
} |
void Translation::StoreArgumentsObject() { |
- buffer_->Add(ARGUMENTS_OBJECT); |
+ buffer_->Add(ARGUMENTS_OBJECT, zone()); |
} |
void Translation::MarkDuplicate() { |
- buffer_->Add(DUPLICATE); |
+ buffer_->Add(DUPLICATE, zone()); |
} |