OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/interpreter/bytecode-array-writer.h" | 5 #include "src/interpreter/bytecode-array-writer.h" |
6 | 6 |
7 #include "src/api.h" | 7 #include "src/api.h" |
8 #include "src/interpreter/bytecode-label.h" | 8 #include "src/interpreter/bytecode-label.h" |
9 #include "src/interpreter/constant-array-builder.h" | 9 #include "src/interpreter/constant-array-builder.h" |
10 #include "src/log.h" | 10 #include "src/log.h" |
11 | 11 |
12 namespace v8 { | 12 namespace v8 { |
13 namespace internal { | 13 namespace internal { |
14 namespace interpreter { | 14 namespace interpreter { |
15 | 15 |
16 STATIC_CONST_MEMBER_DEFINITION const size_t | 16 STATIC_CONST_MEMBER_DEFINITION const size_t |
17 BytecodeArrayWriter::kMaxSizeOfPackedBytecode; | 17 BytecodeArrayWriter::kMaxSizeOfPackedBytecode; |
18 | 18 |
19 BytecodeArrayWriter::BytecodeArrayWriter( | 19 BytecodeArrayWriter::BytecodeArrayWriter( |
20 Isolate* isolate, Zone* zone, ConstantArrayBuilder* constant_array_builder) | 20 Isolate* isolate, Zone* zone, ConstantArrayBuilder* constant_array_builder, |
| 21 SourcePositionTableBuilder::RecordingMode source_position_mode) |
21 : isolate_(isolate), | 22 : isolate_(isolate), |
22 bytecodes_(zone), | 23 bytecodes_(zone), |
23 max_register_count_(0), | 24 max_register_count_(0), |
24 unbound_jumps_(0), | 25 unbound_jumps_(0), |
25 source_position_table_builder_(isolate, zone), | 26 source_position_table_builder_(isolate, zone, source_position_mode), |
26 constant_array_builder_(constant_array_builder) {} | 27 constant_array_builder_(constant_array_builder) {} |
27 | 28 |
28 // override | 29 // override |
29 BytecodeArrayWriter::~BytecodeArrayWriter() {} | 30 BytecodeArrayWriter::~BytecodeArrayWriter() {} |
30 | 31 |
31 // override | 32 // override |
32 Handle<BytecodeArray> BytecodeArrayWriter::ToBytecodeArray( | 33 Handle<BytecodeArray> BytecodeArrayWriter::ToBytecodeArray( |
33 int fixed_register_count, int parameter_count, | 34 int fixed_register_count, int parameter_count, |
34 Handle<FixedArray> handler_table) { | 35 Handle<FixedArray> handler_table) { |
35 DCHECK_EQ(0, unbound_jumps_); | 36 DCHECK_EQ(0, unbound_jumps_); |
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
382 node->set_bytecode(node->bytecode(), k32BitJumpPlaceholder); | 383 node->set_bytecode(node->bytecode(), k32BitJumpPlaceholder); |
383 break; | 384 break; |
384 } | 385 } |
385 } | 386 } |
386 EmitBytecode(node); | 387 EmitBytecode(node); |
387 } | 388 } |
388 | 389 |
389 } // namespace interpreter | 390 } // namespace interpreter |
390 } // namespace internal | 391 } // namespace internal |
391 } // namespace v8 | 392 } // namespace v8 |
OLD | NEW |