- [x] Start reloading even earlier.
- [x] Keep the value of FLAG_reload_every per-isolate (so spawned isolates reload eagerly too).
- [x] Adjust the reload every back off curve to be linear in the beginning.
- [x] Cap the reload every threshold at 1,000,000
- [x] Test status file updates.
- [x] Stop disabling the background compiler / OSR when running tests.
- [x] Skip multi tests with compilation errors when reloading.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/2133823002 .
1. Subclassing does not change resolution, so we need to invalidate
only HINTS (for invalid @override) and VERIFY_ERRORS (for
unimplemented or type-conflicting (from multiple supers) members).
2. OTOH instantiation of a class with a (members) delta does not change
nor resolution, not the set of errors.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/2138603002 .
Fixes 64-bit AOT and caching-JIT snapshots. Corrects over-zealous conversion of snapshot intptr_t fields to int32_t. Any snapshot containing an ObjectPool is already architecture-specific and so word-size specific.
TBR=asiva@google.com
Review URL: https://codereview.chromium.org/2135033002 .
For static function invocations that don't have optional arguments we
can load smi zero instead of the arguments descriptor. Code is slightly
smaller, and it avoids loading from the object pool.
BUG=#25991
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/2129043004 .
Since variable descriptors are generated lazily, printing disassembly
could trigger re-parsing. This should not hurt in general, but running with
--disassemble should not invoke the parser just for printing -- hereby triggering GC or otherwise altering the execution in unexpected ways.
BUG=#26441
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/2133443002 .
- [x] Add a NoReloadScope to `Parser::RunStaticFieldInitializer`
- [x] Add a NoReloadScope to `Parser::EvaluateConstConstructorCall`
- [x] Add a NoReloadScope to `Parser::Interpolate`
- [x] Add a NoReloadScope to `Parser::EvaluateConstExpr`
Fixes#26837R=fschneider@google.com
Review URL: https://codereview.chromium.org/2135683002 .
The updates to tests/language/generic_local_functions_test.dart use a
local function type argument in its return type, which had not been
tested and did not work.
After a bunch of attempts to change the order in which the resolution
is performed, it suddenly turned out that the offending statement
`visit(node.returnType)` in `ResolverVisitor.visitFunctionExpression`
might be redundant! (.. a subsequent re-resolution in
`ResolverVisitor.analyze` performs the same job, and uses the correct
scope).
So this CL simply removes that `visit..` statement, and the resulting
`dart2js` passes all tests.
Adresses issue https://github.com/dart-lang/sdk/issues/26805.
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org/2128243002 .
The solves the handling of redirecting factories that redirects to other
redirecting factories whos immediate redirection target is unresolved.
For instance
class C {
factory C.a() = C.b;
factory C.b() = Unresolved;
}
The implementation normalizes the properties 'immediateRedirectionTarget',
'redirectionDeferredPrefix', 'effectiveTarget', 'effectiveTargetType', and
'isEffectiveTargetMalformed' by always storing the information on the
implementation element.
R=het@google.com
Review URL: https://codereview.chromium.org/2125823002 .