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

Unified Diff: runtime/vm/intermediate_language.h

Issue 11269040: More inlining flags and tuned heuristics. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: out/DebugIA32/dart --ignore-unrecognized-flags /usr/local/google/home/zerny/src/dart/dart/tests/co1… Created 8 years, 2 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/intermediate_language.h
diff --git a/runtime/vm/intermediate_language.h b/runtime/vm/intermediate_language.h
index 6ce7d7542c580ea177bb57b51419f43f40d116fa..7cba8b33c5b581b44d2713a5959878ef60482383 100644
--- a/runtime/vm/intermediate_language.h
+++ b/runtime/vm/intermediate_language.h
@@ -747,12 +747,14 @@ class BlockEntryInstr : public Instruction {
loop_info_ = loop_info;
}
+ intptr_t loop_depth() const { return loop_depth_; }
+
virtual BlockEntryInstr* GetBlock() const {
return const_cast<BlockEntryInstr*>(this);
}
protected:
- BlockEntryInstr(intptr_t block_id, intptr_t try_index)
+ BlockEntryInstr(intptr_t block_id, intptr_t try_index, intptr_t loop_depth)
: block_id_(block_id),
try_index_(try_index),
preorder_number_(-1),
@@ -761,7 +763,8 @@ class BlockEntryInstr : public Instruction {
dominated_blocks_(1),
last_instruction_(NULL),
parallel_move_(NULL),
- loop_info_(NULL) { }
+ loop_info_(NULL),
+ loop_depth_(loop_depth) { }
private:
virtual void ClearPredecessors() = 0;
@@ -788,6 +791,9 @@ class BlockEntryInstr : public Instruction {
// preorder number.
BitVector* loop_info_;
+ // Syntactic loop depth of the block.
+ intptr_t loop_depth_;
+
DISALLOW_COPY_AND_ASSIGN(BlockEntryInstr);
};
@@ -901,8 +907,8 @@ class GraphEntryInstr : public BlockEntryInstr {
class JoinEntryInstr : public BlockEntryInstr {
public:
- JoinEntryInstr(intptr_t block_id, intptr_t try_index)
- : BlockEntryInstr(block_id, try_index),
+ JoinEntryInstr(intptr_t block_id, intptr_t try_index, intptr_t loop_depth)
+ : BlockEntryInstr(block_id, try_index, loop_depth),
predecessors_(2), // Two is the assumed to be the common case.
phis_(NULL),
phi_count_(0) { }
@@ -971,8 +977,8 @@ class PhiIterator : public ValueObject {
class TargetEntryInstr : public BlockEntryInstr {
public:
- TargetEntryInstr(intptr_t block_id, intptr_t try_index)
- : BlockEntryInstr(block_id, try_index),
+ TargetEntryInstr(intptr_t block_id, intptr_t try_index, intptr_t loop_depth)
+ : BlockEntryInstr(block_id, try_index, loop_depth),
predecessor_(NULL),
catch_try_index_(CatchClauseNode::kInvalidTryIndex) { }

Powered by Google App Engine
This is Rietveld 408576698