OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 5773 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5784 if (join != NULL) { | 5784 if (join != NULL) { |
5785 Goto(join); | 5785 Goto(join); |
5786 } else { | 5786 } else { |
5787 Add<HSimulate>(ast_id, REMOVABLE_SIMULATE); | 5787 Add<HSimulate>(ast_id, REMOVABLE_SIMULATE); |
5788 if (!ast_context()->IsEffect()) ast_context()->ReturnValue(Pop()); | 5788 if (!ast_context()->IsEffect()) ast_context()->ReturnValue(Pop()); |
5789 return; | 5789 return; |
5790 } | 5790 } |
5791 } | 5791 } |
5792 | 5792 |
5793 ASSERT(join != NULL); | 5793 ASSERT(join != NULL); |
5794 join->SetJoinId(ast_id); | 5794 if (join->HasPredecessor()) { |
5795 set_current_block(join); | 5795 join->SetJoinId(ast_id); |
5796 if (!ast_context()->IsEffect()) ast_context()->ReturnValue(Pop()); | 5796 set_current_block(join); |
| 5797 if (!ast_context()->IsEffect()) ast_context()->ReturnValue(Pop()); |
| 5798 } else { |
| 5799 set_current_block(NULL); |
| 5800 } |
5797 } | 5801 } |
5798 | 5802 |
5799 | 5803 |
5800 static bool ComputeReceiverTypes(Expression* expr, | 5804 static bool ComputeReceiverTypes(Expression* expr, |
5801 HValue* receiver, | 5805 HValue* receiver, |
5802 SmallMapList** t, | 5806 SmallMapList** t, |
5803 Zone* zone) { | 5807 Zone* zone) { |
5804 SmallMapList* types = expr->GetReceiverTypes(); | 5808 SmallMapList* types = expr->GetReceiverTypes(); |
5805 *t = types; | 5809 *t = types; |
5806 bool monomorphic = expr->IsMonomorphic(); | 5810 bool monomorphic = expr->IsMonomorphic(); |
(...skipping 5473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11280 if (ShouldProduceTraceOutput()) { | 11284 if (ShouldProduceTraceOutput()) { |
11281 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 11285 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
11282 } | 11286 } |
11283 | 11287 |
11284 #ifdef DEBUG | 11288 #ifdef DEBUG |
11285 graph_->Verify(false); // No full verify. | 11289 graph_->Verify(false); // No full verify. |
11286 #endif | 11290 #endif |
11287 } | 11291 } |
11288 | 11292 |
11289 } } // namespace v8::internal | 11293 } } // namespace v8::internal |
OLD | NEW |