Martin Kustermann
d822f36f15
VM: Fix memory leak during shutdown
...
The way runtime/platform/hashmap.h:HashMap was implemented so far did not allow
deleting elements while iterating over the map. If one iterated like this
HashMap::Entry* cursor = map.Start();
while (cursor != NULL) {
if (cond) {
map.Remove(cursor->key, cursor->hash);
}
cursor = map.Next(cursor);
}
Then the iteration `cursor` will skip elements. This is due to the fact that
`HashMap::Remove()` is left-rotating elements in certain cases and
`HashMap::Next()` will unconditionally advance to the next position in the
backing store.
PROBLEM IS: There was existing code which did remove elements while iterating
over a HashMap.
R=fschneider@google.com
Review URL: https://codereview.chromium.org/2533303005 .
2016-11-30 23:52:04 +01:00
Zachary Anderson
c8ecd31aa5
Properly label vm_tests as tests
...
This will allow build tools that are interested in target types to work
properly.
BUG=
R=zra@google.com
Review URL: https://codereview.chromium.org/2540853002 .
2016-11-30 14:34:37 -08:00
Konstantin Shcheglov
c3e2c45cb3
Extract 'computeMissingOverrides' in ErrorVerifier.
...
So, we can reuse it in Quick Fixes.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/2541153002 .
2016-11-30 14:04:43 -08:00
Konstantin Shcheglov
a0fa2083d3
Fix for constructor search.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/2539263002 .
2016-11-30 13:59:56 -08:00
Stephen Adams
dfd38a0463
Use precomputed constant for determining if static is lazy-init
...
R=sigmund@google.com
Review URL: https://codereview.chromium.org/2541753002 .
2016-11-30 13:31:56 -08:00
Paul Berry
1d028eed8d
Transition analyzer and analysis_server to new astFactory; remove old AST factory methods.
...
R=brianwilkerson@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org/2539243002 .
2016-11-30 12:28:51 -08:00
Dan Rubel
aff6b796f3
update analyzer cli to support include directive in analysis options file
...
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org/2541933002 .
2016-11-30 15:16:55 -05:00
Konstantin Shcheglov
666d4efce2
Issue 27903. Use shared logic for computing new method location.
...
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27903
Review URL: https://codereview.chromium.org/2538143003 .
2016-11-30 12:15:07 -08:00
Konstantin Shcheglov
fa0b825269
Search for ImportElement(s).
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/2542583003 .
2016-11-30 12:12:22 -08:00
Konstantin Shcheglov
4686d364bb
Add a new Analysis Server option '--new-analysis-driver-log'.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/2543713002 .
2016-11-30 12:10:06 -08:00
Zachary Anderson
cec2a1cab2
Adjust memory pressure from SSL
...
This includes the size of the internal memory buffers for the filter
and the trusted certs in the security context.
R=asiva@google.com , rmacnak@google.com
Review URL: https://codereview.chromium.org/2542663002 .
2016-11-30 10:26:45 -08:00
Konstantin Shcheglov
2537784f92
Stop using Element.unit directly.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/2541873002 .
2016-11-30 09:37:55 -08:00
Konstantin Shcheglov
9a9e037e61
Show priority files on the status page.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/2542673002 .
2016-11-30 09:25:31 -08:00
Paul Berry
0cf5215560
Update analyzer pubspec to reflect dependency on collection.
...
The dependency was added in 27a3275495
.
Note that analyzer previously had a transitive dependency on
collection.
R=scheglov@google.com
Review URL: https://codereview.chromium.org/2536373004 .
2016-11-30 09:24:02 -08:00
William Hesse
10e535a5ee
Update status for dart_style package and dom/shadowroot co19 windows.
...
BUG=https://github.com/dart-lang/dart_style/issues/562
TBR=rnystrom@google.com
Review URL: https://codereview.chromium.org/2543463003 .
2016-11-30 16:52:17 +01:00
William Hesse
35904c4f7e
Update package building status for pkg/kernel
...
BUG=https://github.com/dart-lang/sdk/issues/27937
R=asgerf@google.com
Review URL: https://codereview.chromium.org/2543473003 .
2016-11-30 15:18:10 +01:00
Erik Ernst
f2907070d8
Added CHANGELOG.md entry on syntax-only generic methods.
...
R=lrn@google.com , mit@google.com
Review URL: https://codereview.chromium.org/2532863002 .
2016-11-30 13:36:02 +01:00
Johnni Winther
33303ffea5
Resolve type arguments to generic methods.
...
R=eernst@google.com
Review URL: https://codereview.chromium.org/2535373003 .
2016-11-30 12:44:29 +01:00
Kevin Millikin
bda2c1d534
Update kernel/binary.md.
...
Update a few things that are out of date and consistently use List for
arrays preceded by a UInt length.
BUG=
R=asgerf@google.com
Review URL: https://codereview.chromium.org/2539063002 .
2016-11-30 12:26:03 +01:00
Martin Kustermann
f9c9c4e767
VM: Fix segfault during shutdown of socket listening registry
...
The following happened:
A listening socket (ipv4, first-port) was created. Afterwards another
listening socket (ipv6, 0) is being created. We look up in the hashmap
if there is already a listening socket on port `0` (which is never the case).
So we create a new socket, the OS assigns the socket a random port
(which just happens to be `first-port` as well). Then we insert a new OSSocket
entry into the hashmap with key `first-port` (and set its `next` field to NULL).
This will simply override the existing entry.
During shutdown we loop over all (fd, OSSocket) pairs and try to remove
`OSSocket` from the port->socket map (via the linked `next` list). We cannot
find the `OSSocket` which we accidentally droped earlier, so we dereference
`0->next` and hit a SEGFAULT.
What should've happend is to correctly link the `OSSocket`s via the next field.
Fixes #27847
R=asiva@google.com , fschneider@google.com
Review URL: https://codereview.chromium.org/2540013002 .
2016-11-30 11:48:08 +01:00
Erik Ernst
2812738546
Added CHANGELOG.md entry for initializing formal access.
...
R=kevmoo@google.com , lrn@google.com
Review URL: https://codereview.chromium.org/2540643002 .
2016-11-30 11:47:03 +01:00
William Hesse
de0c7acfd7
Update status for flaky Windows tests
...
BUG=https://github.com/dart-lang/sdk/issues/27935
R=eernst@google.com
Review URL: https://codereview.chromium.org/2539033002 .
2016-11-30 11:41:17 +01:00
Asger Feldthaus
709c1e0b75
Store library paths relative to a given application root folder.
...
In kernel, library import URIs now support an "app" scheme as an
alternative to the "file" scheme, representing a path relative to
the application root.
dartk takes an --app-root flag giving the application root. If none
is given, file URIs are used instead.
The intention is that kernel binaries should not carry irrelevant
path information, such as the path to the home directory of the
user who compiled a given file.
It is not the intention that end-users should see an app URI.
Import paths are currently not shown to users at all, and if we need
to do this, they should be translated to file paths first.
In theory we could stick to file URIs with relative paths, but the Uri
class from dart:core makes this difficult, as certain operations on it
assume that file paths should be absolute.
Source mapping URIs are not yet affected by this change.
R=kmillikin@google.com
Committed: 60adb852ad
Review URL: https://codereview.chromium.org/2532053005 .
Reverted: bb540416f2
2016-11-30 10:39:48 +01:00
Asger Feldthaus
ecf9acd26c
Update vm-kernel status file.
...
BUG=
R=jensj@google.com
Review URL: https://codereview.chromium.org/2538063002 .
2016-11-30 10:38:21 +01:00
Johnni Winther
40bf5d321e
Handle 'dynamic' as type argument in generic calls.
...
R=eernst@google.com
Review URL: https://codereview.chromium.org/2541473002 .
2016-11-30 09:29:35 +01:00
Johnni Winther
44bdc75827
Support patched generic methods.
...
R=sigmund@google.com
Review URL: https://codereview.chromium.org/2535213003 .
2016-11-30 09:20:42 +01:00
Johnni Winther
3af747810f
More refactoring of enqueuers
...
- refactor enqueuer/strategy/impact-visitor relations
- make helper methods/fields private
R=het@google.com
Review URL: https://codereview.chromium.org/2535143003 .
2016-11-30 09:12:08 +01:00
Asger Feldthaus
04c66f8bab
Support --strong when running dartk from test.py.
...
BUG=
R=kmillikin@google.com
Review URL: https://codereview.chromium.org/2536143003 .
2016-11-30 08:25:53 +01:00
Asger Feldthaus
440813c67b
Check that invocations have well-formed targets in kernel verifier.
...
This also fixes some issues in the frontend and transformers that
generated calls without the correct number of type arguments.
BUG=
R=kmillikin@google.com
Review URL: https://codereview.chromium.org/2533793005 .
2016-11-30 08:24:03 +01:00
Asger Feldthaus
ddc6af7556
Update kernel testcase baseline.
...
BUG=
R=kmillikin@google.com
Review URL: https://codereview.chromium.org/2541523002 .
2016-11-30 08:18:55 +01:00
Konstantin Shcheglov
0f9a78ff53
Make 'Inline Method' refactoring work with the new analysis driver.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/2540793003 .
2016-11-29 17:12:46 -08:00
Alan Knight
667fc8dbe9
Make the dart:developer library available in DDC so debugger statement works
...
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/2534263002 .
2016-11-29 16:13:45 -08:00
Ben Konyi
d406779dd8
Changes to language.status to fix broken tests on vm-reload and analyzer.
...
R=zra@google.com
Review URL: https://codereview.chromium.org/2541513003 .
2016-11-29 16:07:56 -08:00
Bob Nystrom
8073b4729c
Update dart_style to 0.2.12.
...
This adds support for generic methods.
R=kevmoo@google.com
Review URL: https://codereview.chromium.org/2537273003 .
2016-11-29 15:51:17 -08:00
Ben Konyi
9428946b48
Fixed failing tests (for real this time hopefully) for build #2323
...
Updated language.status to address failure of regress_27201_test caused by lack of deferred loading support.
BUG=
R=zra@google.com
Review URL: https://codereview.chromium.org/2542473002 .
2016-11-29 15:13:16 -08:00
Stephen Adams
9871523b61
Recognise x.==(null) and generate HIdentical
...
This handles many of the kernel null-aware expansions, which do not map back to Ast nodes.
R=efortuna@google.com , sigmund@google.com
Review URL: https://codereview.chromium.org/2535323002 .
2016-11-29 15:05:52 -08:00
Ben Konyi
061cbb170e
Updated language.status to address failure of regress_27201_test caused by lack of deferred loading support.
...
BUG=
R=zra@google.com
Review URL: https://codereview.chromium.org/2542453002 .
2016-11-29 14:32:15 -08:00
Konstantin Shcheglov
6fd063ede5
Update to make Extract/Inline local and Extract Method refactorings work.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/2539753003 .
2016-11-29 14:14:32 -08:00
Ben Konyi
7e918f5b48
Fixed the conditions of an assert causing the debug VM to crash when trying to load a library from an invalid path. Created copy of a previous deferred_import_t02.dart test from co19 as a regression test until deferred_import_t02.dart is reverted to the previous test.
...
Fixes #27201
R=zra@google.com
Review URL: https://codereview.chromium.org/2537253002 .
2016-11-29 14:07:19 -08:00
Vijay Menon
88c5dd5745
Better mirrors support for mixins and private fields
...
This is generally motivated by pageloader usage.
R=rnystrom@google.com
Review URL: https://codereview.chromium.org/2535273002 .
2016-11-29 14:00:01 -08:00
Konstantin Shcheglov
7c3932d594
Implement search for PrefixElement.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/2535173004 .
2016-11-29 13:58:05 -08:00
Jacob Richman
1370b6bb46
Fix handling of static names for JS interop and improve test coverage.
...
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/2536823003 .
2016-11-29 13:33:19 -08:00
Brian Wilkerson
37387de83a
Exclude files from analysis when using AnalysisDriver
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/2536303002 .
2016-11-29 13:30:22 -08:00
Konstantin Shcheglov
38635ec91e
Support for AwaitExpression in unlinked expressions.
...
This code was failing when analyzing dev_compiler with the new driver.
var instanceVarArrowExpression = (f) async => await f;
The reason was that we:
1. Don't understand AwaitExpression in AbstractConstExprSerializer.
2. So, we throw StateError.
3. So, AbstractConstExprSerializer.serialize() marks isValidConst.
4. But we don't check 'isValidConst' in linker.
5. The list of operations is empty, so we don't have anything in stack.
6. So, we throw an exception in linker.
R=paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org/2541603002 .
2016-11-29 13:22:31 -08:00
Paul Berry
4cdb5534bf
Properly resolve dependency part paths in summary linker.
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/2540823002 .
2016-11-29 13:07:53 -08:00
Emily Fortuna
ecb9b3618a
Handle "as" in kernel with ir.AsExpression case.
...
BUG=https://github.com/dart-lang/sdk/issues/27394
R=sra@google.com
Review URL: https://codereview.chromium.org/2538643002 .
2016-11-29 12:46:43 -08:00
Zachary Anderson
2644362215
GN: Reset default for fallback root certs to false.
...
R=johnmccutchan@google.com , rmacnak@google.com
Review URL: https://codereview.chromium.org/2536273002 .
2016-11-29 12:24:48 -08:00
Paul Berry
af89793c11
Use putIfAbsent in InheritanceManager._reportError.
...
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org/2537643004 .
2016-11-29 12:07:10 -08:00
Konstantin Shcheglov
86866a3116
Don't attempt to record reference to a named parameter of a synthetic function.
...
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org/2537883002 .
2016-11-29 11:41:55 -08:00
Paul Berry
636e7b559b
Avoid a crash during summary linking when there are inheritance errors.
...
R=brianwilkerson@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org/2531333006 .
2016-11-29 11:04:29 -08:00