Index: runtime/vm/flow_graph_compiler.h |
diff --git a/runtime/vm/flow_graph_compiler.h b/runtime/vm/flow_graph_compiler.h |
index b0f034d7f76a555b1e70b33b1aafb85f7dc47cee..35cebc62bbd24d335f0a7729a9dd0c58d71b8d10 100644 |
--- a/runtime/vm/flow_graph_compiler.h |
+++ b/runtime/vm/flow_graph_compiler.h |
@@ -23,6 +23,7 @@ template <typename T> |
class GrowableArray; |
class ParsedFunction; |
+ |
class ParallelMoveResolver : public ValueObject { |
public: |
explicit ParallelMoveResolver(FlowGraphCompiler* compiler); |
@@ -361,6 +362,12 @@ class FlowGraphCompiler : public ValueObject { |
RawPcDescriptors::Kind kind, |
LocationSummary* locs); |
+ void GenerateCallWithDeopt(TokenPosition token_pos, |
+ intptr_t deopt_id, |
+ const StubEntry& stub_entry, |
+ RawPcDescriptors::Kind kind, |
+ LocationSummary* locs); |
+ |
void GeneratePatchableCall(TokenPosition token_pos, |
const StubEntry& stub_entry, |
RawPcDescriptors::Kind kind, |
@@ -467,8 +474,14 @@ class FlowGraphCompiler : public ValueObject { |
void EmitEdgeCounter(intptr_t edge_id); |
#endif // !defined(TARGET_ARCH_DBC) |
+ void EmitCatchEntryState( |
+ Environment* env = NULL, |
+ intptr_t try_index = CatchClauseNode::kInvalidTryIndex); |
- void EmitTrySync(Instruction* instr, intptr_t try_index); |
+ void EmitCallsiteMetaData(TokenPosition token_pos, |
+ intptr_t deopt_id, |
+ RawPcDescriptors::Kind kind, |
+ LocationSummary* locs); |
void EmitComment(Instruction* instr); |
@@ -530,6 +543,7 @@ class FlowGraphCompiler : public ValueObject { |
RawArray* CreateDeoptInfo(Assembler* assembler); |
void FinalizeStackMaps(const Code& code); |
void FinalizeVarDescriptors(const Code& code); |
+ void FinalizeCatchEntryStateMap(const Code& code); |
void FinalizeStaticCallTargetsTable(const Code& code); |
void FinalizeCodeSourceMap(const Code& code); |
@@ -609,6 +623,8 @@ class FlowGraphCompiler : public ValueObject { |
private: |
friend class CheckStackOverflowSlowPath; // For pending_deoptimization_env_. |
+ friend class CheckedSmiSlowPath; // Same. |
+ friend class CheckedSmiComparisonSlowPath; // Same. |
static bool ShouldInlineSmiStringHashCode(const ICData& ic_data); |
@@ -771,6 +787,7 @@ class FlowGraphCompiler : public ValueObject { |
DescriptorList* pc_descriptors_list_; |
StackMapTableBuilder* stackmap_table_builder_; |
CodeSourceMapBuilder* code_source_map_builder_; |
+ CatchEntryStateMapBuilder* catch_entry_state_maps_builder_; |
GrowableArray<BlockInfo*> block_info_; |
GrowableArray<CompilerDeoptInfo*> deopt_infos_; |
GrowableArray<SlowPathCode*> slow_path_code_; |