Commit Graph

5559 Commits

Author SHA1 Message Date
Ben Konyi 44a9a4ede3 Fixed issue in MallocHooks where a MallocHookScope was accidentally removed during a merge, causing a deadlock in the hooks. Also turned off stack trace collection in a test that was timing out as a result of the stack trace collection.
Updated MallocHooks to collect stack traces when memory is allocated.

BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2718523003 .
2017-02-23 18:58:50 -08:00
Florian Schneider 1b3a53883c Add missing abstract modifier.
BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2714783003 .
2017-02-23 13:44:23 -08:00
Florian Schneider 521526d259 Fixup redefinitions before doing code motion
Also use redefined receiver consistently when inlining recognized methods.

This CL re-enables type propagation from CheckClassId instructions which
was disabled as a temporary stop-gap to prevent illegal code motion.
(reverts https://codereview.chromium.org/1928633002)

Now uses of redefined values that are dominated by the redefinition are renamed before doing LICM.

Related to #26347.

R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2709093003 .
2017-02-23 12:34:55 -08:00
Florian Loitsch 979183decf Add support for the new function-type syntax.
Fixes #27967
BUG= http://dartbug.com/27967
R=ahe@google.com, johnniwinther@google.com, paulberry@google.com, sigmund@google.com

Committed: https://github.com/dart-lang/sdk/commit/85227ba8a60332a18ae92cb1b87bf15d52a909bd
Reverted: https://github.com/dart-lang/sdk/commit/f5fc210f4f79f7e6b7ccefc24e7565e810e9dc7d
Committed: https://github.com/dart-lang/sdk/commit/e4999a631093690febb2eb90cbdbe1f9d5183455
Reverted: https://github.com/dart-lang/sdk/commit/c64c35153905fc2bf8a74c02297220385cfcbc87
Committed: https://github.com/dart-lang/sdk/commit/c289af39c36d9a5f7130a3e69b7891052652a64e
Reverted: https://github.com/dart-lang/sdk/commit/c66479f40767744d0bdd027c004583d6e32fe50f
Review-Url: https://codereview.chromium.org/2567133002 .
2017-02-23 13:36:28 +01:00
Asger Feldthaus 2f331ecd1b Fix two issues with modular compilation in dartk.
- The interface for a factory constructor in an external library would
  reference the class type parameters instead of its own.

- When a class from an external library gets promoted to mixin level,
  the rest of the library should not be considered "being loaded".
  This would cause members to not get added to the AST.

BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2710783004 .
2017-02-23 12:38:20 +01:00
Florian Loitsch c66479f407 Revert "Add support for the new function-type syntax."
This reverts commit c289af39c3.

BUG=

Review-Url: https://codereview.chromium.org/2710973002 .
2017-02-22 17:19:35 +01:00
Florian Loitsch c289af39c3 Add support for the new function-type syntax.
Fixes #27967
BUG= http://dartbug.com/27967
R=ahe@google.com, johnniwinther@google.com, sigmund@google.com

Committed: https://github.com/dart-lang/sdk/commit/85227ba8a60332a18ae92cb1b87bf15d52a909bd

Reverted: https://github.com/dart-lang/sdk/commit/f5fc210f4f79f7e6b7ccefc24e7565e810e9dc7d

Committed: https://github.com/dart-lang/sdk/commit/e4999a631093690febb2eb90cbdbe1f9d5183455

Reverted: https://github.com/dart-lang/sdk/commit/c64c35153905fc2bf8a74c02297220385cfcbc87
Review-Url: https://codereview.chromium.org/2567133002 .
2017-02-22 16:53:49 +01:00
Konstantin Shcheglov 6e2cf37e90 Update top_level_prefixed_library_test.lib library name.
The following error was reported on bots with the new analysis driver,
but it was not reported before, because DartWorkManager.getErrors()
skips non-Dart sources.

WARNING|STATIC_WARNING|PART_OF_DIFFERENT_LIBRARY|/b/build/slave/azr-be/build/sdk/tests/language/top_level_prefixed_library_test.lib|6|6|22|Expected this library to be part of 'TopLevelPrefixedLibrary', not 'TopLevelMultipleFilesTest.dart'.

The test does not state its intentions, so I did my best guess and
fixed the library name.

R=hausner@google.com, brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2691903007 .
2017-02-16 07:02:24 -08:00
Jens Johansen b875199cef Re-mark language/disassemble_test as Pass, Crash
Was added here: https://github.com/dart-lang/sdk/commit/f95701bf6119f41dfcda921268ff07836bd86898
Was removed (by mistake I suppose) here: https://github.com/dart-lang/sdk/commit/fc2458b8423979573ef3bdc70edf9711b38a99b2

Readding it.

BUG=
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2702553002 .
2017-02-16 12:59:02 +01:00
Jens Johansen 8175f806b3 Skip vm/optimized_stacktrace_test in kernel debug mode
BUG=
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2697283002 .
2017-02-16 10:40:34 +01:00
pq ce8dd9cabb Revert "Enable causal stacktrace in kernel"
This reverts commit b29829660b.

(In quest for build greenness.)

BUG=
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2697083002 .
2017-02-15 11:11:30 -08:00
Jens Johansen b29829660b Enable causal stacktrace in kernel
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2690873005 .
2017-02-15 14:17:29 +01:00
John McCutchan d264156cfb Add tests of line numbers to causal async stack tests
BUG=
R=devoncarew@google.com, rmacnak@google.com

Review-Url: https://codereview.chromium.org/2694013003 .
2017-02-15 00:38:46 -08:00
Emily Fortuna 063e60ae29 Add deferred loading to Kernel.
BUG=
R=sra@google.com

Review-Url: https://codereview.chromium.org/2691753002 .
2017-02-14 17:51:51 -08:00
Sigmund Cherem 91796be231 Add mode to test.dart to run dart2js with kernel, and include initial set of
failures in status files

BUG=
R=efortuna@google.com, whesse@google.com

Review-Url: https://codereview.chromium.org/2688413004 .
2017-02-14 14:37:23 -08:00
Vyacheslav Egorov dad56e9b14 Gardening: Make dartk bots green.
Mark language/vm/causal_async_exception_stack2_test as failing

Skip co19 spawnUri_A01_t06 test as it is racy.

BUG=

Review-Url: https://codereview.chromium.org/2696003002 .
2017-02-14 18:57:48 +01:00
Martin Kustermann d93928a6ce Make dartk-{release,debug} builders work properly again
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2696613003 .
2017-02-14 14:01:58 +01:00
John McCutchan 19abef97f1 Reland improvements to causal async stack traces
Original CL: https://codereview.chromium.org/2690683002

Improvements to causal async stack traces

UX improvements:

- [x] Stop printing the suffix <%s_async_body> and <%s_async_gen_body> for the generated closures.

Fixes #28743

- [x] Don't include the duplicate frame below the asynchronous suspension marker.

Fixes #28742

Bug fixes:

- [x] Fix service protocol enum naming so that it is consistent with other enums.

Fixes #28726

Misc:

- [x] Stop using package:stack_trace now that the VM does it for us.

BUG=
R=asiva@google.com, devoncarew@google.com, rmacnak@google.com

Review-Url: https://codereview.chromium.org/2691213003 .
2017-02-14 05:00:04 -08:00
John McCutchan e84d8a1f11 Revert "Improvements to causal async stack traces"
This reverts commit 8538d81473.

BUG=

Review-Url: https://codereview.chromium.org/2694213002 .
2017-02-14 02:29:40 -08:00
John McCutchan 8538d81473 Improvements to causal async stack traces
UX improvements:

- [x] Stop printing the suffix <%s_async_body> and <%s_async_gen_body> for the generated closures.

Fixes #28743

- [x] Don't include the duplicate frame below the asynchronous suspension marker.

Fixes #28742

Bug fixes:

- [x] Fix service protocol enum naming so that it is consistent with other enums.

Fixes #28726

Misc:

- [x] Stop using package:stack_trace now that the VM does it for us.

BUG=
R=asiva@google.com, devoncarew@google.com, rmacnak@google.com

Review-Url: https://codereview.chromium.org/2690683002 .
2017-02-14 00:56:55 -08:00
Ryan Macnak cfe5e5f075 Include metadata in AOT to expand inline frames in stack traces and provide line numbers.
Also fix stack trace collection to always include invisible frames. It can happen that a visible function is inlined into an invisible function, and we don't expand inlined frames until we print a stack trace.

dart2js product x64:
compile time: 12.459s
VMIsolate(CodeSize): 152292
Isolate(CodeSize): 3343117
ReadOnlyData(CodeSize): 3728928
Instructions(CodeSize): 8677600
Total(CodeSize): 15901937
->
compile time: 14.195s (+13%)
VMIsolate(CodeSize): 174034
Isolate(CodeSize): 3892418 (+16%)
ReadOnlyData(CodeSize): 5036320 (+35%)
Instructions(CodeSize): 8682624
Total(CodeSize): 17785396 (+12%)

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2687143005 .
2017-02-13 10:27:36 -08:00
Zachary Anderson 0111122ca0 [Fuchsia] Update test status files
R=asiva@google.com, rmacnak@google.com

Review-Url: https://codereview.chromium.org/2693643002 .
2017-02-10 21:34:33 -08:00
John McCutchan 2c52f8423d Fix missing top frame in exception stacks in product mode
BUG=

Review-Url: https://codereview.chromium.org/2688783002 .
2017-02-09 16:11:22 -08:00
John McCutchan a0ee5b24db Track async causal stack traces
This CL improves the stack traces that accompany exceptions. Whenever an
async function is entered, we remember how we got there. This is similar
in spirit to package:stack_trace but the implementation is more efficient
and memory usage can be more easily reasoned about.

Tracking causal stack traces:

- [x] Upon entry to an async function, capture the synchronous stack trace prefix and store it into the closure.
- [x] Upon entry to an async* function, capture the synchronous stack trace prefix and store it into the closure.
- [x] Before returning from an async function, clear the Thread's asynchronous stack trace.
- [x] After resuming an async function, load the sychronous stack trace prefix into the Thread.
- [x] Filter stack traces to remove async machinery.

Service protocol changes:

- [x] Send causal async stack trace.

Observatory changes:

- [x] Display causal async stack trace below async functions.

Fixes https://github.com/dart-lang/sdk/issues/27661

R=asiva@google.com, rmacnak@google.com

Comparisons: https://docs.google.com/a/google.com/document/d/10r6jEqr8OCiDZ4y9SYU_uOimcHiOGAZMly2ghTErALI/edit?usp=sharing
Review-Url: https://codereview.chromium.org/2646443005 .
2017-02-09 15:39:44 -08:00
Dmitry Stefantsov bbd687197b Mark deferred loading test as failing for vm-kernel-precompiled
This is a known issue, see dartbug.com/28335

R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2681123003 .
2017-02-09 11:18:25 +01:00
Florian Schneider 031af9e899 Update status of new test for reload bots.
It uses deferred loading, which is not yet implemented with reloading.

Review-Url: https://codereview.chromium.org/2681213002 .
2017-02-08 16:02:51 -08:00
Florian Schneider 67a93da99e Handle type literals correctly with deferred loading and await.
When referring to constants via a deferred prefix in an await expression
the transformation must make sure that the generated code before and after
the deferred load agree on the number of captured variables. (i.e. the number
of await-temp variables introduced by the await-transformer is the same)

This CL uses a temporary in the case of compile-time constants, because before
the deferred load, a reference lib.C is translated into a static getter which
also requires a temporary.

Fixes #28678

R=hausner@google.com

Review-Url: https://codereview.chromium.org/2683973002 .
2017-02-08 15:37:39 -08:00
Lasse R.H. Nielsen 794f66b32b Mark language/bad_raw_string_test/{none,03} as failing on dartk.
R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2680863005 .
2017-02-08 11:31:17 +01:00
William Hesse 25e97c6082 Replace bad_raw_string_negative_test with a multitest
BUG=https://github.com/dart-lang/sdk/issues/28664
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2687533003 .
2017-02-07 23:55:34 +01:00
Brian Wilkerson 2ee2fe9b5c [Gardening] Disable running strong-mode analyzer tests in code that is not strong mode clean
R=whesse@google.com

Review-Url: https://codereview.chromium.org/2679553003 .
2017-02-06 13:26:39 -08:00
Regis Crelier 84ca613377 Adjust status file for previously failing tests on vm-app and vm-products bots.
Review-Url: https://codereview.chromium.org/2671773006 .
2017-02-03 13:54:36 -08:00
Regis Crelier 1ff4a5a16b Accept instance members and locals named "Function" (fixes #28610).
Add regression test.

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2673893002 .
2017-02-03 09:58:37 -08:00
Peter von der Ahé 2cd456fbb0 Improve handling of parser stack overflows.
Fixes https://github.com/dart-lang/sdk/issues/28597

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2671653005 .
2017-02-02 15:55:18 +01:00
Matthias Hausner a7eb2f45c3 [Gardening] Update status file after fix of 28302
Front-end bug #28302 was fixed. Now update status file to adjust
test expectation.

TBR=kustermann

BUG=

Review-Url: https://codereview.chromium.org/2676453002 .
2017-02-01 16:26:11 -08:00
Matthias Hausner 63ebd5463f [Gardening] Mark dart2js test deep_nesting2_negative as crashing
Test deep_nesting2_negative_test crashes dart2js in host_checked mode.

This might be related to the Fasta front-end.

BUG=#28597

TBR

Review-Url: https://codereview.chromium.org/2668983002 .
2017-02-01 10:53:10 -08:00
Peter von der Ahé ce742a1697 Port parser and scanner fixes from rasta branch.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2664593002 .
2017-02-01 13:59:11 +01:00
Karl Klose 0f85f32162 [gardening] Update status files for dartk_precompiled tests
TBR=vegorov@google.com

Review-Url: https://codereview.chromium.org/2661163004 .
2017-02-01 11:12:58 +01:00
Vyacheslav Egorov a7ffe24177 VM: [Kernel] Switch to DFE for testing -c dartk configuration.
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2668503003 .
2017-01-31 18:25:02 +01:00
Martin Kustermann fc2458b842 VM: [Kernel] Partial support for checked mode.
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2659363003 .
2017-01-31 12:10:46 +01:00
Paul Berry 1a0f33de44 Update status file to reflect c9b692e8d9.
c9b692e8d9 introduced some expected analyzer failures which also
affect kernel.  Update kernel status file to expect those failures.

TBR=brianwilkerson@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2660773003 .
2017-01-29 13:41:04 -08:00
Paul Berry c9b692e8d9 Add a temporary analyzer error to work around #28515
Analyzer summaries do not yet support generic function-typed
parameters.  To avoid user confusion, generate an error if the user
tries to use a generic function-typed parameter.

The error can be worked around by using a typedef or changing generic
types to `dynamic`.

R=brianwilkerson@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2656303004 .
2017-01-29 07:35:03 -08:00
Regis Crelier 97f968de1c Implement generic function type syntax in the VM (fixes #27966).
The new function type syntax is allowed everywhere and not just in typedef.

R=hausner@google.com

Review-Url: https://codereview.chromium.org/2643523002 .
2017-01-27 08:45:03 -08:00
Zachary Anderson 63c4b6b1cb Revert "Remove package:unittest from some tests"
This reverts commit dde47b2aad.

Revert "Update Dartium status for passing test"

This reverts commit d71c70d56d.

Tests failing on dart2js and async_star_pause_test is
passing on Dartium. Need to think about how to update the
status files.

Review-Url: https://codereview.chromium.org/2656503004 .
2017-01-25 11:06:58 -08:00
Zachary Anderson d71c70d56d Update Dartium status for passing test
Review-Url: https://codereview.chromium.org/2655913002 .
2017-01-25 10:38:33 -08:00
Zachary Anderson dde47b2aad Remove package:unittest from some tests
package:unittest is deprecated in favor of package:test.

R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2656743002 .
2017-01-25 08:50:02 -08:00
Zachary Anderson 82bddc3614 Fuchsia: Update vm and language status files
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2651803004 .
2017-01-24 22:03:18 -08:00
Regis Crelier 23d57d28df Set correct type for enum values list (fixes #28341).
Add regression test.
Update status file.

R=hausner@google.com

Review-Url: https://codereview.chromium.org/2651813006 .
2017-01-24 15:07:01 -08:00
Martin Kustermann ccd89165a0 VM: [Kernel] Add triaged test failure comments to status file
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2652653009 .
2017-01-24 17:56:36 +01:00
Regis Crelier b3c4f5806e Fix generic function tests to satisfy analyzer (fixes #27728).
R=asiva@google.com

Review-Url: https://codereview.chromium.org/2650823003 .
2017-01-23 14:50:22 -08:00
Brian Wilkerson cacf3c0f18 Fix kernel bots (TBR)
Review-Url: https://codereview.chromium.org/2642713006 .
2017-01-20 17:08:00 -08:00