Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Side by Side Diff: src/hydrogen.cc

Issue 15300018: Add initial parser support for harmony iteration (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Use subtyping instead of enumerated value Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 6339 matching lines...) Expand 10 before | Expand all | Expand 10 after
6350 HBasicBlock* loop_exit = CreateLoop(stmt, 6350 HBasicBlock* loop_exit = CreateLoop(stmt,
6351 loop_entry, 6351 loop_entry,
6352 body_exit, 6352 body_exit,
6353 loop_successor, 6353 loop_successor,
6354 break_info.break_block()); 6354 break_info.break_block());
6355 6355
6356 set_current_block(loop_exit); 6356 set_current_block(loop_exit);
6357 } 6357 }
6358 6358
6359 6359
6360 void HOptimizedGraphBuilder::VisitForOfStatement(ForOfStatement* stmt) {
6361 ASSERT(!HasStackOverflow());
6362 ASSERT(current_block() != NULL);
6363 ASSERT(current_block()->HasPredecessor());
6364 return Bailout("ForOfStatement");
6365 }
6366
6367
6360 void HOptimizedGraphBuilder::VisitTryCatchStatement(TryCatchStatement* stmt) { 6368 void HOptimizedGraphBuilder::VisitTryCatchStatement(TryCatchStatement* stmt) {
6361 ASSERT(!HasStackOverflow()); 6369 ASSERT(!HasStackOverflow());
6362 ASSERT(current_block() != NULL); 6370 ASSERT(current_block() != NULL);
6363 ASSERT(current_block()->HasPredecessor()); 6371 ASSERT(current_block()->HasPredecessor());
6364 return Bailout("TryCatchStatement"); 6372 return Bailout("TryCatchStatement");
6365 } 6373 }
6366 6374
6367 6375
6368 void HOptimizedGraphBuilder::VisitTryFinallyStatement( 6376 void HOptimizedGraphBuilder::VisitTryFinallyStatement(
6369 TryFinallyStatement* stmt) { 6377 TryFinallyStatement* stmt) {
(...skipping 6099 matching lines...) Expand 10 before | Expand all | Expand 10 after
12469 } 12477 }
12470 } 12478 }
12471 12479
12472 #ifdef DEBUG 12480 #ifdef DEBUG
12473 if (graph_ != NULL) graph_->Verify(false); // No full verify. 12481 if (graph_ != NULL) graph_->Verify(false); // No full verify.
12474 if (allocator_ != NULL) allocator_->Verify(); 12482 if (allocator_ != NULL) allocator_->Verify();
12475 #endif 12483 #endif
12476 } 12484 }
12477 12485
12478 } } // namespace v8::internal 12486 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698