OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_ARM | 7 #if V8_TARGET_ARCH_ARM |
8 | 8 |
9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" |
10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 1242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1253 __ mov(r3, Operand(r0), SetCC); | 1253 __ mov(r3, Operand(r0), SetCC); |
1254 __ b(eq, loop_statement.continue_label()); | 1254 __ b(eq, loop_statement.continue_label()); |
1255 | 1255 |
1256 // Update the 'each' property or variable from the possibly filtered | 1256 // Update the 'each' property or variable from the possibly filtered |
1257 // entry in register r3. | 1257 // entry in register r3. |
1258 __ bind(&update_each); | 1258 __ bind(&update_each); |
1259 __ mov(result_register(), r3); | 1259 __ mov(result_register(), r3); |
1260 // Perform the assignment as if via '='. | 1260 // Perform the assignment as if via '='. |
1261 { EffectContext context(this); | 1261 { EffectContext context(this); |
1262 EmitAssignment(stmt->each()); | 1262 EmitAssignment(stmt->each()); |
| 1263 PrepareForBailoutForId(stmt->AssignmentId(), NO_REGISTERS); |
1263 } | 1264 } |
1264 | 1265 |
1265 // Generate code for the body of the loop. | 1266 // Generate code for the body of the loop. |
1266 Visit(stmt->body()); | 1267 Visit(stmt->body()); |
1267 | 1268 |
1268 // Generate code for the going to the next element by incrementing | 1269 // Generate code for the going to the next element by incrementing |
1269 // the index (smi) stored on top of the stack. | 1270 // the index (smi) stored on top of the stack. |
1270 __ bind(loop_statement.continue_label()); | 1271 __ bind(loop_statement.continue_label()); |
1271 __ pop(r0); | 1272 __ pop(r0); |
1272 __ add(r0, r0, Operand(Smi::FromInt(1))); | 1273 __ add(r0, r0, Operand(Smi::FromInt(1))); |
(...skipping 4137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5410 | 5411 |
5411 DCHECK(interrupt_address == | 5412 DCHECK(interrupt_address == |
5412 isolate->builtins()->OsrAfterStackCheck()->entry()); | 5413 isolate->builtins()->OsrAfterStackCheck()->entry()); |
5413 return OSR_AFTER_STACK_CHECK; | 5414 return OSR_AFTER_STACK_CHECK; |
5414 } | 5415 } |
5415 | 5416 |
5416 | 5417 |
5417 } } // namespace v8::internal | 5418 } } // namespace v8::internal |
5418 | 5419 |
5419 #endif // V8_TARGET_ARCH_ARM | 5420 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |