OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/ic/handler-compiler.h" | 7 #include "src/ic/handler-compiler.h" |
8 | 8 |
9 #include "src/api-arguments.h" | 9 #include "src/api-arguments.h" |
10 #include "src/field-type.h" | 10 #include "src/field-type.h" |
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 Runtime::FunctionForId(id)->nargs); | 314 Runtime::FunctionForId(id)->nargs); |
315 PushInterceptorArguments(masm, receiver, holder, name, holder_obj); | 315 PushInterceptorArguments(masm, receiver, holder, name, holder_obj); |
316 __ CallRuntime(id); | 316 __ CallRuntime(id); |
317 } | 317 } |
318 | 318 |
319 | 319 |
320 static void StoreIC_PushArgs(MacroAssembler* masm) { | 320 static void StoreIC_PushArgs(MacroAssembler* masm) { |
321 Register receiver = StoreDescriptor::ReceiverRegister(); | 321 Register receiver = StoreDescriptor::ReceiverRegister(); |
322 Register name = StoreDescriptor::NameRegister(); | 322 Register name = StoreDescriptor::NameRegister(); |
323 Register value = StoreDescriptor::ValueRegister(); | 323 Register value = StoreDescriptor::ValueRegister(); |
324 Register slot = VectorStoreICDescriptor::SlotRegister(); | 324 Register slot = StoreWithVectorDescriptor::SlotRegister(); |
325 Register vector = VectorStoreICDescriptor::VectorRegister(); | 325 Register vector = StoreWithVectorDescriptor::VectorRegister(); |
326 | 326 |
327 __ xchg(receiver, Operand(esp, 0)); | 327 __ xchg(receiver, Operand(esp, 0)); |
328 __ push(name); | 328 __ push(name); |
329 __ push(value); | 329 __ push(value); |
330 __ push(slot); | 330 __ push(slot); |
331 __ push(vector); | 331 __ push(vector); |
332 __ push(receiver); // which contains the return address. | 332 __ push(receiver); // which contains the return address. |
333 } | 333 } |
334 | 334 |
335 | 335 |
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
711 // Return the generated code. | 711 // Return the generated code. |
712 return GetCode(kind(), name); | 712 return GetCode(kind(), name); |
713 } | 713 } |
714 | 714 |
715 | 715 |
716 #undef __ | 716 #undef __ |
717 } // namespace internal | 717 } // namespace internal |
718 } // namespace v8 | 718 } // namespace v8 |
719 | 719 |
720 #endif // V8_TARGET_ARCH_IA32 | 720 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |