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.