Index: src/interpreter/bytecode-array-builder.cc |
diff --git a/src/interpreter/bytecode-array-builder.cc b/src/interpreter/bytecode-array-builder.cc |
index 7fd6e23a585c3e9a5b10ccd7f5118e60d1b5d162..be130abdb068218d7ada321a4e06cef731a5dd4d 100644 |
--- a/src/interpreter/bytecode-array-builder.cc |
+++ b/src/interpreter/bytecode-array-builder.cc |
@@ -21,17 +21,16 @@ BytecodeArrayBuilder::BytecodeArrayBuilder( |
Isolate* isolate, Zone* zone, int parameter_count, int context_count, |
int locals_count, FunctionLiteral* literal, |
SourcePositionTableBuilder::RecordingMode source_position_mode) |
- : isolate_(isolate), |
- zone_(zone), |
+ : zone_(zone), |
bytecode_generated_(false), |
- constant_array_builder_(isolate, zone), |
- handler_table_builder_(isolate, zone), |
+ constant_array_builder_(zone, isolate->factory()->the_hole_value()), |
+ handler_table_builder_(zone), |
return_seen_in_block_(false), |
parameter_count_(parameter_count), |
local_register_count_(locals_count), |
context_register_count_(context_count), |
temporary_allocator_(zone, fixed_register_count()), |
- bytecode_array_writer_(isolate, zone, &constant_array_builder_, |
+ bytecode_array_writer_(zone, &constant_array_builder_, |
source_position_mode), |
pipeline_(&bytecode_array_writer_) { |
DCHECK_GE(parameter_count_, 0); |
@@ -75,14 +74,15 @@ bool BytecodeArrayBuilder::RegisterIsParameterOrLocal(Register reg) const { |
return reg.is_parameter() || reg.index() < locals_count(); |
} |
-Handle<BytecodeArray> BytecodeArrayBuilder::ToBytecodeArray() { |
+Handle<BytecodeArray> BytecodeArrayBuilder::ToBytecodeArray(Isolate* isolate) { |
DCHECK(return_seen_in_block_); |
DCHECK(!bytecode_generated_); |
bytecode_generated_ = true; |
- Handle<FixedArray> handler_table = handler_table_builder()->ToHandlerTable(); |
- return pipeline_->ToBytecodeArray(fixed_register_count(), parameter_count(), |
- handler_table); |
+ Handle<FixedArray> handler_table = |
+ handler_table_builder()->ToHandlerTable(isolate); |
+ return pipeline_->ToBytecodeArray(isolate, fixed_register_count(), |
+ parameter_count(), handler_table); |
} |
namespace { |