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

Side by Side Diff: src/hydrogen-check-elimination.cc

Issue 292993002: Fix invalid condition in check elimination effects. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "hydrogen-check-elimination.h" 5 #include "hydrogen-check-elimination.h"
6 6
7 #include "hydrogen-alias-analysis.h" 7 #include "hydrogen-alias-analysis.h"
8 #include "hydrogen-flow-engine.h" 8 #include "hydrogen-flow-engine.h"
9 9
10 #define GLOBAL 1 10 #define GLOBAL 1
(...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after
707 explicit HCheckMapsEffects(Zone* zone) : objects_(0, zone) { } 707 explicit HCheckMapsEffects(Zone* zone) : objects_(0, zone) { }
708 708
709 // Effects are _not_ disabled. 709 // Effects are _not_ disabled.
710 inline bool Disabled() const { return false; } 710 inline bool Disabled() const { return false; }
711 711
712 // Process a possibly side-effecting instruction. 712 // Process a possibly side-effecting instruction.
713 void Process(HInstruction* instr, Zone* zone) { 713 void Process(HInstruction* instr, Zone* zone) {
714 switch (instr->opcode()) { 714 switch (instr->opcode()) {
715 case HValue::kStoreNamedField: { 715 case HValue::kStoreNamedField: {
716 HStoreNamedField* store = HStoreNamedField::cast(instr); 716 HStoreNamedField* store = HStoreNamedField::cast(instr);
717 if (store->access().IsMap() && store->has_transition()) { 717 if (store->access().IsMap() || store->has_transition()) {
718 objects_.Add(store->object(), zone); 718 objects_.Add(store->object(), zone);
719 } 719 }
720 break; 720 break;
721 } 721 }
722 case HValue::kTransitionElementsKind: { 722 case HValue::kTransitionElementsKind: {
723 objects_.Add(HTransitionElementsKind::cast(instr)->object(), zone); 723 objects_.Add(HTransitionElementsKind::cast(instr)->object(), zone);
724 break; 724 break;
725 } 725 }
726 default: { 726 default: {
727 flags_.Add(instr->ChangesFlags()); 727 flags_.Add(instr->ChangesFlags());
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
796 PRINT_STAT(removed_cho); 796 PRINT_STAT(removed_cho);
797 PRINT_STAT(narrowed); 797 PRINT_STAT(narrowed);
798 PRINT_STAT(loads); 798 PRINT_STAT(loads);
799 PRINT_STAT(empty); 799 PRINT_STAT(empty);
800 PRINT_STAT(compares_true); 800 PRINT_STAT(compares_true);
801 PRINT_STAT(compares_false); 801 PRINT_STAT(compares_false);
802 PRINT_STAT(transitions); 802 PRINT_STAT(transitions);
803 } 803 }
804 804
805 } } // namespace v8::internal 805 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698