| Index: runtime/vm/flow_graph_builder.h
|
| ===================================================================
|
| --- runtime/vm/flow_graph_builder.h (revision 27690)
|
| +++ runtime/vm/flow_graph_builder.h (working copy)
|
| @@ -98,13 +98,14 @@
|
|
|
|
|
| // Build a flow graph from a parsed function's AST.
|
| -class FlowGraphBuilder: public ValueObject {
|
| +class FlowGraphBuilder: public ZoneAllocated {
|
| public:
|
| // The inlining context is NULL if not inlining. The osr_id is the deopt
|
| // id of the OSR entry or Isolate::kNoDeoptId if not compiling for OSR.
|
| FlowGraphBuilder(ParsedFunction* parsed_function,
|
| const Array& ic_data_array,
|
| InlineExitCollector* exit_collector,
|
| + GrowableArray<const Field*>* guarded_fields,
|
| intptr_t osr_id);
|
|
|
| FlowGraph* BuildGraph();
|
| @@ -147,6 +148,12 @@
|
| bool IsInlining() const { return (exit_collector_ != NULL); }
|
| InlineExitCollector* exit_collector() const { return exit_collector_; }
|
|
|
| + GrowableArray<const Field*>* guarded_fields() const {
|
| + return guarded_fields_;
|
| + }
|
| +
|
| + void AddToGuardedFields(const Field& field) const;
|
| +
|
| intptr_t args_pushed() const { return args_pushed_; }
|
| void add_args_pushed(intptr_t n) { args_pushed_ += n; }
|
|
|
| @@ -169,6 +176,7 @@
|
| const intptr_t num_non_copied_params_;
|
| const intptr_t num_stack_locals_; // Does not include any parameters.
|
| InlineExitCollector* const exit_collector_;
|
| + GrowableArray<const Field*>* guarded_fields_;
|
|
|
| intptr_t last_used_block_id_;
|
| intptr_t context_level_;
|
|
|