Zachary Anderson
e2729705ff
Rolls back fix of SecurityContext method names.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org/1757453002 .
2016-03-01 10:34:15 -08:00
Ryan Macnak
7b6463b708
Exception handlers may have null type arrays.
...
Fixes crash introduced by e1cd55dc8f .
R=regis@google.com
Review URL: https://codereview.chromium.org/1755713002 .
2016-03-01 10:14:03 -08:00
Ivan Posva
890c86251a
- Add binary size analysis tool from Chromium.
...
BUG=
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1754443002 .
2016-03-01 10:06:07 -08:00
Regis Crelier
699890db11
Introduce experimental flag --reify in the vm.
...
Note that many tests will fail when using --no-reify, since expected type errors
are not reported.
R=iposva@google.com
Review URL: https://codereview.chromium.org/1517153004 .
2016-03-01 10:03:18 -08:00
John McCutchan
b2249f30fd
Add persistent handles to service protocol and Observatory UI
...
VM Changes:
- Add private _getPersistentHandles service RPC.
- Add service_test for _getPersistentHandles.
Observatory Changes:
- Add Persistent Handles page.
- Display persistent handles in a curly-block
- Display weak persistent handles in a sortable table.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1719313002 .
2016-03-01 07:31:29 -08:00
Srdjan Mitrovic
cd1112a382
Factor out code that looks up a canonical type and adds it to the canonical_types_ array if necessary.
...
BUG=
R=regis@google.com
Review URL: https://codereview.chromium.org/1748913002 .
2016-02-29 15:49:07 -08:00
Ryan Macnak
e1cd55dc8f
Precompilation: also trace types of exception handlers.
...
Cf. 4b112c6d25
R=regis@google.com
Review URL: https://codereview.chromium.org/1746313002 .
2016-02-29 15:34:59 -08:00
Regis Crelier
e66d65f7b9
Change function source fingerprint calculation to rely on tokens exclusively and
...
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 .
2016-02-29 14:59:21 -08:00
Florian Schneider
248b70a40f
Exclude deoptimization-related runtime functions from precompiled runtime.
...
Deopt instructions and deferred object classes are not needed there.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1749973002 .
2016-02-29 13:34:48 -08:00
Ryan Macnak
ad01f0fb41
Don't expand inline frames in stacktraces under noopt to match full precompiled behavior.
...
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1748793002 .
2016-02-29 13:28:09 -08:00
John McCutchan
d08d4d8dba
Dump functions on circular dependency parser error
...
Help with: https://github.com/dart-lang/sdk/issues/25545
R=turnidge@google.com
Review URL: https://codereview.chromium.org/1751523003 .
2016-02-29 12:32:20 -08:00
Florian Loitsch
55630a5e90
Support 'dart.library.X' env variables in the VM.
...
BUG= http://dartbug.com/24587
R=iposva@google.com , johnmccutchan@google.com
Committed: https://github.com/dart-lang/sdk/commit/c2a06e22cb83f491fd3accc33d7738c87490c26d
Reverted: https://github.com/dart-lang/sdk/commit/5eb5b429895987519a00daa81b5ab261debbca3f
Review URL: https://codereview.chromium.org/1640853004 .
2016-02-29 20:58:32 +01:00
Matthias Hausner
11767827db
Add comment to async* support code
...
Addresses review comment.
Review URL: https://codereview.chromium.org/1751503002 .
2016-02-29 11:22:04 -08:00
Ryan Macnak
cb210e3997
Enable concurrent sweep on MIPS and ARM64.
...
Compare ARM from commit f78517a5ba .
Closes #25651 .
R=zra@google.com
Review URL: https://codereview.chromium.org/1722013002 .
2016-02-29 09:23:25 -08:00
Regis Crelier
a8d71a461d
Stop prefixing the library name to type names when reporting a type error with
...
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 .
2016-02-26 15:11:50 -08:00
Srdjan Mitrovic
20c17d9e41
More fixes for background compilation
...
BUG=
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1745453002 .
2016-02-26 10:58:17 -08:00
Zachary Anderson
e03a9d54c7
Don't compile in root certs when SSL is disabled in GN build.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/1739023005 .
2016-02-26 10:37:53 -08:00
John McCutchan
e40a443bbf
Fix Flutter Dart role
...
BUG=
R=zra@google.com
Review URL: https://codereview.chromium.org/1744573002 .
2016-02-26 10:30:14 -08:00
Srdjan Mitrovic
5a69e3661b
In background compilation make a copy of Field in order to freeze its state. Add flag --force_clone_compiler_objects for debugging purpose.
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org/1722733002 .
2016-02-26 09:07:49 -08:00
John McCutchan
761e6a5963
Build CodeSourceMap for each code object
...
- 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 .
2016-02-26 07:59:48 -08:00
Florian Schneider
944aed203a
Remove left-over compiler-code from precompiled runtime.
...
Only instantiate IR classes in compiled regexp mode.
Remove remaining stub generation code.
BUG=
R=vegorov@google.com
Review URL: https://codereview.chromium.org/1739173002 .
2016-02-26 06:59:36 -08:00
Ivan Posva
8d18298fed
- Remove Isolate::Flags structure and store flags directly in isolate.
...
- Make enable_asserts, enable_type_checks, error_on_bad_override and
error_on_bad_type release mode flags only.
BUG=
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1737693003 .
2016-02-25 18:06:56 -08:00
William Hesse
47b2253866
Update status for VM crash on address sanitizer (asan) bot.
...
BUG=
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1739023003 .
2016-02-26 00:53:25 +01:00
John McCutchan
3b0104732b
Remember token position where a function was inlined
...
When inlining a function, remember the token position of the call. I need this information for source level profiling.
R=srdjan@google.com
Review URL: https://codereview.chromium.org/1739963002 .
2016-02-25 14:47:11 -08:00
Florian Schneider
289157044a
Add libdart_precompiled_runtime target to runtime/BUILD.gn
...
This allows the embedder using the gn build files build a VM runtime without compiler-related code, used to run a precompiled snapshot.
It is a copy of libdart, but has the macro DART_PRECOMPILED_RUNTIME defined which excludes all
compiler-related code, not needed to run precompiled code from the binary.
BUG=
R=chinmaygarde@google.com
Review URL: https://codereview.chromium.org/1738503002 .
2016-02-25 13:44:28 -08:00
John McCutchan
003fa8863f
Fix analysis bots
...
BUG=
Review URL: https://codereview.chromium.org/1732303003 .
2016-02-25 12:51:16 -08:00
Regis Crelier
3ffe9922b7
Simplify various name flavors in VM.
...
R=asiva@google.com , johnmccutchan@google.com
Review URL: https://codereview.chromium.org/1723733002 .
2016-02-25 11:21:27 -08:00
John McCutchan
5d50f1c64a
Fix bots: Only load class if the isolate is runnable.
...
BUG=
Review URL: https://codereview.chromium.org/1735993002 .
2016-02-25 08:58:04 -08:00
Florian Schneider
d8677964a3
Move precompilation-related flags to flags list.
...
They become compile-time constants in the precompiled runtime, and in product mode.
In precompiled product mode, the precompiled value has precedence.
BUG=
R=rmacnak@google.com
Committed: https://github.com/dart-lang/sdk/commit/5c9f18c6c87284395564051a052cc4acc9b6f59a
Review URL: https://codereview.chromium.org/1731743003 .
2016-02-25 07:53:39 -08:00
John McCutchan
b482480b65
Improve behaviour when we hit a stack overflow / OOM error
...
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 .
2016-02-25 07:33:01 -08:00
Siva Annamalai
5c53e14d55
- Skip tests which use dart:mirrors in product mode
...
Review URL: https://codereview.chromium.org/1728663002 .
2016-02-24 18:13:20 -08:00
Ryan Macnak
bd85deaf4e
Revert "Move precompilation-related flags to flags list."
...
The default value of print_stop_message was architecture specific.
TBR=fschneider@google.com
Review URL: https://codereview.chromium.org/1739593002 .
2016-02-24 18:08:01 -08:00
Florian Schneider
5c9f18c6c8
Move precompilation-related flags to flags list.
...
They become compile-time constants in the precompiled runtime, and in product mode.
In precompiled product mode, the precompiled value has precedence.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1731743003 .
2016-02-24 17:31:08 -08:00
Ryan Macnak
04e8382cec
VM: Share object pool entries for optimized static calls.
...
Independently patchable entries are not required for debugging because breakpoints are only added to unoptimized code, nor for deopt because deopt patches the instruction stream and not the object pool.
Future work: Reduce the static call table from (pc offset, function, code) triples to (pc offset, function or allocation stub) pairs.
precompiled dart2js arm 20747140 -> 20674954 (-0.34%)
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1713853003 .
2016-02-24 13:57:19 -08:00
Ryan Macnak
d377a817a5
Fix running on debug + clang + ARM64 + --link-natives-lazily.
...
Don't expect the C compiler to maintain ABI alignment on calls within a
compilation unit.
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1728913002 .
2016-02-24 09:38:24 -08:00
John McCutchan
b39b2c8cfb
Add ability to save and load timelines from Observatory
...
Fixes #25180
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1722373002 .
2016-02-24 09:12:30 -08:00
Florian Schneider
df4f508483
Rename FlowGraphOptimizer -> JitOptimizer, clean up optimizer code.
...
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1732483002 .
2016-02-24 07:18:12 -08:00
Florian Schneider
39bd867da6
Fix assertion in precompiler.
...
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1726063002 .
2016-02-23 15:13:36 -08:00
Florian Schneider
843cbca427
VM: Fix product build.
...
R=asiva@google.com
TBR=asiva@google.com
BUG=
Review URL: https://codereview.chromium.org/1728713002 .
2016-02-23 12:54:33 -08:00
John McCutchan
543a7af08c
Fix checked mode failures in service tests
...
BUG=
Review URL: https://codereview.chromium.org/1725993002 .
2016-02-23 12:35:48 -08:00
John McCutchan
7656cedf47
Refactor service tests in preparation of running on sky_shell
...
- Split service test common helper into separate file.
- Make many tests easier to adapt to line number changes.
- Refactor test launching in preparation of running these tests against sky_shell
- Pass --testee-mode as an environment variable instead of of a command line flag because Flutter applications cannot receive command line arguments.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1726773002 .
2016-02-23 10:51:48 -08:00
Florian Schneider
b870dafa4f
VM: Separate precompilation-specific code, make flags const.
...
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 .
2016-02-23 08:48:08 -08:00
Siva Annamalai
809c205cae
- Fix --run-fullsnapshot flag processing issue in non product mode.
...
- Adjust status files for product mode issues (Process.run, SpawnUri,
test expecting line numbers)
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1720193002 .
2016-02-22 15:33:34 -08:00
Ryan Macnak
4b112c6d25
Precompilation: drop unused types and type arguments and empty classes and libraries.
...
precompiled dart2js arm 20748837 -> 20639848 (-0.52%)
precompiled flutter asteriods arm64 8926398 -> 8782136 (-1.6%)
R=regis@google.com
Review URL: https://codereview.chromium.org/1686773002 .
2016-02-22 14:05:03 -08:00
Siva Annamalai
2964f9e750
Change return value of ObjectStore::PreallocateObjects to return the error object or null instead of a bool. Most of the times the sticky error is cleared and returned as an error so returning a bool and querying the sticky error here does not work as the sticky error is a null object.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org/1721053002 .
2016-02-22 13:37:22 -08:00
Jacob Richman
6a0b321026
Allow factory constructors on mixin classes.
...
This mitigates a breaking change impacting real users caused by 851b4a995c .
The spec will be updated to allow factory constructors on mixins.
R=gbracha@google.com , iposva@google.com
Review URL: https://codereview.chromium.org/1699233002 .
2016-02-22 10:19:49 -08:00
John McCutchan
8266501a72
Remove mirrors in product mode
...
(stripped) dart_product before: 5307888
(stripped) dart_product after: 5232976
Reduction in size: 74912 bytes.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1712843002 .
2016-02-22 09:55:20 -08:00
John McCutchan
d9a8e40b74
Fix windows build failures
...
BUG=
Review URL: https://codereview.chromium.org/1722713002 .
2016-02-22 09:45:34 -08:00
John McCutchan
fda3a9bc2b
Remove more things
...
(stripped) dart_product before: 5307888
(stripped) dart_product after: 5275088
Reduction in size: 32800 bytes.
Removed entirely:
- debuginfo*
- elfgen*
- gdbjit*
- TraceBuffer
- vtune support
Removed in product:
- Compiler stats
- Code observers
R=asiva@google.com
Review URL: https://codereview.chromium.org/1711163002 .
2016-02-22 08:53:11 -08:00
Ivan Posva
c822c34af6
- Add DEBUG_ONLY and NOT_IN_PRODUCT macros.
...
- Remove user_name_ field from RawClass using macros.
- Consolidate "#ifndef PRODUCT" and "#ifdef DEBUG" code using macros.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1715123003 .
2016-02-19 17:48:08 -08:00