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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 DCHECK(!accessor_holder.is(scratch)); | 110 DCHECK(!accessor_holder.is(scratch)); |
111 // Copy return value. | 111 // Copy return value. |
112 __ pop(scratch); | 112 __ pop(scratch); |
113 | 113 |
114 if (is_store) { | 114 if (is_store) { |
115 // Discard stack arguments. | 115 // Discard stack arguments. |
116 __ add(esp, Immediate(StoreWithVectorDescriptor::kStackArgumentsCount * | 116 __ add(esp, Immediate(StoreWithVectorDescriptor::kStackArgumentsCount * |
117 kPointerSize)); | 117 kPointerSize)); |
118 } | 118 } |
119 // Write the receiver and arguments to stack frame. | 119 // Write the receiver and arguments to stack frame. |
| 120 __ push(accessor_holder); |
120 __ push(receiver); | 121 __ push(receiver); |
121 if (is_store) { | 122 if (is_store) { |
122 DCHECK(!AreAliased(receiver, scratch, store_parameter)); | 123 DCHECK(!AreAliased(receiver, scratch, store_parameter)); |
123 __ push(store_parameter); | 124 __ push(store_parameter); |
124 } | 125 } |
125 __ push(scratch); | 126 __ push(scratch); |
126 // Stack now matches JSFunction abi. | 127 // Stack now matches JSFunction abi. |
127 DCHECK(optimization.is_simple_api_call()); | 128 DCHECK(optimization.is_simple_api_call()); |
128 | 129 |
129 // Abi for CallApiCallbackStub. | 130 // Abi for CallApiCallbackStub. |
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
439 Register NamedStoreHandlerCompiler::value() { | 440 Register NamedStoreHandlerCompiler::value() { |
440 return StoreDescriptor::ValueRegister(); | 441 return StoreDescriptor::ValueRegister(); |
441 } | 442 } |
442 | 443 |
443 | 444 |
444 #undef __ | 445 #undef __ |
445 } // namespace internal | 446 } // namespace internal |
446 } // namespace v8 | 447 } // namespace v8 |
447 | 448 |
448 #endif // V8_TARGET_ARCH_IA32 | 449 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |