| 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/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
| (...skipping 2222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2233 | 2233 |
| 2234 // Enter the exit frame that transitions from JavaScript to C++. | 2234 // Enter the exit frame that transitions from JavaScript to C++. |
| 2235 __ EnterExitFrame(); | 2235 __ EnterExitFrame(); |
| 2236 | 2236 |
| 2237 // ebx: pointer to C function (C callee-saved) | 2237 // ebx: pointer to C function (C callee-saved) |
| 2238 // ebp: frame pointer (restored after C call) | 2238 // ebp: frame pointer (restored after C call) |
| 2239 // esp: stack pointer (restored after C call) | 2239 // esp: stack pointer (restored after C call) |
| 2240 // edi: number of arguments including receiver (C callee-saved) | 2240 // edi: number of arguments including receiver (C callee-saved) |
| 2241 // esi: pointer to the first argument (C callee-saved) | 2241 // esi: pointer to the first argument (C callee-saved) |
| 2242 | 2242 |
| 2243 // Result returned in eax, or eax+edx if result_size_ is 2. | 2243 // Result returned in eax, or eax+edx if result size is 2. |
| 2244 | 2244 |
| 2245 // Check stack alignment. | 2245 // Check stack alignment. |
| 2246 if (FLAG_debug_code) { | 2246 if (FLAG_debug_code) { |
| 2247 __ CheckStackAlignment(); | 2247 __ CheckStackAlignment(); |
| 2248 } | 2248 } |
| 2249 | 2249 |
| 2250 // Call C function. | 2250 // Call C function. |
| 2251 __ mov(Operand(esp, 0 * kPointerSize), edi); // argc. | 2251 __ mov(Operand(esp, 0 * kPointerSize), edi); // argc. |
| 2252 __ mov(Operand(esp, 1 * kPointerSize), esi); // argv. | 2252 __ mov(Operand(esp, 1 * kPointerSize), esi); // argv. |
| 2253 __ mov(Operand(esp, 2 * kPointerSize), | 2253 __ mov(Operand(esp, 2 * kPointerSize), |
| (...skipping 2391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4645 Operand(ebp, 7 * kPointerSize), | 4645 Operand(ebp, 7 * kPointerSize), |
| 4646 NULL); | 4646 NULL); |
| 4647 } | 4647 } |
| 4648 | 4648 |
| 4649 | 4649 |
| 4650 #undef __ | 4650 #undef __ |
| 4651 | 4651 |
| 4652 } } // namespace v8::internal | 4652 } } // namespace v8::internal |
| 4653 | 4653 |
| 4654 #endif // V8_TARGET_ARCH_X87 | 4654 #endif // V8_TARGET_ARCH_X87 |
| OLD | NEW |