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

Side by Side Diff: src/jump-target.cc

Issue 661171: Merge r3962 to trunk (Closed) Base URL: http://v8.googlecode.com/svn/trunk/
Patch Set: Created 10 years, 10 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/ia32/virtual-frame-ia32.cc ('k') | src/jump-target-inl.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 2009 the V8 project authors. All rights reserved. 1 // Copyright 2009 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 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 93
94 // Compute elements based on the other reaching frames. 94 // Compute elements based on the other reaching frames.
95 if (reaching_frames_.length() > 1) { 95 if (reaching_frames_.length() > 1) {
96 for (int i = 0; i < length; i++) { 96 for (int i = 0; i < length; i++) {
97 FrameElement* element = elements[i]; 97 FrameElement* element = elements[i];
98 for (int j = 1; j < reaching_frames_.length(); j++) { 98 for (int j = 1; j < reaching_frames_.length(); j++) {
99 // Element computation is monotonic: new information will not 99 // Element computation is monotonic: new information will not
100 // change our decision about undetermined or invalid elements. 100 // change our decision about undetermined or invalid elements.
101 if (element == NULL || !element->is_valid()) break; 101 if (element == NULL || !element->is_valid()) break;
102 102
103 element = element->Combine(&reaching_frames_[j]->elements_[i]);
104
105 FrameElement* other = &reaching_frames_[j]->elements_[i]; 103 FrameElement* other = &reaching_frames_[j]->elements_[i];
104 element = element->Combine(other);
106 if (element != NULL && !element->is_copy()) { 105 if (element != NULL && !element->is_copy()) {
107 ASSERT(other != NULL); 106 ASSERT(other != NULL);
108 // We overwrite the number information of one of the incoming frames. 107 // We overwrite the number information of one of the incoming frames.
109 // This is safe because we only use the frame for emitting merge code. 108 // This is safe because we only use the frame for emitting merge code.
110 // The number information of incoming frames is not used anymore. 109 // The number information of incoming frames is not used anymore.
111 element->set_number_info(NumberInfo::Combine(element->number_info(), 110 element->set_number_info(NumberInfo::Combine(element->number_info(),
112 other->number_info())); 111 other->number_info()));
113 } 112 }
114 } 113 }
115 elements[i] = element; 114 elements[i] = element;
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 temp.CopyTo(this); 415 temp.CopyTo(this);
417 temp.Unuse(); 416 temp.Unuse();
418 417
419 #ifdef DEBUG 418 #ifdef DEBUG
420 is_shadowing_ = false; 419 is_shadowing_ = false;
421 #endif 420 #endif
422 } 421 }
423 422
424 423
425 } } // namespace v8::internal 424 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/ia32/virtual-frame-ia32.cc ('k') | src/jump-target-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698