Ben Konyi
70bafa8864
Revert "[vm/ffi] Support structs on 32bit architectures"
...
This reverts commit 0c9abb8816 .
Reasoning: breaking iOS build for Flutter engine, blocking SDK roll.
Change-Id: I8905f09114a192202e5d1144d189ba0ae0fd62eb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108962
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
2019-07-12 22:40:51 +00:00
Daco Harkes
0c9abb8816
[vm/ffi] Support structs on 32bit architectures
...
Fixes: https://github.com/dart-lang/sdk/issues/36334
Change-Id: Ie22e7fe87724f8d2497934cd681908c9015bd2f2
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-dartkb-linux-debug-x64-try,vm-kernel-precomp-linux-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108103
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-07-11 16:50:38 +00:00
Daco Harkes
52858391e6
[frontend/ffi] Remove const Pointer()
...
Fixes: https://github.com/dart-lang/sdk/issues/37396
Change-Id: I6f53360297a3e1c9cc505c6f781cd5c55a041c6e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108415
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
2019-07-10 07:52:41 +00:00
Samir Jindel
7acecda2cc
[vm/ffi] Fix FFI Utf8 example.
...
Change-Id: Ic6c93c94f1187595b0dab2c912ebf4851ac85fe5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108406
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-07-09 11:37:44 +00:00
Siva Annamalai
06c3d7ad3a
Revert "Rereland "[vm/ffi] SimDBC on Arm64 Android""
...
This reverts commit 9bccb7ba4a .
Reason for revert: This continues to cause failures in the Flutter engine builds. The latest error is
ERROR: /b/s/w/ir/k/src/out/ios_release/Flutter.framework/Flutter exports unexpected symbols:
(__TEXT,__text) _FfiTrampolineCall
Original change's description:
> Rereland "[vm/ffi] SimDBC on Arm64 Android"
>
> Fixed iOS Flutter build.
>
> Change-Id: Id585dea5286e776bb0f333296ac99ef634d61e7d
> Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-mac-debug-simdbc64-try,vm-kernel-reload-mac-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108262
> Reviewed-by: Samir Jindel <sjindel@google.com >
> Commit-Queue: Daco Harkes <dacoharkes@google.com >
TBR=sjindel@google.com ,asiva@google.com ,dacoharkes@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: Ieb5a2a2960e214ee48a2375e88211d2792b0fff9
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-linux-debug-ia32-try, vm-dartkb-linux-debug-simarm64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108421
Reviewed-by: Siva Annamalai <asiva@google.com >
2019-07-08 21:38:48 +00:00
Samir Jindel
33a5745c49
[vm/ffi] Add missing free() to structs_test.dart
...
Fixes crash on ASAN bot.
Change-Id: I70d0cc863b86c40d5c5c15841ecbbf2a91493e6c
Cq-Include-Trybots: luci.dart.try:vm-kernel-asan-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108273
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-07-08 09:08:51 +00:00
Samir Jindel
fcc72ad83f
[vm/ffi] Support FFI in AOT (excluding callbacks).
...
Move generation of Function objects for native trampolines to the Precompiler, so they can be generated during AOT and tree-shaken if possible.
Issue dartbug.com/35765
Change-Id: I0e69b7e0b22db73e3a40f2fe445660e57ddb6fa9
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-bare-linux-release-simarm64-try, vm-kernel-precomp-bare-linux-release-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-dartkb-linux-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107407
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-07-05 21:59:27 +00:00
Daco Harkes
9bccb7ba4a
Rereland "[vm/ffi] SimDBC on Arm64 Android"
...
Fixed iOS Flutter build.
Change-Id: Id585dea5286e776bb0f333296ac99ef634d61e7d
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-mac-debug-simdbc64-try,vm-kernel-reload-mac-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108262
Reviewed-by: Samir Jindel <sjindel@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2019-07-04 13:20:05 +00:00
Siva Annamalai
b5aeaa6796
Revert "Reland "[vm/ffi] SimDBC on Arm64 Android""
...
This reverts commit a515a0c256 .
Reason for revert: There are still issues here, the flutter engine build for ios_debug again fails with this error:
ld: warning: arm64 function not 4-byte aligned: FfiTrampolineCall from obj/third_party/dart/runtime/vm/compiler/libdart_vm_jit.ffi_dbc_trampoline_arm64.o
ld: warning: arm64 function not 4-byte aligned: .loop from obj/third_party/dart/runtime/vm/compiler/libdart_vm_jit.ffi_dbc_trampoline_arm64.o
ld: warning: arm64 function not 4-byte aligned: .done from obj/third_party/dart/runtime/vm/compiler/libdart_vm_jit.ffi_dbc_trampoline_arm64.o
Undefined symbols for architecture arm64:
"_FfiTrampolineCall", referenced from:
dart::Simulator::Call(dart::Code const&, dart::Array const&, dart::Array const&, dart::Thread*) in libdart_vm_jit.simulator_dbc.o
ld: symbol(s) not found for architecture arm64
Original change's description:
> Reland "[vm/ffi] SimDBC on Arm64 Android"
>
> This reverts commit 0abff7b2bb and fixes the assembly file.
>
> Change-Id: Ibef58c932c843aebb4de227ac5fc7664d463173f
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107746
> Auto-Submit: Daco Harkes <dacoharkes@google.com >
> Reviewed-by: Samir Jindel <sjindel@google.com >
> Commit-Queue: Daco Harkes <dacoharkes@google.com >
TBR=sjindel@google.com ,asiva@google.com ,dacoharkes@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: Ia5fd52180f7d9dfce588db361ce17dfb6f05254d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108206
Reviewed-by: Siva Annamalai <asiva@google.com >
2019-07-04 00:57:23 +00:00
Samir Jindel
fc6cb0ac21
[vm/ffi] Revamp struct representation in FFI.
...
See dartbug.com/37229 for details.
Change-Id: I63490e41c512ffc9312803985a6f6d4be1586c0a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101291
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-07-02 23:12:13 +00:00
Daco Harkes
a515a0c256
Reland "[vm/ffi] SimDBC on Arm64 Android"
...
This reverts commit 0abff7b2bb and fixes the assembly file.
Change-Id: Ibef58c932c843aebb4de227ac5fc7664d463173f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107746
Auto-Submit: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2019-07-01 13:55:02 +00:00
Siva Annamalai
0abff7b2bb
Revert "[vm/ffi] SimDBC on Arm64 Android"
...
This reverts commit 9e3b44b299 .
Reason for revert: Breaks the Mac iOS Flutter Engine build
../../third_party/dart/runtime/vm/compiler/ffi_dbc_trampoline_arm64.S:5:1: error: unknown directive
.type FfiTrampolineCall, %function
Original change's description:
> [vm/ffi] SimDBC on Arm64 Android
>
> Bug: https://github.com/dart-lang/sdk/issues/35773
>
> Change-Id: I6f1f85239b0ffe5c310b9aeea4a4edcd97362bca
> Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-mac-debug-simdbc64-try,vm-kernel-reload-mac-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104565
> Reviewed-by: Samir Jindel <sjindel@google.com >
> Commit-Queue: Samir Jindel <sjindel@google.com >
> Commit-Queue: Daco Harkes <dacoharkes@google.com >
TBR=sjindel@google.com ,dacoharkes@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: https://github.com/dart-lang/sdk/issues/35773
Change-Id: Ibc968bb2077f66da70a0034b45908e8d24e822f2
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-linux-debug-ia32-try, vm-dartkb-linux-debug-simarm64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107700
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2019-06-28 22:38:51 +00:00
Daco Harkes
9ae79e26bc
[vm/ffi] Make overflow checks consistent - fix asan
...
Moves a test that tries to allocate a too large amount of memory to a file which is not executed on asan.
Fixes: https://github.com/dart-lang/sdk/issues/37388
Change-Id: I91101c05be509b670ff9ba82ee25424554468ec5
Cq-Include-Trybots: luci.dart.try:vm-kernel-asan-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107508
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Auto-Submit: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Teagan Strickland <sstrickl@google.com >
2019-06-28 09:37:35 +00:00
Samir Jindel
db3135ab9d
[vm/ffi] Fix multitests in function_callbacks_test and update raw_object_fields.cc
...
Change-Id: Idb969f9d3cdd58fde02e1e9fab5cbfdf7c09f1ec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107507
Reviewed-by: Samir Jindel <sjindel@google.com >
2019-06-27 21:44:42 +00:00
Samir Jindel
496345e2e1
[vm/ffi] Update exception behavior of FFI callbacks and fix callbacks returning void
...
Issues dartbug.com/36856 and dartbug.com/37301
Change-Id: I96595b0781a3a6ddf73bba5595ed5c1aa08be257
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106352
Reviewed-by: Martin Kustermann <kustermann@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2019-06-27 18:26:27 +00:00
Daco Harkes
04c984ce3f
[vm/ffi] Make overflow checks consistent
...
This CL changes the semantics of Pointer.allocate() to not do any range or overflow checks. This is consistent with the truncating behavior that the rest of the FFI has.
Fixes: https://github.com/dart-lang/sdk/issues/37250
Change-Id: Icc2b53e229cd6a2faae99c833ea5df372eb35b74
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107503
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
2019-06-27 14:26:33 +00:00
Daco Harkes
3cce6fc8d6
[vm/ffi] Fix direct interaction with Pointer<Native>
...
This CL changes the static checks and runtime behavior of Pointer<T>.store<T>(T v) and T Pointer<T>.load() behavior to be consistent with the way Dart handles instances methods with generics. For more details see the issue.
Fixes: https://github.com/dart-lang/sdk/issues/37254
Change-Id: Ifcf89646f8e357d8592c38bb340942d522dac941
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107404
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-06-27 13:14:11 +00:00
Daco Harkes
9e3b44b299
[vm/ffi] SimDBC on Arm64 Android
...
Bug: https://github.com/dart-lang/sdk/issues/35773
Change-Id: I6f1f85239b0ffe5c310b9aeea4a4edcd97362bca
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-mac-debug-simdbc64-try,vm-kernel-reload-mac-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104565
Reviewed-by: Samir Jindel <sjindel@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2019-06-26 10:43:45 +00:00
Daco Harkes
603293f92a
[vm/ffi] Regression test for dartbug.com/37254
...
Issue: https://github.com/dart-lang/sdk/issues/37254
Change-Id: Ic8ede0f8b7a6de0a6862ef8748a7330232950239
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107281
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
2019-06-26 09:24:25 +00:00
Daco Harkes
714234525b
[vm/ffi] Tests for aliasing
...
Issue: https://github.com/dart-lang/sdk/issues/36247
Change-Id: I81f4cb1d34bc25efe6bc4c2d14615356ac52262f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106906
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Auto-Submit: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-06-24 15:45:33 +00:00
Samir Jindel
f03ddc496b
[vm/ffi] Don't make force-optimized code masquerade as unoptimized code.
...
Instead, we set a bit on force-optimized code so that deoptimization knows to skip it and exception
handling will execute catch-entry moves.
In addition we don't throw away deoptimization info for these codes, so that exception handling
works.
Bug: dartbug.com/37311
Change-Id: If5bcff41a98c0053c581648a9ee22b3302ceea04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106740
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-06-24 15:25:53 +00:00
Daco Harkes
0400593d1c
[vm/ffi] DynamicLibrary.handle
...
Issue: https://github.com/dart-lang/sdk/issues/35881
Change-Id: I67ff49fef950c7c507f5006c357909cd09914c5f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106903
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Auto-Submit: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
2019-06-24 09:29:54 +00:00
Nate Bosch
2b56c2c58a
Normalize status files
...
Run `pkg/status_file/bin/normalize.dart` across all status files.
This should solve most presubmit warnings about "existing and possibly
new status file issues".
There are remaining issues in pkg/front_end/testcases/strong.status and
pkg/front_end/testcases/text_serialization.status which will need to be
fixed manually.
Change-Id: Iceae8992c4907442481590d75c1b0a84ce29521b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106726
Reviewed-by: Bob Nystrom <rnystrom@google.com >
Commit-Queue: Bob Nystrom <rnystrom@google.com >
Auto-Submit: Nate Bosch <nbosch@google.com >
2019-06-19 23:04:01 +00:00
Samir Jindel
48f19ef961
[vm/ffi] Fix snapshot serialization of FFI objects.
...
Change-Id: I78557211da79f5282339fbcf30b3f81ab56cb361
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106345
Commit-Queue: Samir Jindel <sjindel@google.com >
Auto-Submit: Samir Jindel <sjindel@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-06-18 13:17:14 +00:00
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
Samir Jindel
d0447ee0da
[vm/ffi] Fix ADR usage in FfiCallInstr::EmitNativeCode.
...
Props to Daco for identifying the stackmap issue!
Change-Id: I9a54b9db864c86e069e2fcf84b6ba71719d76a09
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106086
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-06-14 16:54:23 +00:00
Daco Harkes
04c1a2886f
[vm/ffi] SimDBC64 align stack frame
...
And regression test for dartbug.com/37069
Fixes: https://github.com/dart-lang/sdk/issues/37176
Follow up of: https://dart-review.googlesource.com/c/sdk/+/103814
Bug: https://github.com/dart-lang/sdk/issues/37069
Change-Id: I066561b487c691952496e2ca6878ac82cee0e02e
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-mac-debug-simdbc64-try,vm-kernel-reload-mac-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105941
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
2019-06-13 16:26:40 +00:00
Samir Jindel
68b2d53da5
Revert "[vm/ffi] SimDBC64 align stack frame"
...
This reverts commit f1038ee771 .
Reason for revert: breaks function_gc_test on ARM64
Original change's description:
> [vm/ffi] SimDBC64 align stack frame
>
> And regression test for dartbug.com/37069
>
> Fixes: https://github.com/dart-lang/sdk/issues/37176
> Follow up of: https://dart-review.googlesource.com/c/sdk/+/103814
> Bug: https://github.com/dart-lang/sdk/issues/37069
> Change-Id: I2c791271f936580d66a48485a60ab6cddb1ba4f8
> Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-mac-debug-simdbc64-try,vm-kernel-reload-mac-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104824
> Commit-Queue: Daco Harkes <dacoharkes@google.com >
> Reviewed-by: Samir Jindel <sjindel@google.com >
TBR=sjindel@google.com ,dacoharkes@google.com
Change-Id: Ibefa2e854f4a58b41384aca73a3bbbe86d75bf80
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/37069
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-linux-debug-ia32-try, vm-dartkb-linux-debug-simarm64-try, vm-kernel-win-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105840
Reviewed-by: Samir Jindel <sjindel@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-06-12 22:31:11 +00:00
Daco Harkes
f1038ee771
[vm/ffi] SimDBC64 align stack frame
...
And regression test for dartbug.com/37069
Fixes: https://github.com/dart-lang/sdk/issues/37176
Follow up of: https://dart-review.googlesource.com/c/sdk/+/103814
Bug: https://github.com/dart-lang/sdk/issues/37069
Change-Id: I2c791271f936580d66a48485a60ab6cddb1ba4f8
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-mac-debug-simdbc64-try,vm-kernel-reload-mac-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104824
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
2019-06-12 16:25:34 +00:00
Daco Harkes
9f2f5adb64
Reland [vm/ffi] Regression test for dartbug.com/36993
...
Fixes: https://github.com/dart-lang/sdk/issues/37175
Know issue: https://github.com/dart-lang/sdk/issues/37180
Follow up of: https://dart-review.googlesource.com/c/sdk/+/103136
Bug: https://github.com/dart-lang/sdk/issues/36993
Change-Id: I13fc69fd84362f207e9e66c4d1ef6c2ef2aba368
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-mac-debug-simdbc64-try,vm-kernel-reload-mac-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105303
Auto-Submit: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-06-07 13:52:09 +00:00
Samir Jindel
6b7013224c
Revert "[vm/ffi] Regression test for dartbug.com/36993"
...
This reverts commit e1a7ef52af .
Reason for revert:
Caused crash on cross-vm-linux-release-arm64: https://ci.chromium.org/p/dart/builders/ci.sandbox/cross-vm-linux-release-arm64/2036
Original change's description:
> [vm/ffi] Regression test for dartbug.com/36993
>
> Follow up of: https://dart-review.googlesource.com/c/sdk/+/103136
> Bug: https://github.com/dart-lang/sdk/issues/36993
> Change-Id: Ib5e8308b91b9b5ce5b95362dd79d12e79499a75c
> Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-mac-debug-simdbc64-try,vm-kernel-reload-mac-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104820
> Commit-Queue: Daco Harkes <dacoharkes@google.com >
> Reviewed-by: Samir Jindel <sjindel@google.com >
> Auto-Submit: Daco Harkes <dacoharkes@google.com >
TBR=sjindel@google.com ,dacoharkes@google.com
Change-Id: I51cb94dc4a6046bedb6be0580d0092010992c684
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/36993
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-linux-debug-ia32-try, vm-dartkb-linux-debug-simarm64-try, vm-kernel-win-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105301
Reviewed-by: Samir Jindel <sjindel@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-06-06 17:12:59 +00:00
Samir Jindel
dd306dd36f
[vm/ffi] Remove hacks and instability from FFI GC tests.
...
This is based on https://dart-review.googlesource.com/c/sdk/+/100583/2 ,
but instead of relying on private symbols, we expose an API function which
is a no-op outside specific tests.
Fixes https://github.com/dart-lang/sdk/issues/36723
Change-Id: Ieb78caa2d14956a2b5f985533b9b73e941d2d9c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103801
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2019-06-06 15:52:12 +00:00
Daco Harkes
e1a7ef52af
[vm/ffi] Regression test for dartbug.com/36993
...
Follow up of: https://dart-review.googlesource.com/c/sdk/+/103136
Bug: https://github.com/dart-lang/sdk/issues/36993
Change-Id: Ib5e8308b91b9b5ce5b95362dd79d12e79499a75c
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-mac-debug-simdbc64-try,vm-kernel-reload-mac-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104820
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
Auto-Submit: Daco Harkes <dacoharkes@google.com >
2019-06-06 15:12:02 +00:00
Samir Jindel
8cbb11cc55
[vm/ffi] FFI callbacks on ARM32.
...
Please see go/dart-ffi-callbacks for design context and motivation.
Change-Id: Ie5edcb8837157c679954a670fb19d545e22fec69
Cq-Include-Trybots: luci.dart.try:vm-kernel-linux-debug-simdbc64-try, vm-kernel-linux-release-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-mac-release-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-reload-mac-release-simdbc64-try, vm-kernel-linux-debug-ia32-try, vm-dartkb-linux-debug-simarm64-try, vm-kernel-win-debug-ia32-try, vm-ffi-android-debug-arm-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101828
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Aart Bik <ajcbik@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2019-06-03 14:36:04 +00:00
Daco Harkes
4c32cddef8
[vm/ffi] Fix ffi trampoline class finalization - fix test on android
...
Change-Id: I4389667701de45827e093305bdda8443520abe54
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103844
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2019-05-28 17:11:36 +00:00
Daco Harkes
2878bfde6c
[vm/ffi] Fix ffi trampoline class finalization
...
Fixes: https://github.com/dart-lang/sdk/issues/37100
Change-Id: I5b1ab44da2ead7edb347fcf5ceee3cad7f396ed7
Cq-Include-Trybots: luci.dart.try:vm-kernel-linux-debug-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-linux-debug-ia32-try, vm-dartkb-linux-debug-simarm64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103841
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2019-05-28 14:53:06 +00:00
Samir Jindel
afc54e23e3
[vm/ffi] FFI callbacks on ARM64.
...
For design context and motivation, see go/dart-ffi-callbacks
Change-Id: Ie463a462c8676c4a1973f377acee067253aca9f0
Cq-Include-Trybots: luci.dart.try:vm-kernel-linux-debug-simdbc64-try, vm-kernel-linux-release-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-mac-release-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-reload-mac-release-simdbc64-try, vm-kernel-linux-debug-ia32-try, vm-dartkb-linux-debug-simarm64-try, vm-kernel-win-debug-ia32-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101825
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Aart Bik <ajcbik@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2019-05-27 11:05:18 +00:00
Samir Jindel
0a5e5995e8
[vm/ffi] FFI callbacks on IA32.
...
Second part of implementing FFI callbacks, see go/dart-ffi-callbacks for design context.
Change-Id: Ibe8195e8cb40e0c1932b179fbc6df2b9668e2fa2
Cq-Include-Trybots: luci.dart.try:vm-kernel-linux-debug-simdbc64-try, vm-kernel-linux-release-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-mac-release-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-reload-mac-release-simdbc64-try, vm-kernel-linux-debug-ia32-try, vm-dartkb-linux-debug-simarm64-try, vm-kernel-win-debug-ia32-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100582
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Aart Bik <ajcbik@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2019-05-27 10:49:48 +00:00
Samir Jindel
225a301637
[vm/ffi] Re-land "[vm/ffi] FFI callbacks on X64."
...
There are minor fixes for dartkb and windows.
The original revision is in patchset 1.
Change-Id: I9ab6e5fdb33fb4e84ea520c283fe94323616a8ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103129
Commit-Queue: Samir Jindel <sjindel@google.com >
Auto-Submit: Samir Jindel <sjindel@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2019-05-24 02:39:13 +00:00
Samir Jindel
ed169c4bb0
Revert "[vm/ffi] FFI callbacks on X64."
...
This reverts commit be209f7846 .
Reason for revert: failures on dartkb and windows bots
Original change's description:
> [vm/ffi] FFI callbacks on X64.
>
> For context on the design, see go/dart-ffi-callbacks
>
> Change-Id: I2482e3c932e73f9a4c00fa7e218ff85f9328fc51
> Cq-Include-Trybots: luci.dart.try:vm-kernel-linux-debug-simdbc64-try, vm-kernel-linux-release-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-mac-release-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-reload-mac-release-simdbc64-try, vm-kernel-linux-debug-ia32-try, vm-dartkb-linux-debug-simarm64-try
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100240
> Commit-Queue: Samir Jindel <sjindel@google.com >
> Reviewed-by: Daco Harkes <dacoharkes@google.com >
TBR=sjindel@google.com ,ajcbik@google.com ,dacoharkes@google.com
Change-Id: I4cb3d93675d68a51ac9e125ad1d572c47e8b5903
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Cq-Include-Trybots: luci.dart.try:vm-kernel-linux-debug-simdbc64-try, vm-kernel-linux-release-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-mac-release-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-reload-mac-release-simdbc64-try, vm-kernel-linux-debug-ia32-try, vm-dartkb-linux-debug-simarm64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102983
Reviewed-by: Samir Jindel <sjindel@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-05-18 15:29:19 +00:00
Samir Jindel
be209f7846
[vm/ffi] FFI callbacks on X64.
...
For context on the design, see go/dart-ffi-callbacks
Change-Id: I2482e3c932e73f9a4c00fa7e218ff85f9328fc51
Cq-Include-Trybots: luci.dart.try:vm-kernel-linux-debug-simdbc64-try, vm-kernel-linux-release-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-mac-release-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-reload-mac-release-simdbc64-try, vm-kernel-linux-debug-ia32-try, vm-dartkb-linux-debug-simarm64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100240
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2019-05-18 06:15:46 +00:00
Daco Harkes
a8b93d9e78
[vm/ffi] DBC support on x64 Linux/MacOS hosts
...
Issue: https://github.com/dart-lang/sdk/issues/35773
Change-Id: Ib58fb8df6c5c18e604fbf2a156ab69025e5f57d7
Cq-Include-Trybots: luci.dart.try:vm-kernel-linux-debug-simdbc64-try, vm-kernel-linux-release-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-mac-release-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-reload-mac-release-simdbc64-try, vm-kernel-linux-debug-ia32-try, vm-dartkb-linux-debug-simarm64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97221
Reviewed-by: Samir Jindel <sjindel@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2019-05-09 11:46:03 +00:00
Régis Crelier
7c18fc0c3d
Revert "[gardening] Mark ffi/function_stress_test/1 test as slow."
...
This reverts commit 7388c3e3db .
Reason for revert: Marking as Slow is not sufficient. Filed issue instead.
Original change's description:
> [gardening] Mark ffi/function_stress_test/1 test as slow.
>
> Change-Id: Ic5130781a75250165f92d86729c2d83c436db30e
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100280
> Reviewed-by: Régis Crelier <regis@google.com >
> Commit-Queue: Régis Crelier <regis@google.com >
TBR=sjindel@google.com ,regis@google.com
Change-Id: I35afabb3207f094f37a9d4b32e027060070f2f91
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100284
Reviewed-by: Régis Crelier <regis@google.com >
Commit-Queue: Régis Crelier <regis@google.com >
2019-04-23 20:14:56 +00:00
Régis Crelier
7388c3e3db
[gardening] Mark ffi/function_stress_test/1 test as slow.
...
Change-Id: Ic5130781a75250165f92d86729c2d83c436db30e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100280
Reviewed-by: Régis Crelier <regis@google.com >
Commit-Queue: Régis Crelier <regis@google.com >
2019-04-23 17:40:31 +00:00
Samir Jindel
4be9357966
[vm] Harden function_stress_test.dart
...
Change-Id: I0aa9600f79be608881b450fb976bd5f2c958d479
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99146
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Auto-Submit: Samir Jindel <sjindel@google.com >
2019-04-11 19:46:12 +00:00
Samir Jindel
a7a87df513
[vm/ffi] Replicate transition to/from native code around FFI calls.
...
Change-Id: I49be874b47b63a0863ed58d26f417cb957b89380
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98463
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2019-04-11 11:59:54 +00:00
Samir Jindel
f4e63990cb
[vm/ffi] Support FFI on ARM32.
...
Fixes dartbug.com/36311.
Addresses dartbug.com/35760.
Change-Id: Ib6c4db69f31dfb5317e4162b80d3e30a996e3a2e
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try,vm-ffi-android-release-arm-try,vm-ffi-android-product-arm-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97631
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2019-04-10 13:15:16 +00:00
Samir Jindel
154c324786
[vm/ffi] Lock out structs on 32-bit platforms.
...
Addresses https://github.com/dart-lang/sdk/issues/36334
Change-Id: I880812941748207ea93a789db2f2d4d2938d3f37
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97961
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Auto-Submit: Samir Jindel <sjindel@google.com >
2019-04-01 10:30:58 +00:00
Samir Jindel
580f44aa83
[vm] Enable running FFI tests on Android in JIT-mode.
...
* Move FFI tests into a separate test suite.
They never belonged in standalone_2/ since they are not only available in
the standalone VM. Also, we want to have a separate status file.
* Add new "SharedObjects" option to test files to copy needed shared objects
to the Android device for testing.
* Add support to compiler/runtime_configuration.dart for testing JIT-mode on Android.
* Add new configurations and builders to test_matrix.json to test JIT-mode on Android.
* Clean up status file entries for FFI (we didn't need to special-case stress & subtype tests).
Change-Id: Ifb32ef7051754f477d00ecd7a0f9b19ca8a66eae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97334
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: William Hesse <whesse@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2019-03-25 16:14:18 +00:00