The Dartium build does not include io components in the libraries, which
are what pull in zlib for the non-dartium builds of the SDK. But it does
build dart_bootstrap, which needs zlib. It actually should not need to
build dart_bootstrap, since it is useless without io capabilities.
BUG=
R=kasperl@google.com
Review URL: https://codereview.chromium.org/1761233003 .
For now, change compilation-related flags to be regular
command line options. They won't affect the size of the
precompiled runtime anyway since the compiler is not included
there.
Also introduce a separate switch for precompiled runtime. This can be
used instead of the macro since it is a compile-time constant in the
precompiled runtime.
BUG=
Review URL: https://codereview.chromium.org/1759913002 .
- Peer certificate was leaked, cert passed to bad cert callback could
could become stale.
- Added finalizer.
- Failing to call Destroy would leak various things.
- Added finalizer.
- ThrowIfError in initialization would fail to deallocate various
things on an error.
- Replaced with explicit checks, and deallocation where needed.
R=iposva@google.com, whesse@google.com
Review URL: https://codereview.chromium.org/1746363002 .
Move optimizations for precompilation into separate file.
Remove precompilation-specific code from flow_graph_optimizer.cc.
Add precompilation-flags: They are const in the precompiled runtime. Started moving flags to use the new flag-definition macros.
Add libdart_lib_precompiled target.
Define PRECOMPILED_RUNTIME_MACRO in more places (dart_precompiled_runtime)
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1714743002 .
Any PKCS12 container, not just those containing a private key, can be
protected by a password. This change adds an optional named `password`
parameter to other SecurityContext calls, and plumbs it through to
the calls reading PKCS12 data.
R=whesse@google.com
Review URL: https://codereview.chromium.org/1699163002 .
While reading PEM data, if we encounter PEM_R_NO_START_LINE, and some
data has been read successfully, we assume that we have reached the
end of the data.
If we encounter PEM_R_NO_START_LINE, and no data has been read
successfully, we assume that the data is not PEM, and we try instead
to read it as PKCS12.
Otherwise, we assume it is malformed PEM, and propagate an error.
R=whesse@google.com
Review URL: https://codereview.chromium.org/1689873003 .
- Add dart_product binary that doesn't include the service isolate, Observatory, or the snapshot. It can only be used for running full snapshots.
- Use this binary when running tests.
R=asiva@google.com
Review URL: https://codereview.chromium.org/1690303002 .
- Eagerly load deferred libraries when running with full application snapshot.
- Do not call ErrorExit when reading of the snapshot fails as it assumes an
Isolate has been created
- Generate a full application snapshot even when there are runtime errors
(only compilation errors or VM restarts do not trigger generation of the
snapshot)
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1689953003 .
Looking forward to using platform specific APIs, this container type is
more common on MacOS and Windows, and is the only container type
supported by the native iOS API.
R=whesse@google.com
Review URL: https://codereview.chromium.org/1687533002 .
Fixes#25724
Fixes Florian Loitsch's emailed request (get rid of k prefix on constants).
- Rename ServiceExtensionResponse constants to not have a 'k' prefix.
- Provide more explanation on how to invoke service extensions (they require an 'isolateId' parameter).
- Require extension method names to begin with "ext." and recommend the template: "ext.package.command" to avoid conflicts with other packages.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1680593004 .
Implements SecurityContext.setTrustedCertificates in terms of the new
function. This requires setTrustedCertificates to return a Future,
and removing the `directory` named argument as it is not possible to
implement with BoringSSL without blocking IO.
R=whesse@google.com
Review URL: https://codereview.chromium.org/1665433002 .
- full-snapshot-after-run (This option generates a full snapshot of an application after it is run with some sample input scenarios, this snapshot includes all the core libraries and other framework libraries and could be potentially tree-shaken to reduce the size)
- run-full-snapshot (This option reads a full snapshot that was generated using the option above and runs it)
Example:
First generate the full application snapshot:
dart_no_snapshot --full-snapshot-after-run=script --package-root=..../packages/ ..../lib/_internal/compiler/implementation/dart2js.dart --categories=all ..../dummy_compiler_test.dart
Then run the full application snapshot generated above:
dart --run-full-snapshot=script ..../lib/_internal/compiler/implementation/dart2js.dart --categories=all ..../dummy_compiler_test.dart
R=srdjan@google.com
Review URL: https://codereview.chromium.org/1670243002 .
- cache builtin_lib in IsolateData so that the cached value can be used withouit having to call Builtin::LoadAndCheckLibrary which creates new string objects everytime it is called.
Review URL: https://codereview.chromium.org/1663963002 .
This allows us to exclude precompiler related code from the standalone
JIT VM, and only have the precompiler included in dart_noopt and dart_no_snapshot
(which is used to generate precompiled snapshots)
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1661703002 .
This is the first step toward removing blocking IO calls from
the implementation of the SecurityContext API.
Using a buffer rather than a file name API will probably be needed
for implementing SecurityContext and SecureSocket with platform
specific built-in APIs on iOS/Mac/Windows rather than BoringSSL.
related #8227R=whesse@google.com
Review URL: https://codereview.chromium.org/1616073004 .
- Cleanups to the embedder's Dart sources for the service isolate. This lets us stop keeping a local copy in the mojo and flutter trees.
- Let the VM know Observatory's server address.
R=zra@google.com
Review URL: https://codereview.chromium.org/1640773005 .