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

Side by Side Diff: src/hydrogen-escape-analysis.cc

Issue 292993003: Revert "Refactor transitioning stores." (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 | « src/hydrogen-check-elimination.cc ('k') | src/hydrogen-instructions.h » ('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 "hydrogen-escape-analysis.h" 5 #include "hydrogen-escape-analysis.h"
6 6
7 namespace v8 { 7 namespace v8 {
8 namespace internal { 8 namespace internal {
9 9
10 10
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 } 199 }
200 break; 200 break;
201 } 201 }
202 case HValue::kStoreNamedField: { 202 case HValue::kStoreNamedField: {
203 HStoreNamedField* store = HStoreNamedField::cast(instr); 203 HStoreNamedField* store = HStoreNamedField::cast(instr);
204 int index = store->access().offset() / kPointerSize; 204 int index = store->access().offset() / kPointerSize;
205 if (store->object() != allocate) continue; 205 if (store->object() != allocate) continue;
206 ASSERT(store->access().IsInobject()); 206 ASSERT(store->access().IsInobject());
207 state = NewStateCopy(store->previous(), state); 207 state = NewStateCopy(store->previous(), state);
208 state->SetOperandAt(index, store->value()); 208 state->SetOperandAt(index, store->value());
209 if (store->has_transition()) {
210 state->SetOperandAt(0, store->transition());
211 }
209 if (store->HasObservableSideEffects()) { 212 if (store->HasObservableSideEffects()) {
210 state->ReuseSideEffectsFromStore(store); 213 state->ReuseSideEffectsFromStore(store);
211 } 214 }
212 store->DeleteAndReplaceWith(store->ActualValue()); 215 store->DeleteAndReplaceWith(store->ActualValue());
213 if (FLAG_trace_escape_analysis) { 216 if (FLAG_trace_escape_analysis) {
214 PrintF("Replacing store #%d\n", instr->id()); 217 PrintF("Replacing store #%d%s\n", instr->id(),
218 store->has_transition() ? " (with transition)" : "");
215 } 219 }
216 break; 220 break;
217 } 221 }
218 case HValue::kArgumentsObject: 222 case HValue::kArgumentsObject:
219 case HValue::kCapturedObject: 223 case HValue::kCapturedObject:
220 case HValue::kSimulate: { 224 case HValue::kSimulate: {
221 for (int i = 0; i < instr->OperandCount(); i++) { 225 for (int i = 0; i < instr->OperandCount(); i++) {
222 if (instr->OperandAt(i) != allocate) continue; 226 if (instr->OperandAt(i) != allocate) continue;
223 instr->SetOperandAt(i, state); 227 instr->SetOperandAt(i, state);
224 } 228 }
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 for (int i = 0; i < max_fixpoint_iteration_count; i++) { 319 for (int i = 0; i < max_fixpoint_iteration_count; i++) {
316 CollectCapturedValues(); 320 CollectCapturedValues();
317 if (captured_.is_empty()) break; 321 if (captured_.is_empty()) break;
318 PerformScalarReplacement(); 322 PerformScalarReplacement();
319 captured_.Clear(); 323 captured_.Clear();
320 } 324 }
321 } 325 }
322 326
323 327
324 } } // namespace v8::internal 328 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/hydrogen-check-elimination.cc ('k') | src/hydrogen-instructions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698