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