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

Unified Diff: runtime/vm/flow_graph_compiler.h

Issue 1858283002: Initial SIMDBC interpreter. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 8 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/flow_graph_builder.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 7c1fa0e41161f6e7aed39302a3cbe0efd75159c3..586dbdb9bf485a4b153072da831581c22ec43413 100644
--- a/runtime/vm/flow_graph_compiler.h
+++ b/runtime/vm/flow_graph_compiler.h
@@ -367,6 +367,15 @@ class FlowGraphCompiler : public ValueObject {
// Returns 'true' if regular code generation should be skipped.
bool TryIntrinsify();
+ void GenerateAssertAssignable(TokenPosition token_pos,
+ intptr_t deopt_id,
+ const AbstractType& dst_type,
+ const String& dst_name,
+ LocationSummary* locs);
+
+ // DBC emits calls very differently from all other architectures due to its
+ // interpreted nature.
+#if !defined(TARGET_ARCH_DBC)
void GenerateRuntimeCall(TokenPosition token_pos,
intptr_t deopt_id,
const RuntimeEntry& entry,
@@ -390,12 +399,6 @@ class FlowGraphCompiler : public ValueObject {
LocationSummary* locs,
const Function& target);
- void GenerateAssertAssignable(TokenPosition token_pos,
- intptr_t deopt_id,
- const AbstractType& dst_type,
- const String& dst_name,
- LocationSummary* locs);
-
void GenerateInstanceOf(TokenPosition token_pos,
intptr_t deopt_id,
const AbstractType& type,
@@ -426,12 +429,6 @@ class FlowGraphCompiler : public ValueObject {
void GenerateListTypeCheck(Register kClassIdReg,
Label* is_instance_lbl);
- void EmitComment(Instruction* instr);
-
- bool NeedsEdgeCounter(TargetEntryInstr* block);
-
- void EmitEdgeCounter(intptr_t edge_id);
-
void EmitOptimizedInstanceCall(const StubEntry& stub_entry,
const ICData& ic_data,
intptr_t argument_count,
@@ -489,8 +486,15 @@ class FlowGraphCompiler : public ValueObject {
bool needs_number_check,
TokenPosition token_pos);
+ bool NeedsEdgeCounter(TargetEntryInstr* block);
+
+ void EmitEdgeCounter(intptr_t edge_id);
+#endif // !defined(TARGET_ARCH_DBC)
+
void EmitTrySync(Instruction* instr, intptr_t try_index);
+ void EmitComment(Instruction* instr);
+
intptr_t StackSize() const;
// Returns assembler label associated with the given block entry.
@@ -637,6 +641,9 @@ class FlowGraphCompiler : public ValueObject {
LocationSummary* locs,
const ICData& ic_data);
+ // DBC handles type tests differently from all other architectures due
+ // to its interpreted nature.
+#if !defined(TARGET_ARCH_DBC)
// Type checking helper methods.
void CheckClassIds(Register class_id_reg,
const GrowableArray<intptr_t>& class_ids,
@@ -690,6 +697,7 @@ class FlowGraphCompiler : public ValueObject {
void GenerateBoolToJump(Register bool_reg, Label* is_true, Label* is_false);
void CopyParameters();
+#endif // !defined(TARGET_ARCH_DBC)
void GenerateInlinedGetter(intptr_t offset);
void GenerateInlinedSetter(intptr_t offset);
@@ -722,7 +730,10 @@ class FlowGraphCompiler : public ValueObject {
return stackmap_table_builder_;
}
-#if defined(DEBUG)
+ // TODO(vegorov) re-enable frame state tracking on DBC. It is
+ // currently disabled because it relies on LocationSummaries and
+ // we don't use them during unoptimized compilation on DBC.
+#if defined(DEBUG) && !defined(TARGET_ARCH_DBC)
void FrameStateUpdateWith(Instruction* instr);
void FrameStatePush(Definition* defn);
void FrameStatePop(intptr_t count);
« no previous file with comments | « runtime/vm/flow_graph_builder.cc ('k') | runtime/vm/flow_graph_compiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698