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-representation-changes.cc

Issue 430503007: Rename ASSERT* to DCHECK*. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: REBASE and fixes Created 6 years, 4 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/hydrogen-removable-simulates.cc ('k') | src/hydrogen-types.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 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 "src/hydrogen-representation-changes.h" 5 #include "src/hydrogen-representation-changes.h"
6 6
7 namespace v8 { 7 namespace v8 {
8 namespace internal { 8 namespace internal {
9 9
10 void HRepresentationChangesPhase::InsertRepresentationChangeForUse( 10 void HRepresentationChangesPhase::InsertRepresentationChangeForUse(
(...skipping 23 matching lines...) Expand all
34 new_value = constant->CopyToRepresentation(to, graph()->zone()); 34 new_value = constant->CopyToRepresentation(to, graph()->zone());
35 } 35 }
36 } 36 }
37 37
38 if (new_value == NULL) { 38 if (new_value == NULL) {
39 new_value = new(graph()->zone()) HChange( 39 new_value = new(graph()->zone()) HChange(
40 value, to, is_truncating_to_smi, is_truncating_to_int); 40 value, to, is_truncating_to_smi, is_truncating_to_int);
41 if (!use_value->operand_position(use_index).IsUnknown()) { 41 if (!use_value->operand_position(use_index).IsUnknown()) {
42 new_value->set_position(use_value->operand_position(use_index)); 42 new_value->set_position(use_value->operand_position(use_index));
43 } else { 43 } else {
44 ASSERT(!FLAG_hydrogen_track_positions || 44 DCHECK(!FLAG_hydrogen_track_positions ||
45 !graph()->info()->IsOptimizing()); 45 !graph()->info()->IsOptimizing());
46 } 46 }
47 } 47 }
48 48
49 new_value->InsertBefore(next); 49 new_value->InsertBefore(next);
50 use_value->SetOperandAt(use_index, new_value); 50 use_value->SetOperandAt(use_index, new_value);
51 } 51 }
52 52
53 53
54 static bool IsNonDeoptingIntToSmiChange(HChange* change) { 54 static bool IsNonDeoptingIntToSmiChange(HChange* change) {
55 Representation from_rep = change->from(); 55 Representation from_rep = change->from();
56 Representation to_rep = change->to(); 56 Representation to_rep = change->to();
57 // Flags indicating Uint32 operations are set in a later Hydrogen phase. 57 // Flags indicating Uint32 operations are set in a later Hydrogen phase.
58 ASSERT(!change->CheckFlag(HValue::kUint32)); 58 DCHECK(!change->CheckFlag(HValue::kUint32));
59 return from_rep.IsInteger32() && to_rep.IsSmi() && SmiValuesAre32Bits(); 59 return from_rep.IsInteger32() && to_rep.IsSmi() && SmiValuesAre32Bits();
60 } 60 }
61 61
62 62
63 void HRepresentationChangesPhase::InsertRepresentationChangesForValue( 63 void HRepresentationChangesPhase::InsertRepresentationChangesForValue(
64 HValue* value) { 64 HValue* value) {
65 Representation r = value->representation(); 65 Representation r = value->representation();
66 if (r.IsNone()) return; 66 if (r.IsNone()) return;
67 if (value->HasNoUses()) { 67 if (value->HasNoUses()) {
68 if (value->IsForceRepresentation()) value->DeleteAndReplaceWith(NULL); 68 if (value->IsForceRepresentation()) value->DeleteAndReplaceWith(NULL);
(...skipping 17 matching lines...) Expand all
86 HChange* change = HChange::cast(input); 86 HChange* change = HChange::cast(input);
87 if (change->from().Equals(req) && IsNonDeoptingIntToSmiChange(change)) { 87 if (change->from().Equals(req) && IsNonDeoptingIntToSmiChange(change)) {
88 use_value->SetOperandAt(use_index, change->value()); 88 use_value->SetOperandAt(use_index, change->value());
89 continue; 89 continue;
90 } 90 }
91 } 91 }
92 } 92 }
93 InsertRepresentationChangeForUse(value, use_value, use_index, req); 93 InsertRepresentationChangeForUse(value, use_value, use_index, req);
94 } 94 }
95 if (value->HasNoUses()) { 95 if (value->HasNoUses()) {
96 ASSERT(value->IsConstant() || value->IsForceRepresentation()); 96 DCHECK(value->IsConstant() || value->IsForceRepresentation());
97 value->DeleteAndReplaceWith(NULL); 97 value->DeleteAndReplaceWith(NULL);
98 } else { 98 } else {
99 // The only purpose of a HForceRepresentation is to represent the value 99 // The only purpose of a HForceRepresentation is to represent the value
100 // after the (possible) HChange instruction. We make it disappear. 100 // after the (possible) HChange instruction. We make it disappear.
101 if (value->IsForceRepresentation()) { 101 if (value->IsForceRepresentation()) {
102 value->DeleteAndReplaceWith(HForceRepresentation::cast(value)->value()); 102 value->DeleteAndReplaceWith(HForceRepresentation::cast(value)->value());
103 } 103 }
104 } 104 }
105 } 105 }
106 106
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 // Process normal instructions. 194 // Process normal instructions.
195 for (HInstruction* current = block->first(); current != NULL; ) { 195 for (HInstruction* current = block->first(); current != NULL; ) {
196 HInstruction* next = current->next(); 196 HInstruction* next = current->next();
197 InsertRepresentationChangesForValue(current); 197 InsertRepresentationChangesForValue(current);
198 current = next; 198 current = next;
199 } 199 }
200 } 200 }
201 } 201 }
202 202
203 } } // namespace v8::internal 203 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/hydrogen-removable-simulates.cc ('k') | src/hydrogen-types.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698