OLD | NEW |
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 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 FrameElement target = expected->elements_[i]; | 184 FrameElement target = expected->elements_[i]; |
185 if (source.is_synced() && !target.is_synced()) { | 185 if (source.is_synced() && !target.is_synced()) { |
186 elements_[i].clear_sync(); | 186 elements_[i].clear_sync(); |
187 } else if (!source.is_synced() && target.is_synced()) { | 187 } else if (!source.is_synced() && target.is_synced()) { |
188 SyncElementAt(i); | 188 SyncElementAt(i); |
189 } | 189 } |
190 elements_[i].clear_copied(); | 190 elements_[i].clear_copied(); |
191 if (elements_[i].is_copy()) { | 191 if (elements_[i].is_copy()) { |
192 elements_[elements_[i].index()].set_copied(); | 192 elements_[elements_[i].index()].set_copied(); |
193 } | 193 } |
194 elements_[i].set_static_type(target.static_type()); | |
195 } | 194 } |
196 | 195 |
197 // Adjust the stack pointer downward if necessary. | 196 // Adjust the stack pointer downward if necessary. |
198 if (stack_pointer_ > expected->stack_pointer_) { | 197 if (stack_pointer_ > expected->stack_pointer_) { |
199 int difference = stack_pointer_ - expected->stack_pointer_; | 198 int difference = stack_pointer_ - expected->stack_pointer_; |
200 stack_pointer_ = expected->stack_pointer_; | 199 stack_pointer_ = expected->stack_pointer_; |
201 __ add(Operand(esp), Immediate(difference * kPointerSize)); | 200 __ add(Operand(esp), Immediate(difference * kPointerSize)); |
202 } | 201 } |
203 | 202 |
204 // At this point, the frames should be identical. | 203 // At this point, the frames should be identical. |
(...skipping 827 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1032 ASSERT(stack_pointer_ == elements_.length() - 1); | 1031 ASSERT(stack_pointer_ == elements_.length() - 1); |
1033 elements_.Add(FrameElement::MemoryElement()); | 1032 elements_.Add(FrameElement::MemoryElement()); |
1034 stack_pointer_++; | 1033 stack_pointer_++; |
1035 __ push(immediate); | 1034 __ push(immediate); |
1036 } | 1035 } |
1037 | 1036 |
1038 | 1037 |
1039 #undef __ | 1038 #undef __ |
1040 | 1039 |
1041 } } // namespace v8::internal | 1040 } } // namespace v8::internal |
OLD | NEW |