Reviewers: mvstanton,

Message:
Hey Michael,
First part of IfBuilder changes we're talking about yesterday. PTAL
-- Benedikt

Description:
Implement IfNot() in terms of If(), and add missing IfNot(HValue*) method.

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

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+12, -4 lines):
  M src/hydrogen.h


Index: src/hydrogen.h
diff --git a/src/hydrogen.h b/src/hydrogen.h
index 50e22f5287ac83001e5f024b2bffeeaacac7a780..b27701c4af5513d619156c44926ef2b170ec33eb 100644
--- a/src/hydrogen.h
+++ b/src/hydrogen.h
@@ -1305,10 +1305,19 @@ class HGraphBuilder {
       return compare;
     }

+    template<class Condition>
+    Condition* IfNot(HValue* p) {
+      Condition* compare = If<Condition>(p);
+      HBasicBlock* block0 = compare->SuccessorAt(0);
+      HBasicBlock* block1 = compare->SuccessorAt(1);
+      compare->SetSuccessorAt(0, block1);
+      compare->SetSuccessorAt(1, block0);
+      return compare;
+    }
+
     template<class Condition, class P2>
     Condition* IfNot(HValue* p1, P2 p2) {
-      Condition* compare = builder()->New<Condition>(p1, p2);
-      AddCompare(compare);
+      Condition* compare = If<Condition>(p1, p2);
       HBasicBlock* block0 = compare->SuccessorAt(0);
       HBasicBlock* block1 = compare->SuccessorAt(1);
       compare->SetSuccessorAt(0, block1);
@@ -1318,8 +1327,7 @@ class HGraphBuilder {

     template<class Condition, class P2, class P3>
     Condition* IfNot(HValue* p1, P2 p2, P3 p3) {
-      Condition* compare = builder()->New<Condition>(p1, p2, p3);
-      AddCompare(compare);
+      Condition* compare = If<Condition>(p1, p2, p3);
       HBasicBlock* block0 = compare->SuccessorAt(0);
       HBasicBlock* block1 = compare->SuccessorAt(1);
       compare->SetSuccessorAt(0, block1);


--
--
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/groups/opt_out.

Reply via email to