Files
sdk/runtime/bin/ffi_test/clobber_x86.S
T
Samir Jindel 43382ded6d [vm/ffi] Regression test for dartbug.com/37133
Also removed some redundant test code.

Change-Id: Idbb343d35592816814d473de2317324029481c6f
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-kernel-mac-debug-x64-try,vm-kernel-reload-mac-debug-simdbc64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105590
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-06-17 10:47:00 +00:00

38 lines
464 B
ArmAsm

.intel_syntax noprefix
.text
.globl _ClobberAndCall
_ClobberAndCall:
.globl ClobberAndCall
ClobberAndCall:
/* Load the target function. */
mov eax, [esp+0x4]
/* Code register. */
push edi
mov edi, 1
/* Thread register. */
push esi
mov esi, 1
/* Arguments descriptor register (volatile). */
mov edx, 1
/* Clobber all other volatile registers. */
mov ecx, 1
mov edx, 1
/* Align the frame to 16 bytes. */
sub esp, 4
call eax
add esp, 4
pop esi
pop edi
ret