Revision: 17464
Author: [email protected]
Date: Tue Nov 5 08:56:48 2013 UTC
Log: Do Else() first for JoinContinuation() in IfBuilder.
This is required to make sure that environments are correct
for joined continuations.
[email protected]
Review URL: https://codereview.chromium.org/52593008
http://code.google.com/p/v8/source/detail?r=17464
Modified:
/branches/bleeding_edge/src/hydrogen.cc
=======================================
--- /branches/bleeding_edge/src/hydrogen.cc Thu Oct 24 19:01:30 2013 UTC
+++ /branches/bleeding_edge/src/hydrogen.cc Tue Nov 5 08:56:48 2013 UTC
@@ -844,12 +844,12 @@
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.