| 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_S390 | 5 #if V8_TARGET_ARCH_S390 |
| 6 | 6 |
| 7 #include "src/code-stubs.h" | 7 #include "src/code-stubs.h" |
| 8 #include "src/api-arguments.h" | 8 #include "src/api-arguments.h" |
| 9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
| 10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
| (...skipping 879 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 890 (result_size() == 2 && !ABI_RETURNS_OBJECTPAIR_IN_REGS); | 890 (result_size() == 2 && !ABI_RETURNS_OBJECTPAIR_IN_REGS); |
| 891 if (needs_return_buffer) { | 891 if (needs_return_buffer) { |
| 892 arg_stack_space += result_size(); | 892 arg_stack_space += result_size(); |
| 893 } | 893 } |
| 894 | 894 |
| 895 #if V8_TARGET_ARCH_S390X | 895 #if V8_TARGET_ARCH_S390X |
| 896 // 64-bit linux pass Argument object by reference not value | 896 // 64-bit linux pass Argument object by reference not value |
| 897 arg_stack_space += 2; | 897 arg_stack_space += 2; |
| 898 #endif | 898 #endif |
| 899 | 899 |
| 900 __ EnterExitFrame(save_doubles(), arg_stack_space); | 900 __ EnterExitFrame(save_doubles(), arg_stack_space, is_builtin_exit() |
| 901 ? StackFrame::BUILTIN_EXIT |
| 902 : StackFrame::EXIT); |
| 901 | 903 |
| 902 // Store a copy of argc, argv in callee-saved registers for later. | 904 // Store a copy of argc, argv in callee-saved registers for later. |
| 903 __ LoadRR(r6, r2); | 905 __ LoadRR(r6, r2); |
| 904 __ LoadRR(r8, r3); | 906 __ LoadRR(r8, r3); |
| 905 // r2, r6: number of arguments including receiver (C callee-saved) | 907 // r2, r6: number of arguments including receiver (C callee-saved) |
| 906 // r3, r8: pointer to the first argument | 908 // r3, r8: pointer to the first argument |
| 907 // r7: pointer to builtin function (C callee-saved) | 909 // r7: pointer to builtin function (C callee-saved) |
| 908 | 910 |
| 909 // Result returned in registers or stack, depending on result size and ABI. | 911 // Result returned in registers or stack, depending on result size and ABI. |
| 910 | 912 |
| (...skipping 4486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5397 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, | 5399 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, |
| 5398 kStackUnwindSpace, NULL, return_value_operand, NULL); | 5400 kStackUnwindSpace, NULL, return_value_operand, NULL); |
| 5399 } | 5401 } |
| 5400 | 5402 |
| 5401 #undef __ | 5403 #undef __ |
| 5402 | 5404 |
| 5403 } // namespace internal | 5405 } // namespace internal |
| 5404 } // namespace v8 | 5406 } // namespace v8 |
| 5405 | 5407 |
| 5406 #endif // V8_TARGET_ARCH_S390 | 5408 #endif // V8_TARGET_ARCH_S390 |
| OLD | NEW |