| Index: runtime/vm/kernel_binary_flowgraph.h
|
| diff --git a/runtime/vm/kernel_binary_flowgraph.h b/runtime/vm/kernel_binary_flowgraph.h
|
| index eb819e26ba3dd8508e464ac01ec66c482e603bc3..a4c5f09ca38b13ab77d9658167c50429c8a75f05 100644
|
| --- a/runtime/vm/kernel_binary_flowgraph.h
|
| +++ b/runtime/vm/kernel_binary_flowgraph.h
|
| @@ -23,26 +23,52 @@ class StreamingFlowGraphBuilder {
|
| const uint8_t* buffer,
|
| intptr_t buffer_length)
|
| : flow_graph_builder_(flowGraph_builder),
|
| - reader_(new kernel::Reader(buffer, buffer_length)) {}
|
| + reader_(new kernel::Reader(buffer, buffer_length)),
|
| + string_table_offsets_(NULL),
|
| + string_table_size_(-1),
|
| + string_table_entries_read_(0) {}
|
|
|
| - virtual ~StreamingFlowGraphBuilder() { delete reader_; }
|
| + virtual ~StreamingFlowGraphBuilder() {
|
| + delete reader_;
|
| + if (string_table_offsets_ != NULL) {
|
| + delete[] string_table_offsets_;
|
| + }
|
| + }
|
|
|
| Fragment BuildAt(int64_t kernel_offset);
|
|
|
| private:
|
| + intptr_t GetStringTableOffset(intptr_t index);
|
| +
|
| + uint32_t ReadUInt();
|
| + intptr_t ReadListLength();
|
| TokenPosition ReadPosition(bool record = true);
|
|
|
| CatchBlock* catch_block();
|
| + ScopeBuildingResult* scopes();
|
|
|
| Fragment DebugStepCheck(TokenPosition position);
|
| Fragment LoadLocal(LocalVariable* variable);
|
| Fragment PushArgument();
|
| Fragment RethrowException(TokenPosition position, int catch_try_index);
|
| + Fragment ThrowNoSuchMethodError();
|
| + Fragment Constant(const Object& value);
|
| + Fragment IntConstant(int64_t value);
|
|
|
| + Fragment BuildInvalidExpression();
|
| + Fragment BuildThisExpression();
|
| Fragment BuildRethrow();
|
| + Fragment BuildStringLiteral();
|
| + Fragment BuildIntLiteral(uint8_t payload);
|
| + Fragment BuildIntLiteral(bool is_negative);
|
| + Fragment BuildBoolLiteral(bool value);
|
| + Fragment BuildNullLiteral();
|
|
|
| FlowGraphBuilder* flow_graph_builder_;
|
| kernel::Reader* reader_;
|
| + intptr_t* string_table_offsets_;
|
| + intptr_t string_table_size_;
|
| + intptr_t string_table_entries_read_;
|
| };
|
|
|
| } // namespace kernel
|
|
|