Reviewers: Sven Panne,
Message:
PTAL
Description:
Do Else() first for JoinContinuation() in IfBuilder.
This is required to make sure that environments are correct
for joined continuations.
Please review this at https://codereview.chromium.org/52593008/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+3, -3 lines):
M src/hydrogen.cc
Index: src/hydrogen.cc
diff --git a/src/hydrogen.cc b/src/hydrogen.cc
index
3b232e6e93ee2d307e5ea9504266825fb9f11b36..5fc107c3324d10352f245d3b6454f8ee6c287b1f
100644
--- a/src/hydrogen.cc
+++ b/src/hydrogen.cc
@@ -844,12 +844,12 @@ void HGraphBuilder::IfBuilder::CaptureContinuation(
void HGraphBuilder::IfBuilder::JoinContinuation(HIfContinuation*
continuation) {
ASSERT(!finished_);
ASSERT(!captured_);
+ ASSERT(did_then_);
+ if (!did_else_) Else();
HBasicBlock* true_block = last_true_block_ == NULL
? first_true_block_
: last_true_block_;
- HBasicBlock* false_block = did_else_ && (first_false_block_ != NULL)
- ? builder_->current_block()
- : first_false_block_;
+ HBasicBlock* false_block = builder_->current_block();
if (true_block != NULL && !true_block->IsFinished()) {
ASSERT(continuation->IsTrueReachable());
builder_->GotoNoSimulate(true_block, continuation->true_branch());
--
--
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.