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

Side by Side Diff: src/rewriter.cc

Issue 6810015: Remove unnecessary AST node for ++ and -- operations. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 9 years, 8 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
« no previous file with comments | « src/prettyprinter.cc ('k') | src/x64/full-codegen-x64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 414 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 default: 425 default:
426 UNREACHABLE(); 426 UNREACHABLE();
427 break; 427 break;
428 } 428 }
429 } else if (node->op() == Token::BIT_NOT) { 429 } else if (node->op() == Token::BIT_NOT) {
430 node->expression()->set_to_int32(true); 430 node->expression()->set_to_int32(true);
431 } 431 }
432 } 432 }
433 433
434 434
435 void AstOptimizer::VisitIncrementOperation(IncrementOperation* node) {
436 UNREACHABLE();
437 }
438
439
440 void AstOptimizer::VisitCountOperation(CountOperation* node) { 435 void AstOptimizer::VisitCountOperation(CountOperation* node) {
441 // Count operations assume that they work on Smis. 436 // Count operations assume that they work on Smis.
442 node->expression()->set_no_negative_zero(node->is_prefix() ? 437 node->expression()->set_no_negative_zero(node->is_prefix() ?
443 true : 438 true :
444 node->no_negative_zero()); 439 node->no_negative_zero());
445 node->type()->SetAsLikelySmiIfUnknown(); 440 node->type()->SetAsLikelySmiIfUnknown();
446 node->expression()->type()->SetAsLikelySmiIfUnknown(); 441 node->expression()->type()->SetAsLikelySmiIfUnknown();
447 Visit(node->expression()); 442 Visit(node->expression());
448 } 443 }
449 444
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
936 UNREACHABLE(); 931 UNREACHABLE();
937 } 932 }
938 933
939 934
940 void Processor::VisitUnaryOperation(UnaryOperation* node) { 935 void Processor::VisitUnaryOperation(UnaryOperation* node) {
941 USE(node); 936 USE(node);
942 UNREACHABLE(); 937 UNREACHABLE();
943 } 938 }
944 939
945 940
946 void Processor::VisitIncrementOperation(IncrementOperation* node) {
947 UNREACHABLE();
948 }
949
950
951 void Processor::VisitCountOperation(CountOperation* node) { 941 void Processor::VisitCountOperation(CountOperation* node) {
952 USE(node); 942 USE(node);
953 UNREACHABLE(); 943 UNREACHABLE();
954 } 944 }
955 945
956 946
957 void Processor::VisitBinaryOperation(BinaryOperation* node) { 947 void Processor::VisitBinaryOperation(BinaryOperation* node) {
958 USE(node); 948 USE(node);
959 UNREACHABLE(); 949 UNREACHABLE();
960 } 950 }
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1015 if (FLAG_optimize_ast && !body->is_empty()) { 1005 if (FLAG_optimize_ast && !body->is_empty()) {
1016 AstOptimizer optimizer; 1006 AstOptimizer optimizer;
1017 optimizer.Optimize(body); 1007 optimizer.Optimize(body);
1018 if (optimizer.HasStackOverflow()) return false; 1008 if (optimizer.HasStackOverflow()) return false;
1019 } 1009 }
1020 return true; 1010 return true;
1021 } 1011 }
1022 1012
1023 1013
1024 } } // namespace v8::internal 1014 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/prettyprinter.cc ('k') | src/x64/full-codegen-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698