The behavior of acquire+release annotation handling has changed in
https://reviews.llvm.org/D49355 which breaks the build with the new
Clang. However, as has been pointed out, the acquire+release isn't
the right way to prevent double locking as the annotations negate
each other; the correct way is to use excludes or negative requires.
Using excludes annotations also requires using std::lock_guard instead
of std::unique_lock because the latter doesn't have the thread
annotations due to deferred locking which is not needed in Flutter and
so std::lock_guard is a sufficient alternative.
If we want to avoid the bleeding edge artifact (flutter/flutter#18057 (comment)) using saveLayer, we have to call drawPaint instead of drawPath as anti-aliased drawPath will always have such artifacts.
This is discovered when I try to add golden tests for such bleeding artifacts using our new Clip enum. Here's the updated golden files: flutter/goldens@cb1fa8a?short_path=57b30ce#diff-57b30cea9b10b7ca689009854e12d70e
* Flush all embedded Android view on hot restart.
Adds an OnEngineRestarted method to PlatformView, this is currently only
implemented for Android where we need to use it for embedded views.
* review comments followup
* rename to OnPreEngineRestart, call before Clone
Instead, send them with the new unknown PointerDeviceKind.
We hit this when running `adb shell input tap` in tests which sends events with
an unknown tool type.
This also fills in a missing conversion for TOOL_TYPE_ERASER.
* b04def964c [VM interpreter] Save previous argdesc_ and pp_ on reentry, restore on exit.
92ae73b6d8 Fork the remaining subclasses of AbstractAnalysisClass
884536dfaa [vm/kernel/bytecode] Fix bytecode generation for async closures
ae001707b7 [vm/kernel/bytecode] Do not call getter for a static field initialized with double literal
87f753dbd3 Replace some declarations of element with declaredElement
2be2cf2061 Bump analyzer_cli protobuf dep
206f955c43 [vm/compiler] Non-speculative ARM64 long division/remainder.
4bb3fb6cae Don't rewrite error Severity for special cases of front-end testing.
d6189709b8 Issue 33506. Rewrite MethodInvocation into InstanceCreationExpression.
26e087e66b Don't save Tokens in Judgments
4c75b49b3f Clear Token in field builder after use
ea0468dff4 Fork more server tests to run under CFE
841f62715a Clean up some hints from the analyzer code base
c5f933fdf7 [vm/lib] String._identityHashCode should be the same as String.get:hashCode
4fa139b4b8 [vm/compiler] Rework how logical expressions are compiled to IL.
9bb39ccabc [infra] Update checked in SDKs to 2.0.0-dev.69.5
2580bf87ae Fix invalid assert that slipped by in ac8fdb5a
1c2043e3a6 Update service test more to not be different in sync async mode
ac8fdb5a58 Add :controller_stream and call _asyncStarListenHelper
2e98da68f9 Call _asyncStarMoveNextHelper in kernel
cb5513fbc9 Make a single clear CHANGELOG entry for all 2.0.0 changes.
d3df394870 Add -O flag and documentation.
3f1bb85f17 [vm/kernel/bytecode] Do not generate InstantiateType for instantiated generic function types
c5ac5c0a2c [vm/kernel/bytecode] Fix serialization of closures with type arguments
ff0327be67 [vm] Streamline passing of ICData through compilation pipeline
012766901e Status file two flaky pkg bot tests.
6a6e7abfc6 Clean up some warnings in the server code base
e578b60899 Bump the analysis driver cache seed.
f169ebf418 Fork several server tests to run under CFE
b1c9b67b68 Add initial content for the analyzer --use-cfe builders.
373ed6b47f Create a LineInfo when resynthesizing a CompilationUnitElement
2a23bc2e0b Update named configurations on builders, turn off checking temporarily.
32851e157f Add support for running some non-integration tests in server using the CFE
0fd93a5c6e Test.dart exits with non-zero exit code if named configuration disagrees with flags.
804fc2add3 [VM runtime] Consider partial instantiation when printing closures (fixes#34034). Add regression test.
c3b7f29d46 Change a pair of negative tests to multitests
f10b4005cd Code to load a named configuration and check it against the existing options.
695476f115 Status file after 03df8b1
7413644de8 Change builder names from -ff- to -firefox-
0c187585c5 Added return-void-2-dynamic to whitelist of generalized-void.md
6920d6b11e Added specification of generated nSM forwarders for private methods
03df8b1eb8 Change a few language_2 tests to comply with reality
cf77a3b00f [Test.dart] Use Compiler, Runtime, etc. classes from pkg:smith.
55880dfeed Add support in the new API for CFE
4b07df24dd Store invalid deferred types used in bodies.
89cfa2edd7 Update package:test_reflective_loader.
* Update DEPS
* Update travis/licenses_golden/licenses_third_party
* Add an explicit `-[FlutterViewController init]` implementation
`-[FlutterViewController init]` currently works because it inherits
the `-[UIViewController init]` convenience initializer that invokes
the `-[UIViewController initWithNibName:bundle:]` designated
initializer that `FlutterViewController` overrides.
However, this doesn't seem to be explicitly documented, so it's a bit
confusing (or at least non-obvious), and it seems potentially
brittle. Add an explicit implementation of `-[FlutterViewController
init]` instead.
List of commits included in this roll:
8bad5c7b29 [vm/compiler] Non-speculative X64 long division/remainder.
918cda18c5 Add docs about sourcemap extensions
329e029bd6 Fixes https://github.com/dart-lang/sdk/issues/34035
12326c10e1 Store constructor field initializera when the target is not a field.
50da4b8d92 Skip ShadowInvalidFieldInitializer while resynthesizing constructor initializers.
8810b6ecc7 Translate kernel.Instantiation in constant expressions.
cb7341fceb Initial support for inlining-data in source-maps.
4206131030 Fix tracking of onStep position of arguments to new expression
384b0a9a73 Issue 34038. Fix resynthesizing imports when mixed with exports.
ba7dbcf412 Update the test output processor to produce more useful analysis
4b2ee8e9a5 Improve catch clause recovery
66500de4dc More fixes to the CFE integration tests
3f2251986d CC sra also in changes to compiler files and tests
4734c55882 Report error on unsupported operators
00e3109368 [VM] Adjust flags for creating depfiles
07c462b471 [vm] Refactoring: extract BaseFlowGraphBuilder to a separate file
ff9167ff7b Fix parseDirectives to recognize metadata
079bebb78b [ VM ] Added missing token position for `assert` statements
174649b9be [gardening] Update status of dissasemble_test on Windows
8c5aca7d4d Remove the Factory interface
3dc201e168 Update ChangeBuilder to not include empty edits (Take 2)
18047b2757 Refactor test.dart by changing class Configuration to TestConfiguration
7373d38a31 Update status for Dart2js minified CSP on Chrome with fast startup
61148eade8 Update mixin-declaration feature specification.
a98feb0f01 [VM interpreter] Fix exception handling. Convert bytecode indices to pc offsets when reading bytecode exception tables. Print pc descriptors and exception handlers in bytecode disassembly. Propagate unhandled exceptions after calling interpreter.
da2ed2fd59 Don't ignore runtime cast failures on Map<K,V>.
3d8ca8e566 [gardening] Increase debug app-jitk timeout
0313f7bd66 [gardening] Update status file for failing test
6c39bc38f3 Clear ShadowX references that are not required after compilation.
05b9bbd2b5 Remove the dart1 version of the analysis server snapshot.
9107399190 Add back in the analysis server training.
9fb6c09015 Store reference/type for invalid types.
21db860271 Remove non-strong dart2js builders from test_matrix.json
2e7b0a13f1 Add support for accessing all of the created contexts
73663ae7c6 Allow void on the RHS of null coalescing expressions
17cb6d95d1 Don't remember TypeEnvironment in resolution results.
72960de5f9 [VM] Fix one more place where bound error allocation happened on BG thread in new space
6ad79ff4bd Update status file for tests passing under CFE
23ba527735 [VM] Ensure to alloate bound errors in old space on BG compiler
fe8052428b Remove CONTENT_MODIFIED from spec/test for getSignature
c4c847a45c Revert "[CQ] Remove pkg-linux-release from the CQ trybots until it is fixed"
beaf05efa3 [vm] When generating JITDUMP also dump IR and attach it as source to code.
24158b773d [vm/compiler] Do not LICM LoadStaticField for uninitialized fields.
68bfaf3ac3 [vm/compiler] Avoid crashes when canonicalizing unreachable AssertAssignable.
5a45b2a62b [infra] Upgrade homebrew dependencies to work on Dart 2
8e287dc037 [VM] Only add direct implementor when reading script snapshots if the implemented class is from the full snapshot
6e81d74fcc [VM] Optimize generation of type testing stubs in JIT mode.
058510eeab fix#28233, add hint for missing returns to function expressions
4482d13ff7 [vm/compiler] Bug fix in 64-bit MOD (%) operator.
* Deprecate -[FlutterDartProject initFromDefaultSourceForConfiguration] (#18886)
`-[FlutterDartProject initFromDefaultSourceForConfiguration]` no
longer seems very useful. It calls `-initWithPrecompiledDartBundle:`
or `-initWithFlutterAssets:dartMain:packages:`, but since it now
passes `nil` for all arguments, both paths end up doing the same
thing.
Additionally, `-initFromDefaultSourceForConfiguration` is awkward to
use in Swift. The automatically generated Swift interface is:
public convenience init!(fromDefaultSourceForConfiguration: ())
and it's not obvious how to call that.
Let's deprecate `-initFromDefaultSourceForConfiguration` and instead
expect callers to use the existing `-init` method. (We can make
`-init` do different things for different build configurations later
if necessary.)
Bonus: Rename some parameters to make it more obvious when they may
be `nil`.
Don't emit a "VSYNC" event when running on Fuchsia, as traces on Fuchsia
are typically recorded across the whole system, causing the events to
collide with each other.