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

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: address comments 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
Index: runtime/vm/flow_graph_compiler.h
diff --git a/runtime/vm/flow_graph_compiler.h b/runtime/vm/flow_graph_compiler.h
index 3dc31a07ce518b5f6c1f50b04a6c28d830138b35..1a1dc4d1d8a3d051809835e19ca48e01598924ed 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
zra 2016/04/14 18:27:48 I'd leave these in and put UNREACHABLE() or simila
Florian Schneider 2016/04/15 01:17:28 I disagree. If we want to avoid the #ifdef here, o
Vyacheslav Egorov (Google) 2016/04/18 15:56:41 I am with Florian on this one. I think making them
+ // 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,
@@ -487,8 +484,16 @@ class FlowGraphCompiler : public ValueObject {
bool needs_number_check,
TokenPosition token_pos);
+ bool NeedsEdgeCounter(TargetEntryInstr* block);
+
+ void EmitEdgeCounter(intptr_t edge_id);
+#endif
zra 2016/04/14 18:27:48 add // !defined(TARGET_ARCH_DBC)
Vyacheslav Egorov (Google) 2016/04/18 15:56:41 Done.
+
void EmitTrySync(Instruction* instr, intptr_t try_index);
+ void EmitComment(Instruction* instr);
+
+
zra 2016/04/14 18:27:48 Extra space.
Vyacheslav Egorov (Google) 2016/04/18 15:56:41 Done.
intptr_t StackSize() const;
// Returns assembler label associated with the given block entry.
@@ -635,6 +640,9 @@ class FlowGraphCompiler : public ValueObject {
LocationSummary* locs,
const ICData& ic_data);
+ // DBC handles type tests differently from all other architectures due
zra 2016/04/14 18:27:48 ditto.
Vyacheslav Egorov (Google) 2016/04/18 15:56:41 Acknowledged.
+ // 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,
@@ -688,6 +696,7 @@ class FlowGraphCompiler : public ValueObject {
void GenerateBoolToJump(Register bool_reg, Label* is_true, Label* is_false);
void CopyParameters();
+#endif
zra 2016/04/14 18:27:48 add // !defined(TARGET_ARCH_DBC)
Vyacheslav Egorov (Google) 2016/04/18 15:56:41 Done.
void GenerateInlinedGetter(intptr_t offset);
void GenerateInlinedSetter(intptr_t offset);
@@ -720,7 +729,7 @@ class FlowGraphCompiler : public ValueObject {
return stackmap_table_builder_;
}
-#if defined(DEBUG)
+#if defined(DEBUG) && !defined(TARGET_ARCH_DBC)
zra 2016/04/14 18:27:48 ditto or add comment.
Vyacheslav Egorov (Google) 2016/04/18 15:56:41 There is a comment in the CC code. Duplicated it h
void FrameStateUpdateWith(Instruction* instr);
void FrameStatePush(Definition* defn);
void FrameStatePop(intptr_t count);

Powered by Google App Engine
This is Rietveld 408576698