Looking up a name x in the library scope or in a prefix can also return
the setter name x=. There were several situations that were not handled
right.
- a getter x and a setter x= should not result in a duplicate name
error (and thus a resolution error at runtime).
- when looking for an untangled name x but a setter x= is found first,
keep looking for x.
BUG=25625
R=regis@google.com
Review URL: https://codereview.chromium.org/1752203002 .
- Create a separate compilation output directory for each VMOptions varient so they can run in parallel.
- Run both the snapshotter and assembler from the test harness instead of a wrapper script so crashes in the snapshotter are correctly identified by the test harness.
- Delete the assembly source for the precompiled shared library as we go to limit space required to run the test suite (now 61GB for X64 release).
- Remove the VMOption --optimization-counter-threshold in when running precompilation tests.
- Don't look at a library prefix's import list during load(), it was removed by tree-shaking.
- Trace types of TypeParameters.
- Trace types of a Function's owner and parent.
- Update status file for remaining 4 failures under http://dartbug.com/25892.
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1732323005 .
not on the signature type hash anymore. This makes fingerprints insensitive to
implementation details of the type system. The signature type hash was included
because, in the early days, the token stream of a function started at the
opening brace and did not include tokens representing the signature.
R=srdjan@google.com
Review URL: https://codereview.chromium.org/1752503002 .
identical names. The library name is not always helpful, and the prefix confuses
users when the types are function types.
Instead, enumerate all appearing types with their URIs.
This should help debug issue #27229258.
R=srdjan@google.com
Review URL: https://codereview.chromium.org/1743653002 .
- Add helpers for building CodeSourceMap to FlowGraphCompiler. Ensure that no duplicate pc offsets are added to a CodeSourceMap.
- Add a CodeSourceMap debug printer which incorporates inlining information.
- Add some new classifying token positions.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1740503002 .
Fixes#25815
VM changes:
- Don't crash in SignalExceptionThrown when we have no stack frames.
- Notify the debugger about an unhandled stack overflow / OOM *after* setting the sticky error. This allows Observatory to display it.
- When pausing without a debugger attached, print the sticky error if one is set.
- Improve stack trace frame numbers when printing for a stack overflow.
Observatory changes:
- Report the sticky error for pause at unhandled exception as well as exit.
- Let the user know that we cannot pause for unhandled stack overflow / OOM exceptions.
- Don't show the "at <func> (<script location>)" string in the isolate summary, if we don't have a top frame.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1709383002 .
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 .
- Do not create/add function when looking them up in TryCreatICData
- Do not allow background compilation to add/remove functions
- Cache function hash array as it may change or be set to null.
Check VMObject only if FLAG_verify_handles is true.
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org/1709273003 .
This removes precompiler code from the regular JIT-mode VM, and allows us to add
more precompilation-specific optimizations without affecting the JIT compiler.
Remove JIT-related code from precompiler pipeline:
No type feedback, no OSR, no deopt, no block reordering, no background compilation
With precompilation, use precompiler pipeline for static initializers and const expressions as well.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1663163003 .
Make sure that String::Equals(const String&) checks the hash codes
on the strings if they are available. Before this change, only
String::Equals(const Instance&) would consult the hash codes.
R=iposva@google.com
BUG=
Review URL: https://codereview.chromium.org/1666113002 .
- Use TokenDescriptor instead of intptr_t for all token positions.
- Use TokenDescriptor in raw_object instead of int32_t.
- TokenDescriptor is a POD with an int32_t (this shrinks the size of AST and IR nodes by 32-bits on 64-bit architectures).
There are some cleanups I plan on doing as a follow up CL:
- Replace TokenDescriptor::value() with TokenDescriptor::TokenPos()
R=iposva@google.com, rmacnak@google.com
Review URL: https://codereview.chromium.org/1644793002 .
Replace always_optimize_ and allow_recompilation_ with
FLAG_precompilation and !FLAG_precompilation.
They are equivalent and set only once according to the
--precompilation flag
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1657153002 .
- uses thread execution status transition to track when a thread is in a safepoint or needs to block for a safepoint
- introduces a monitor per Thread object
- uses a per thread safepoint handshake between the thread requesting a safepoint and the requested thread.
The ThreadRegistry class now contains only the thread list for an isolate and the functionality of scheduling a thread onto an Isolate and unscheduling it from teh isolate. We could fold this functionality into the Isolate class in a different CL.
R=rmacnak@google.com, zra@google.com
Review URL: https://codereview.chromium.org/1541073002 .
They were used as the class of closure instances and as the type class of
function types.
All closure instances now have class _Closure and function types are represented
by a new class FunctionType extending AbstractType.
Fix issue 24567 and add regression test.
R=asiva@google.com, rmacnak@google.com
Review URL: https://codereview.chromium.org/1584223006 .