]> Cypherpunks.ru repositories - gostls13.git/commit
runtime: support new callbackasm1 calling convention on windows/arm
authorJason A. Donenfeld <Jason@zx2c4.com>
Wed, 18 Nov 2020 20:38:57 +0000 (21:38 +0100)
committerJason A. Donenfeld <Jason@zx2c4.com>
Thu, 19 Nov 2020 13:34:29 +0000 (13:34 +0000)
commit4d048194cd0323e1deffce96e88e8a672a08732d
treec2817ff2ad5fec76c2e36de4aeedb38a8e57d339
parent5ba1c3f290ef8f3c373c560d3608325b07f44f7a
runtime: support new callbackasm1 calling convention on windows/arm

This updates the callbacks implementation on windows/arm for the
changes made in CL 258938. At the time, that was left as a TODO.

At the same time, it also extends the previous support for only 4
arguments to also support additional arguments on the stack. This is
required for functions like SetWinEventHook, which take 7 arguments. It
does this by pushing r0-r3 onto the stack before the normal prologue,
and then pointing the args struct to that location.

This is derived from CL 270077 and CL 270078.

Updates #40724.
Fixes #42591.

Change-Id: Icc199e7f2c24205e41be4e00015283c7e2a9b797
Reviewed-on: https://go-review.googlesource.com/c/go/+/271178
Run-TryBot: Jason A. Donenfeld <Jason@zx2c4.com>
Trust: Jason A. Donenfeld <Jason@zx2c4.com>
Reviewed-by: Austin Clements <austin@google.com>
src/runtime/sys_windows_arm.s
src/runtime/syscall_windows.go