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 .
- use attribute 'no msan' on NativeEntry::ReturnValueIsError function
as msan doesn't seem to track the return slot being set by a native
function
- vsnprintf seems to have issues with msan so unpoison the allocated
memory buffer everytime vsnprintf is used to suppress the error.
BUG=
R=fschneider@google.com
Review URL: https://codereview.chromium.org/2383293003 .
- [x] Add a new header 'dev_fs_path_b64' which is used over 'dev_fs_path' when present.
- [x] 'dev_fs_path_b64' expects the path encoded as UTF8 and then BASE64.
- [x] Add unit test case.
BUG=
R=turnidge@google.com
Review URL: https://codereview.chromium.org/2386123005 .
This change:
- Sucks in gn binaries
- Sucks in a version of llvm that the GN build likes
- Adds tools/gn.py to invoke gn
- Adds a root BUILD.gn and .gn file
- Removes chrome boilerplate we don't need
- etc.
This lets us do a standalone build of the 'runtime'
target for x64, ia32, arm, arm64, mips, and the
simulators on Linux, and arm and arm64 on Android.
It does not include tcmalloc, and hasn't been tested
on Mac or Windows. That work and more cleanup of
chrome boilerplate will come in follow-up CLs.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2350583002 .
Dart and Flutter engine both need to have the code generated for
boringssl under //third_party/boringssl. To avoid having two
copies of this code, this CL removes it from the Dart repo and
instead pulls it from a github repo that Flutter engine can
share.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2354623003 .
First, the look for trusted root certificates
in standard locations on the file system
(/etc/pki/tls/certs/ca-bundle.crt followed by
/etc/ssl/certs), and only if these do not exist
will we fall back on the compiled-in trusted root
certificates. This behavior can be overridden
with the new flags --root-certs-file and
--root-certs-cache.
R=asiva@google.com
Review URL: https://codereview.chromium.org/2346683003 .
Statically linking in the tcmalloc code is enough
to override the built-in malloc. I have this set up to
exclude the code for collecting heap profiles in a
Product build. There's still about a 230KB increase in
binary size, though. I think this isn't a big problem
since right now this is enabled only for server Linux.
product binary size:
before x64: 9569600
after x64: 9807840
increase: 238240 (2.5%)
before ia32: 9122836
after ia32: 9360944
increase: 238108 (2.6%)
before mips: 9418680
after mips: 9640940
increase: 222260 (2.4%)
InitialRSS:
product:
before x64: 6307840
after x64: 7430144
increase: 1122304 (17.8%)
release (--no-profiler)
before x64: 7843840
after x64: 9207808
increase: 1363968 (17.4%)
R=asiva@google.com, whesse@google.com
Review URL: https://codereview.chromium.org/2316813002 .
This CL allows native extension lookup to defer to the platform's
library lookup (e.g. dlopen) when the library cannot be found next to
the importing Dart library. It also allows dart-ext: to accept an
absolute path to the native library.
R=asiva@google.com
Review URL: https://codereview.chromium.org/2285223003 .