Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Unified Diff: runtime/vm/flow_graph_compiler.h

Issue 2734323003: Re-landing of "replace TrySync with Metadata". (Closed)
Patch Set: Address review comments Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/fixed_cache_test.cc ('k') | runtime/vm/flow_graph_compiler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
« no previous file with comments | « runtime/vm/fixed_cache_test.cc ('k') | runtime/vm/flow_graph_compiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698