* Roll Dart to version ccb16f72824374163562364bf19dd18e8a882fab
This roll includes the following changes :
* Roll engine to version ccb16f72824374163562364bf19dd18e8a882fab
ccb16f7282 [VM] fix the arguments of training run of kernel-service to turn
on strong mode and sync-async on by default.
41e720b486 [vm] Add support for a new source file format kernel file lists.
306141999d Update testing for unresolved invoke types.
34e6aa8ad2 Fix mock SDK and front-end targer in analyzer.
5d86b5e1b0 [vm/kernel/bytecode] Share contexts between scopes in bytecode
1b5d273fd7 Fix analyzer/FE integration of assignments to ambiguous types.
4a4132ccab Change code ranges for fields/variables.
d1bd887d03 [VM/SDK] Switch kernel isolate to run in Dart 2 mode
bfd86e5b22 [vm, gc] Make bypass_safepoints on helper threads sticky.
f69d2fd096 [VM runtime] Fix build. Missed one reference in previous commit.
f0169f4fe0 [dart] Remove usage of ConnectToEnvironmentService.
14f3982a1f [VM runtime] Remove broken LongJumpScope::IsSafeToJump().
e87efdffb4 Fix analyzer/FE integration of assignments to ambiguous types.
4445ad1707 Support custom --multi-root-scheme flag, and --multi-root arguments.
Also pass the custom scheme to jsProgramToCode to fix placeSourceMap calls.
8c82098b39 Remove special ignoring MissingImplementationCause.
4004194c29 Clean up super calls in swarm.
d06f4f807f Refactor parsing top level keyword declarations
569290dbf5 Revert "[vm] Use multiple entrypoints to remove unnecessary checks on
statically-typed closure calls."
ceace12724 dart2js: Work-around for imprecise calledOnce info
d10204f3a0 Fix analyzer/FE integration of assignments to non-l-values.
8b125b55d0 Add an AST structure for the new mix-in support
19126e861e [vm] Use multiple entrypoints to remove unnecessary checks on statica
lly-typed closure calls.
0093885165 Issues on co19_2 missing compile-time error failures
a95db177b8 Fix VM status after language_2 triage
fe939f9433 [vm] Update status file after entrypoints change (again).
ee6ef702ce Update issues for Fasta missing compile-time errors in language_2
b7790e3147 [VM] Make all of our compilation pipeline use a [FrameLayout] to gene
rate code
2a36502b02 Squelch some false warnings for disallowed uses of void
244c9bebec Remove STRONG_MODE flag
814738b273 Remove CompilerOptions.strongMode/enableTypeAssertions/trustTypeAnnot
ations
d7c71862da Check setters in Dart 2
bedc1440d0 Analyzer: replaceComponent: Add small to big instead of the other way
around
a814614cf4 Fix analyzer/FE integration of invalid assignments to classes.
701b13048b [vm/kernel/bytecode] Zap expression stack in try-catch handlers
7f88b64e0a [vm] buffer size based log flushing
dec1da2437 [VM interpreter] Bytecode reader should make const list immutable.
51bed8a0ed [test matrix] Add back --compiler=dartkb
1f5f197e90 [VM] Do not start the kernel isolate when doing an app JIT snapshot t
raining run if a kernel file is specified as the application.
9bf9822bec Increase a timeout for a slow test.
5e0a28a384 [vm/kernel/bytecode] Support unsafeCast() intrinsic method in bytecod
e
2cca4415b1 Replace Deprecated.expires with message
844b7a9c40 [Test] Add test case for capturing variables in nested sync* closures
a37496d24d [VM interpreter] Fix native call to growable list factory.
47332ae3cb [vm] Update status file after entrypoints change.
b97f885d1d Revert "[vm] Deep clone context when cloning closure"
f88582e74f Improve wording in invalid return spec per comments.
fc24d41b47 Fix status file for super_call4_test/01
2e22f7b247 [vm] Fix a bug in the field exactness tracking state machine.
dea7de23bd [vm] Use multiple entrypoints to remove unnecessary checks on calls a
gainst "this".
c082761e09 [vm/compiler] improve type progagation
The default WindowManager implementation in Android's Presentation is
delegating addView/removeView/updateViewLayout calls to the global
WindowManager.
This can result in a crash when an embedded view is trying to e.g show a
PopupWindow.
This change adds a custom WindowManager that overrides
addView (and removeView/updateViewLayout) and adds the view to the
presentation's view tree.
Note that views might keep a reference to the window manager which
might be an issue when we move a view from one virtual display to
another (due to a resize). For this reason when re-sizing we are not
creating a new window manager for the new presentation, but updating the
window manager's references to be relevant for the new presentation and
re-use it.
If `FlutterDartProject` found an `FLTLibraryPath` entry in an iOS
application's `Info.plist`, it assumed that values that were valid
filesystem paths were paths to bundles. If the attempt to retrieve
the `NSBundle` fails, `FlutterDartProject` ignored the failure and
then would assign `nil` to a C++ `std::string`, resulting in a null
pointer dereference.
Add some failure checks to prevent this.
The service isolate creation callback may occur on a background thread before
the call the Dart_Initialize within the DartVM construtor can finish. We store
pointers to various snapshots within the DartVM object. These snapshots are
necessary for to successfully create the service isolate. The isolate creation
callback access the global object within the ForProcessIfInitialized method.
This method can return null if the VM object has not been initialized. This
leads to the service protocol failing to start in a non-deterministic manner.
This patch moves the creation and access of the DartVM object within a critical
section.