| 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 #if V8_TARGET_ARCH_IA32 |     5 #if V8_TARGET_ARCH_IA32 | 
|     6  |     6  | 
|     7 #include "src/code-factory.h" |     7 #include "src/code-factory.h" | 
|     8 #include "src/code-stubs.h" |     8 #include "src/code-stubs.h" | 
|     9 #include "src/codegen.h" |     9 #include "src/codegen.h" | 
|    10 #include "src/compiler.h" |    10 #include "src/compiler.h" | 
| (...skipping 1154 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1165   // doesn't just get a copy of the existing unoptimized code. |  1165   // doesn't just get a copy of the existing unoptimized code. | 
|  1166   if (!FLAG_always_opt && |  1166   if (!FLAG_always_opt && | 
|  1167       !FLAG_prepare_always_opt && |  1167       !FLAG_prepare_always_opt && | 
|  1168       !pretenure && |  1168       !pretenure && | 
|  1169       scope()->is_function_scope() && |  1169       scope()->is_function_scope() && | 
|  1170       info->num_literals() == 0) { |  1170       info->num_literals() == 0) { | 
|  1171     FastNewClosureStub stub(isolate(), info->language_mode(), info->kind()); |  1171     FastNewClosureStub stub(isolate(), info->language_mode(), info->kind()); | 
|  1172     __ mov(ebx, Immediate(info)); |  1172     __ mov(ebx, Immediate(info)); | 
|  1173     __ CallStub(&stub); |  1173     __ CallStub(&stub); | 
|  1174   } else { |  1174   } else { | 
|  1175     __ push(esi); |  | 
|  1176     __ push(Immediate(info)); |  1175     __ push(Immediate(info)); | 
|  1177     __ push(Immediate(pretenure |  1176     __ CallRuntime( | 
|  1178                       ? isolate()->factory()->true_value() |  1177         pretenure ? Runtime::kNewClosure_Tenured : Runtime::kNewClosure, 1); | 
|  1179                       : isolate()->factory()->false_value())); |  | 
|  1180     __ CallRuntime(Runtime::kNewClosure, 3); |  | 
|  1181   } |  1178   } | 
|  1182   context()->Plug(eax); |  1179   context()->Plug(eax); | 
|  1183 } |  1180 } | 
|  1184  |  1181  | 
|  1185  |  1182  | 
|  1186 void FullCodeGenerator::EmitSetHomeObjectIfNeeded(Expression* initializer, |  1183 void FullCodeGenerator::EmitSetHomeObjectIfNeeded(Expression* initializer, | 
|  1187                                                   int offset, |  1184                                                   int offset, | 
|  1188                                                   FeedbackVectorICSlot slot) { |  1185                                                   FeedbackVectorICSlot slot) { | 
|  1189   if (NeedsHomeObject(initializer)) { |  1186   if (NeedsHomeObject(initializer)) { | 
|  1190     __ mov(StoreDescriptor::ReceiverRegister(), Operand(esp, 0)); |  1187     __ mov(StoreDescriptor::ReceiverRegister(), Operand(esp, 0)); | 
| (...skipping 4053 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  5244             Assembler::target_address_at(call_target_address, |  5241             Assembler::target_address_at(call_target_address, | 
|  5245                                          unoptimized_code)); |  5242                                          unoptimized_code)); | 
|  5246   return OSR_AFTER_STACK_CHECK; |  5243   return OSR_AFTER_STACK_CHECK; | 
|  5247 } |  5244 } | 
|  5248  |  5245  | 
|  5249  |  5246  | 
|  5250 }  // namespace internal |  5247 }  // namespace internal | 
|  5251 }  // namespace v8 |  5248 }  // namespace v8 | 
|  5252  |  5249  | 
|  5253 #endif  // V8_TARGET_ARCH_IA32 |  5250 #endif  // V8_TARGET_ARCH_IA32 | 
| OLD | NEW |