Reviewers: Benedikt Meurer,

Description:
Some micro-optimizations in the scheduler.

[email protected]

Please review this at https://codereview.chromium.org/764533003/

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+4, -14 lines):
  M src/compiler/schedule.h
  M src/compiler/schedule.cc
  M src/compiler/scheduler.cc


Index: src/compiler/schedule.cc
diff --git a/src/compiler/schedule.cc b/src/compiler/schedule.cc
index 50ece951d689210dae8768931ecb05ab2f84c09a..0e7caa02130176b4f4c327cb2065eb5a42104ff8 100644
--- a/src/compiler/schedule.cc
+++ b/src/compiler/schedule.cc
@@ -62,16 +62,6 @@ void BasicBlock::set_control_input(Node* control_input) {
 }


-void BasicBlock::set_dominator_depth(int32_t dominator_depth) {
-  dominator_depth_ = dominator_depth;
-}
-
-
-void BasicBlock::set_dominator(BasicBlock* dominator) {
-  dominator_ = dominator;
-}
-
-
 void BasicBlock::set_loop_depth(int32_t loop_depth) {
   loop_depth_ = loop_depth;
 }
Index: src/compiler/schedule.h
diff --git a/src/compiler/schedule.h b/src/compiler/schedule.h
index 95b93b3e0d6e8400d4f565aa268e65800ffd3356..9c9667f8d3f1d5319649f80ac685dbf25c06b2c6 100644
--- a/src/compiler/schedule.h
+++ b/src/compiler/schedule.h
@@ -146,10 +146,10 @@ class BasicBlock FINAL : public ZoneObject {
   void set_deferred(bool deferred) { deferred_ = deferred; }

   int32_t dominator_depth() const { return dominator_depth_; }
-  void set_dominator_depth(int32_t dominator_depth);
+  void set_dominator_depth(int32_t depth) { dominator_depth_ = depth; }

   BasicBlock* dominator() const { return dominator_; }
-  void set_dominator(BasicBlock* dominator);
+  void set_dominator(BasicBlock* dominator) { dominator_ = dominator; }

   BasicBlock* loop_header() const { return loop_header_; }
   void set_loop_header(BasicBlock* loop_header);
Index: src/compiler/scheduler.cc
diff --git a/src/compiler/scheduler.cc b/src/compiler/scheduler.cc
index 8c169368e54d5e8883e6184d542d7b02e5a34c18..35d7ab9d8807fb58268ae0cd7e40aefe0549f2fe 100644
--- a/src/compiler/scheduler.cc
+++ b/src/compiler/scheduler.cc
@@ -1063,9 +1063,9 @@ void Scheduler::GenerateImmediateDominatorTree() {
   // Build the block dominator tree.
   schedule_->start()->set_dominator_depth(0);
   typedef SpecialRPONumberer::BlockList BlockList;
-  for (BlockList* l = special_rpo_->order_; l != NULL; l = l->next) {
+  DCHECK_EQ(schedule_->start(), special_rpo_->order_->block);
+  for (BlockList* l = special_rpo_->order_->next; l != NULL; l = l->next) {
     BasicBlock* current = l->block;
-    if (current == schedule_->start()) continue;
BasicBlock::Predecessors::iterator pred = current->predecessors_begin();
     BasicBlock::Predecessors::iterator end = current->predecessors_end();
     DCHECK(pred != end);  // All blocks except start have predecessors.


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to