| 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_X87 | 7 #if V8_TARGET_ARCH_X87 | 
| 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 1155 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1166   __ j(equal, loop_statement.continue_label()); | 1166   __ j(equal, loop_statement.continue_label()); | 
| 1167   __ mov(ebx, eax); | 1167   __ mov(ebx, eax); | 
| 1168 | 1168 | 
| 1169   // Update the 'each' property or variable from the possibly filtered | 1169   // Update the 'each' property or variable from the possibly filtered | 
| 1170   // entry in register ebx. | 1170   // entry in register ebx. | 
| 1171   __ bind(&update_each); | 1171   __ bind(&update_each); | 
| 1172   __ mov(result_register(), ebx); | 1172   __ mov(result_register(), ebx); | 
| 1173   // Perform the assignment as if via '='. | 1173   // Perform the assignment as if via '='. | 
| 1174   { EffectContext context(this); | 1174   { EffectContext context(this); | 
| 1175     EmitAssignment(stmt->each()); | 1175     EmitAssignment(stmt->each()); | 
|  | 1176     PrepareForBailoutForId(stmt->AssignmentId(), NO_REGISTERS); | 
| 1176   } | 1177   } | 
| 1177 | 1178 | 
| 1178   // Generate code for the body of the loop. | 1179   // Generate code for the body of the loop. | 
| 1179   Visit(stmt->body()); | 1180   Visit(stmt->body()); | 
| 1180 | 1181 | 
| 1181   // Generate code for going to the next element by incrementing the | 1182   // Generate code for going to the next element by incrementing the | 
| 1182   // index (smi) stored on top of the stack. | 1183   // index (smi) stored on top of the stack. | 
| 1183   __ bind(loop_statement.continue_label()); | 1184   __ bind(loop_statement.continue_label()); | 
| 1184   __ add(Operand(esp, 0 * kPointerSize), Immediate(Smi::FromInt(1))); | 1185   __ add(Operand(esp, 0 * kPointerSize), Immediate(Smi::FromInt(1))); | 
| 1185 | 1186 | 
| (...skipping 4035 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 5221   DCHECK_EQ(isolate->builtins()->OsrAfterStackCheck()->entry(), | 5222   DCHECK_EQ(isolate->builtins()->OsrAfterStackCheck()->entry(), | 
| 5222             Assembler::target_address_at(call_target_address, | 5223             Assembler::target_address_at(call_target_address, | 
| 5223                                          unoptimized_code)); | 5224                                          unoptimized_code)); | 
| 5224   return OSR_AFTER_STACK_CHECK; | 5225   return OSR_AFTER_STACK_CHECK; | 
| 5225 } | 5226 } | 
| 5226 | 5227 | 
| 5227 | 5228 | 
| 5228 } }  // namespace v8::internal | 5229 } }  // namespace v8::internal | 
| 5229 | 5230 | 
| 5230 #endif  // V8_TARGET_ARCH_X87 | 5231 #endif  // V8_TARGET_ARCH_X87 | 
| OLD | NEW | 
|---|