| Server IP : 88.222.243.124 / Your IP : 216.73.217.88 Web Server : LiteSpeed System : Linux in-mum-web1677.main-hosting.eu 5.14.0-611.55.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 19 15:19:29 EDT 2026 x86_64 User : u635632881 ( 635632881) PHP Version : 8.2.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /opt/golang/1.22.0/src/runtime/cgo/ |
Upload File : |
// Copyright 2016 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. .file "gcc_s390x.S" /* * void crosscall_s390x(void (*fn)(void), void *g) * * Calling into the go tool chain, where all registers are caller save. * Called from standard s390x C ABI, where r6-r13, r15, and f8-f15 are * callee-save, so they must be saved explicitly. */ .globl crosscall_s390x crosscall_s390x: /* save r6-r15 in the register save area of the calling function */ stmg %r6, %r15, 48(%r15) /* allocate 64 bytes of stack space to save f8-f15 */ lay %r15, -64(%r15) /* save callee-saved floating point registers */ std %f8, 0(%r15) std %f9, 8(%r15) std %f10, 16(%r15) std %f11, 24(%r15) std %f12, 32(%r15) std %f13, 40(%r15) std %f14, 48(%r15) std %f15, 56(%r15) /* restore g pointer */ lgr %r13, %r3 /* call fn */ basr %r14, %r2 /* restore floating point registers */ ld %f8, 0(%r15) ld %f9, 8(%r15) ld %f10, 16(%r15) ld %f11, 24(%r15) ld %f12, 32(%r15) ld %f13, 40(%r15) ld %f14, 48(%r15) ld %f15, 56(%r15) /* de-allocate stack frame */ la %r15, 64(%r15) /* restore general purpose registers */ lmg %r6, %r15, 48(%r15) br %r14 /* restored by lmg */ #ifdef __ELF__ .section .note.GNU-stack,"",%progbits #endif