Commit Graph

25 Commits

Author SHA1 Message Date
Samir Jindel 362ef8e67c [vm/aot] Add a custom ELF loader in dart_precompiled_runtime.
Also switch some CQ bots using blobs to ELF. Once all embedders have migrated, we will remove blobs
support entirely.

Change-Id: Ie5e8c1187ad6c1af362b5715daafd3641bc8cc0e
Cq-Include-Trybots:luci.dart.try:vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-bare-linux-release-simarm-try,vm-kernel-precomp-mac-debug-simarm_x64-try,vm-kernel-precomp-mac-release-simarm64-try,vm-kernel-precomp-win-release-x64-try,vm-kernel-precomp-android-release-arm-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116620
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-09-24 15:03:19 +00:00
Zachary Anderson 6cd8a79078 VM: Re-format to use at most one newline between functions
R=asiva@google.com

Review-Url: https://codereview.chromium.org/2974233002 .
2017-07-13 08:08:37 -07:00
Ryan Macnak 877284947b Rename TARGET_OS_* to HOST_OS_*.
Like HOST_ARCH_*, HOST_OS_* describes the OS the VM is running on, which may be different from the OS the VM is generating code for during AOT compilation.

Currently we conflate the two when emitting AOT as assembly, and we get away with it because Flutter only uses assembly for targeting iOS and one can only target iOS from a Mac, but we expect to use assembly for Android as well so native tools can unwind Dart frames.

R=zra@google.com

Review-Url: https://codereview.chromium.org/2750843003 .
2017-03-15 13:11:05 -07:00
Ryan Macnak ab212fedb3 Undo rename of LoadExtensionLibrary to LoadLibrary since mangling on Windows seems to create a conflict with LoadLibraryW.
Update use of IsolateData in Dartium's vm service.

R=zra@google.com

Review-Url: https://codereview.chromium.org/2695403003 .
2017-02-16 14:22:23 -08:00
Ryan Macnak a317b90d63 Cleanup app snapshots on isolate/vm exit.
R=zra@google.com

Review-Url: https://codereview.chromium.org/2694103004 .
2017-02-16 13:54:57 -08:00
Ryan Macnak b46af1e75f Refactor snapshots pieces to include a section for loading instructions into the heap of a regular isolate.
Progress toward allowing each isolate to load a different snapshot.

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2622053002 .
2017-01-23 10:25:02 -08:00
Ryan Macnak 3d00ecdc8f Reapply "Use a single file for app snapshots."
- Don't read script to check for an app snapshot if it is a pipe. Fixes loading source from a pipe.
 - Fix windows and fushsia builds.

R=asiva@google.com

Review URL: https://codereview.chromium.org/2416973003 .
2016-10-14 09:57:54 -07:00
Ryan Macnak 6839a23240 Revert "Use a single file for app snapshots."
This reverts commit 4f8b16df3b.

Review URL: https://codereview.chromium.org/2410303008 .
2016-10-13 15:29:23 -07:00
Ryan Macnak 4f8b16df3b Use a single file for app snapshots.
For blobs, put all four pieces into a single file with a header describing their offsets.
For dynamic libraries, move the vm isolate and isolate pieces into the dynamic library as additional read-only sections.

Automatically detect if the script argument is an app snapshot and initialize the VM appropriately, similar to automatic detection of script snapshots.

R=asiva@google.com

Review URL: https://codereview.chromium.org/2405393002 .
2016-10-13 14:33:56 -07:00
Zachary Anderson 45661a7091 Cleanup in //runtime/bin
R=iposva@google.com

Review URL: https://codereview.chromium.org/1800863002 .
2016-03-16 10:01:00 -07:00
Florian Schneider 1f7458ddf8 VM: Precompiled rodata snapshot.
For now only contains PC descriptors and stack maps and one-byte strings.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1584443002 .
2016-02-15 09:15:26 +01:00
Siva Annamalai b4d0ca282d Cleanup the extensions code to avoid the duplication that was introduced in the quick fix to turn the bots green.
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1401253004 .
2015-10-14 15:27:58 -07:00
Siva Annamalai 830edcee93 Fix build bot error.
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1403613005 .
2015-10-14 12:59:32 -07:00
Siva Annamalai e1ff27e761 Fix for issue 23908 - error message reports the exact error when a native extension fails to load.
BUG=23908
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1403683007 .
2015-10-14 11:16:22 -07:00
Ryan Macnak da006acfdf Extend precompilation test to Mac. Attempt to fix for host MIPS.
R=fschneider@google.com

Review URL: https://codereview.chromium.org//1370833003 .
2015-09-28 10:04:45 -07:00
Florian Schneider 3a75f0d67a Add simple VM test for precompiled code.
The test creates a precompiled snapshot in a temporary directory, runs it and
checks the output.

Also:
Minor cleanup and fix segfault on dlopen error and with --trace-isolates

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1362743003 .
2015-09-24 11:36:46 +02:00
Ryan Macnak 0ed4d44a99 Toward precompiled snapshots.
Gets as far as encountering null Instructions in the first Dart_Invoke after loading the snapshot.

R=asiva@google.com

Review URL: https://codereview.chromium.org//1318803002 .
2015-09-02 16:15:02 -07:00
whesse@google.com 1ab4461654 Refactor native extension shared library lookup.
BUG=
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//186473003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33275 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-04 14:39:12 +00:00
smok@google.com ebbc2020a2 Put everything in runtime/bin into '::dart::bin' namespace.
Review URL: https://codereview.chromium.org//14341015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22032 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-25 14:22:30 +00:00
iposva@google.com 9046a44a37 Prepare for removal of source_filter.gypi:
- Guard OS-dependent source files with #if TARGET_OS_* in a similar
  fashion to the architecture dependent sources.
Review URL: https://codereview.chromium.org//12282051

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18786 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-20 21:17:38 +00:00
jackpal@google.com c6920baa3b Improve dlsym() error-detection.
Avoid false-positive error detection by calling dlerror() once (and
ignoring the result) before calling dlsym().

See "man dlsym" on a Linux machine for more discussion of how to detect
errors when calling dlsym().

Review URL: https://codereview.chromium.org//10943002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12504 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-18 16:44:41 +00:00
whesse@google.com 7b9880570d Refactor URI processing of native extensions directive #import("dart-ext:foo").
BUG=
TEST=standalone/io/TestExtensionsTest

Review URL: https://chromiumcodereview.appspot.com//10103031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6674 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-18 09:58:01 +00:00
whesse@google.com 3b7099b7e2 Change lookup path for Dart native extensions shared libraries.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9694045

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5524 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-15 15:49:57 +00:00
whesse@google.com 3c6d3843fc Add native extensions for the Dart shell to the Windows platform and the Mac OS X platform.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9465004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5235 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-09 14:34:57 +00:00
whesse@google.com 0e40002890 Add native extensions to the Dart shell, on the linux platform.
BUG=
TEST=standalone/TestExtensionTest

Review URL: https://chromiumcodereview.appspot.com//9430051

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4529 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 13:25:11 +00:00