Commit Graph

16 Commits

Author SHA1 Message Date
Vyacheslav Egorov cb530221cf Pass patched_sdk path down to fasta as an Uri.
R=kmillikin@google.com
BUG=

Review-Url: https://codereview.chromium.org/2719453002 .
2017-02-24 11:08:03 +01:00
Vyacheslav Egorov 0e11683bd8 Fix the placement of the platform.dill file generated by patch_sdk.
R=kmillikin@google.com
BUG=

Review-Url: https://codereview.chromium.org/2716793003 .
2017-02-24 10:45:54 +01:00
Martin Kustermann 8b7f7b242c Temporarily suppress fasta compiler hints/warnings/errors during compilation of platform.dill for the patched_sdk target
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2711963002 .
2017-02-23 20:01:15 +01:00
Vyacheslav Egorov 1f00947ea8 In patch_sdk when passing --packages down to fasta turn it into an URI.
R=kustermann@google.com
BUG=

Review-Url: https://codereview.chromium.org/2709033005 .
2017-02-23 17:38:23 +01:00
Vyacheslav Egorov 80c3247f99 Make patch_sdk step invoke fasta's compile_platform to generate patched_sdk/platform.dill.
This is where Kernel isolate expects to find it currently.

This is a preparation for flipping DFE_USE_FASTA to true.

R=ahe@google.com, kustermann@google.com

Review-Url: https://codereview.chromium.org/2710943006 .
2017-02-23 17:12:45 +01:00
Vyacheslav Egorov 364b8575de VM: Restore old implementation of ClassID.cid* fields.
When we were implementing bootstraping from Kernel in https://github.com/dart-lang/sdk/commit/23fd1a184b393825f29444243780f3593ce0b3c1 we switched ClassID.cid* fields to become 'static final' lazily initialized fields instead of constants as they were before. This was mainly done to allow dartk compile patched_sdk - because these fields were previously injected in runtime and never existed in the text form.

However this regressed code quality for app-jit and app-aot snapshots because 'static final' fields are reset by snapshotting so resulting code contains InitStaticField and LoadStaticField instructions.

BUG=
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2693863006 .
2017-02-16 17:43:42 +01:00
Kevin Millikin d9f80a9ac1 Turn the VM's dart:typed_data into a patch
Before, the VM's dart:typed_data was a complete replacement of the SDK's
dart:typed_data implementation instead of a patch.  This is unlike all
the other SDK libraries.  This difference requires special-casing for
dart:typed_data in tools that handle the SDK libraries (e.g., the
Analyzer's patching support, the GN build).

This change makes dart:typed_data back into a patch to the SDK's
implementation.  It reintroduces a distinction between abstract
interface and concrete implementation classes, so there are more
classes.

BUG=
R=fschneider@google.com, vegorov@google.com

Committed: https://github.com/dart-lang/sdk/commit/a9b906d319c32525a0600c75c008c92753591d86
Review-Url: https://codereview.chromium.org/2571563005 .
2016-12-22 10:57:21 +01:00
Kevin Millikin f97440848f Revert "Turn the VM's dart:typed_data into a patch"
This reverts commit a9b906d319.

A lot of things were broken by the changes to implementation class
names.

BUG=

Review-Url: https://codereview.chromium.org/2598603002 .
2016-12-21 12:28:33 +01:00
Kevin Millikin a9b906d319 Turn the VM's dart:typed_data into a patch
Before, the VM's dart:typed_data was a complete replacement of the SDK's
dart:typed_data implementation instead of a patch.  This is unlike all
the other SDK libraries.  This difference requires special-casing for
dart:typed_data in tools that handle the SDK libraries (e.g., the
Analyzer's patching support, the GN build).

This change makes dart:typed_data back into a patch to the SDK's
implementation.  It reintroduces a distinction between abstract
interface and concrete implementation classes, so there are more
classes.

BUG=
R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2571563005 .
2016-12-21 08:34:52 +01:00
Kevin Millikin 9e0a4bc2df Do not generate a duplicate ExternalName class
In https://github.com/dart-lang/sdk/commit/f7b6f0cf1c188bbc375de2a37f9a4129cb845428
some of the VM's libraries were modified to work the the analyzer's
patching support.  This requires the class ExternalName, which used as
an annotation, to be present in the SDK.

Before: it was injected by dart code as part of a build step.  Now, it
just appears as code in the SDK and we should not inject a (duplicate)
definition.

BUG=
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2580783002 .
2016-12-15 11:24:27 +01:00
Vyacheslav Egorov 23fd1a184b VM: Support bootstrapping core libraries from Kernel binaries instead of source.
BUG=http://dartbug.com/27590
R=asiva@google.com

Review URL: https://codereview.chromium.org/2485993002 .
2016-11-16 13:56:20 +01:00
Vyacheslav Egorov eb8c24e133 Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork."
R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2451623006 .
2016-10-27 10:09:22 +02:00
Vyacheslav Egorov 12968edb9c Revert "Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork.""
This reverts commit 4e7a31262e.

Windows bots are broken now.

R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2451893004 .
2016-10-26 17:07:18 +02:00
Vyacheslav Egorov 4e7a31262e Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork."
This relands commit 2fed1c3905 with fixes to ensure that analyzer summaries are correctly created and XARM build does not try to use target binaries on the host.

R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2453773002 .
2016-10-26 16:48:28 +02:00
Vyacheslav Egorov cf7ff42e60 Revert "Merge more Kernel infrastructure from kernel_sdk SDK fork."
This reverts commit 2fed1c3905.

SDK builds are failing

TBR=zra@google.com

Review URL: https://codereview.chromium.org/2455593002 .
2016-10-26 13:06:27 +02:00
Vyacheslav Egorov 2fed1c3905 Merge more Kernel infrastructure from kernel_sdk SDK fork.
- bring patched SDK generation scripts and VM patch tweaks that allow VM patch files to be parsed by analyzer front-end;
  Patched SDK is an SDK with all VM patches spliced into it. Kernel compiler is based on the analyzer front-end which does
  not have any patch files support/model so for it to produce Kernel files that match VM we need to generate a such patched SDKs.

- bring test script modifications that allow to test Kernel pipeline

BUG=
R=asiva@google.com, kmillikin@google.com, whesse@google.com, zra@google.com

Review URL: https://codereview.chromium.org/2434123003 .
2016-10-26 13:02:54 +02:00