dart-sdk/tests
Daco Harkes 50640bdb81 [vm/ffi] Fix ia32 struct by value return with no arguments
On IA32 arguments are passed in registers. When a struct is returned
by value, a pointer is passed in on the stack containing the address to
which the return value is written. We did not account for this pointer
in the stack-height calculation.

This problem only surfaced when there are no arguments to the function.
Because if an argument is passed it has a higher stack height than the
pointer for the result being passed in.

Fix in: runtime/vm/compiler/ffi/native_calling_convention.cc

TEST=runtime/vm/compiler/ffi/native_calling_convention_test.cc
TEST=tests/ffi/regress_46127_test.dart

Closes: https://github.com/dart-lang/sdk/issues/46127

Change-Id: Ia78fe07cc7e3a3c8625143d491935a959b4a7895
Cq-Include-Trybots: luci.dart.try:vm-kernel-linux-debug-ia32-try,vm-kernel-nnbd-linux-debug-ia32-try,vm-precomp-ffi-qemu-linux-release-arm-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/201269
Reviewed-by: Clement Skau <cskau@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2021-05-26 13:37:32 +00:00
..
co19 [co19] Constructor Tear Offs tests skipped as not implemented 2021-05-19 08:19:47 +00:00
co19_2 [co19] Skip in status files removed or replaced where it is possible 2021-04-12 13:26:49 +00:00
corelib Remove references to triple-shift and generic-metadata experiments. 2021-05-12 13:35:00 +00:00
corelib_2 Fix test names in corelib/. 2021-05-05 01:06:12 +00:00
dartdevc [ddc] Add a regression test for issue #45874 2021-05-11 22:14:28 +00:00
dartdevc_2 [ddc] Add a regression test for issue #45874 2021-05-11 22:14:28 +00:00
ffi [vm/ffi] Fix ia32 struct by value return with no arguments 2021-05-26 13:37:32 +00:00
ffi_2 [vm/ffi] Fix ia32 struct by value return with no arguments 2021-05-26 13:37:32 +00:00
language [VM/tests] issue/45618 - Avoid large outputs from tests 2021-05-26 06:04:01 +00:00
language_2 [VM/tests] issue/45618 - Avoid large outputs from tests 2021-05-26 06:04:01 +00:00
lib Optimize js_util setProperty calls for non-function values to 2021-05-25 19:28:01 +00:00
lib_2 Optimize js_util setProperty calls for non-function values to 2021-05-25 19:28:01 +00:00
modular [ddc] Fix private class exposed by typedef 2021-04-05 18:54:56 +00:00
standalone [io/http] Introduce callback that embedder can override to provide custom HTTPClient connection validation. 2021-05-20 15:17:52 +00:00
standalone_2 [io/http] Introduce callback that embedder can override to provide custom HTTPClient connection validation. 2021-05-20 15:17:52 +00:00
web [dart2js] Pass box to inlined generative constructor body 2021-05-07 22:50:27 +00:00
web_2 Fix native_exception1_frog_test. 2021-05-14 23:13:28 +00:00
legacy_status_dart2js.csv [dart2js] Remove obsolete unittests. 2020-05-12 17:16:39 +00:00
README.md

This directory contains tests of the language and core library implementations. For more information, see https://github.com/dart-lang/sdk/wiki/Testing.