Commit Graph

1572 Commits

Author SHA1 Message Date
Johnni Winther 24c548f5bd Skip spurious constants in deferred computation.
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1955403002 .
2016-05-10 09:41:19 +02:00
Alan Knight adf856186f Change Dartium expectations from CompileTimeError to StaticWarning
BUG=

Review URL: https://codereview.chromium.org/1919733003 .
2016-04-25 13:11:39 -07:00
Zachary Anderson 3d7202bad3 DBC: Adds simdbc64 target, adds arm64 arithmetic overflow logic
There were differences between linux gcc, android gcc,
MacOS clang, and 32 vs. 64-bit w.r.t the __builtin
functions for detecting arithmetic overflow. I couldn't get
them all working at the same time. Instead, I removed them,
and changed to always use the inline assembly. This works
in all the configurations above.

This change also adds a simdbc64 target for building simdbc
for 64-bit, and sets up the android targets. simdbc targets
arm, and simdbc64 targets arm64. You can build them with:

$ ./tools/build.py -m release -a simdbc{64} --os=android runtime

R=iposva@google.com

Review URL: https://codereview.chromium.org/1904153003 .
2016-04-25 12:48:34 -07:00
Srdjan Mitrovic d109b17ead Turn off background compilation when running with --verify_gc, since the background compilation constantly forces mutator thread to reach safepoint and vice versa. This can take too much time. Add a different source-code position for UNREACHABLE in AbstractType::IsInstantiated to analyze very rare crashes
BUG=
R=regis@google.com

Review URL: https://codereview.chromium.org/1913313002 .
2016-04-22 15:37:52 -07:00
Florian Loitsch 1e574a1ffc Fix void foo(..) => ... to use { } instead.
Fixes issue 26292.
BUG= http://dartbug.com/26292
R=lrn@google.com

Review URL: https://codereview.chromium.org/1908943004 .
2016-04-21 21:35:17 +02:00
Vyacheslav Egorov ee0f608ce4 Dart Byte Code interpreter.
This version is Clang/GCC only and does not support Windows because it uses computed goto's.

Only unoptimized mode is supported.

Architecture is described in constants_dbc.h and stack_frame_dbc.h.

R=fschneider@google.com, zra@google.com

Review URL: https://codereview.chromium.org/1858283002 .
2016-04-18 23:02:01 +02:00
Regis Crelier bab552edaf Fix mirrors to keep typedef as scope class of function types (fixes #26187).
Add mirror regression test.
Adjust expectation of a mirror test.
Fix parser to mark current class as typedef before parsing signature.
Fix canonicalization of typedef function types (a typedef class can be the scope
class of more than one function type, even if not generic).

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1890013002 .
2016-04-15 13:21:22 -07:00
Siva Annamalai e67a6babcf Remove --verified_mem option from the test as there is a plan to deprecate this option.
Review URL: https://codereview.chromium.org/1889613002 .
2016-04-13 12:33:11 -07:00
Florian Loitsch 50bdab3841 Steps towards making the convert library strong-mode compliant.
This version has a few deprecated methods. In a future release they will be removed.

See https://codereview.chromium.org/1827803002 for the final patch (once the deprecated methods have been removed).

R=leafp@google.com, lrn@google.com

Committed: https://github.com/dart-lang/sdk/commit/4ab1219bf93a33a2a3d4803e053ccd70ce190371
Reverted: https://github.com/dart-lang/sdk/commit/045a3753665268761508c8053e0ee84372d9ef35

Review URL: https://codereview.chromium.org/1847843002 .
2016-04-12 20:59:21 +02:00
Ryan Macnak 71676a1e5b Use exact name lookup for static fields in mirrors.
R=hausner@google.com

Review URL: https://codereview.chromium.org/1877813003 .
2016-04-12 11:15:38 -07:00
Florian Schneider ee510ff085 VM: Fix status for test that is passing now.
The test started passing now. It was possibly failing because of a bug
in older versions of MSVC.

BUG=dartbug.com/24908

TBR=srdjan@google.com,

Review URL: https://codereview.chromium.org/1875383002 .
2016-04-11 18:09:33 -07:00
Florian Loitsch 045a375366 Revert "Steps towards making the convert library strong-mode compliant."
This reverts commit 4ab1219bf9.

Review URL: https://codereview.chromium.org/1881553002 .
2016-04-11 19:52:57 +02:00
Florian Loitsch 4ab1219bf9 Steps towards making the convert library strong-mode compliant.
This version has a few deprecated methods. In a future release they will be removed.

See https://codereview.chromium.org/1827803002 for the final patch (once the deprecated methods have been removed).

R=leafp@google.com, lrn@google.com

Review URL: https://codereview.chromium.org/1847843002 .
2016-04-11 19:16:04 +02:00
Lasse R.H. Nielsen 3f0ad9d4f2 Add "url-safe" encoding to base64 in dart:convert.
Fixes issue #24813.
Doesn't add a second codec. The codec is unimportant,
only the BASE64 and BASE64URL constants need to be public anyway.

BUG= http://dartbug.com/24813
R=floitsch@google.com, nweiz@google.com

Review URL: https://codereview.chromium.org/1858113003.
2016-04-07 16:36:14 +02:00
Sigmund Cherem c5ae911e4e Update status on safari tests that started passing after the update.
BUG=

Review URL: https://codereview.chromium.org/1843883002 .
2016-03-29 17:37:03 -07:00
Siva Annamalai 341643cb2b Do not compile a class when the class mirror tries to access the metadata.
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1834673003 .
2016-03-28 11:16:15 -07:00
Srdjan Mitrovic 47f0b84838 Update test's options to optimize deterministically (turn off background compilation)
BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/1807013003 .
2016-03-17 09:35:27 -07:00
Sigmund Cherem 76a77d8b42 Skip tests in cpsir+checked mode until it is implemented
TBR=sra@google.com

Review URL: https://codereview.chromium.org/1780843002 .
2016-03-09 17:21:49 -08:00
Ryan Macnak 167616b83e Skip mirror tests more generally for $mode == product instead of $runtime == dart_product.
Reduces failures in tools/test.py -mproduct.

R=asiva@google.com

Review URL: https://codereview.chromium.org/1760043002 .
2016-03-03 10:06:59 -08:00
Srdjan Mitrovic 5c0a18d3be fix status file
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1759203002 .
2016-03-03 09:35:19 -08:00
William Hesse 15f8618c1c Update status for dart2js host-checked mode tests.
BUG=https://github.com/dart-lang/sdk/issues/25911

Review URL: https://codereview.chromium.org/1760173002 .
2016-03-03 17:29:25 +01:00
Srdjan Mitrovic b3405d5ebc Add --no-background-compilation to tests that expect to run code in optimized form
BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/1759973002 .
2016-03-02 16:30:58 -08:00
Ryan Macnak 3fd5ffdbd4 Make tools/build.py -cprecompiler -rdart_precompiled green:
- 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 .
2016-03-01 15:19:11 -08:00
William Hesse 270ad3f552 Remove ContentShellOnAndroid from status files
Dartium and content_shell are no longer built or tested on Android.
A separate issue is filed to remove support from the test scripts:
https://github.com/dart-lang/sdk/issues/25832

BUG=
R=ricow@google.com

Review URL: https://codereview.chromium.org/1720813002 .
2016-02-22 10:20:22 +01: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
Siva Annamalai 64a5845d19 Fix status files to account for dart_product runtime.
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1688423002 .
2016-02-17 12:22:35 -08:00
Florian Loitsch 257272fd42 Use internal const-constructor.
BUG= http://dartbug.com/25760
R=lrn@google.com

Review URL: https://codereview.chromium.org/1696453002 .
2016-02-12 20:29:41 +01:00
Todd Turnidge be3acab294 Use Stopwatch instead of DateTime to measure elapsed time in tests.
Improve timer_repeat_test.dart to not totally punt on testing the timing.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1683233003 .
2016-02-10 11:21:40 -08:00
John McCutchan 516e814cd8 Add dart2snapshot compiler and dart_snapshotted runtime to test scripts
Command to run tests:

$ ./tools/test.py -c dart2snapshot -r dart_snapshotted

Each tests will be run twice. After the first run a snapshot will be written to disk and then the test will be run again from the snapshot.

R=asiva@google.com

Review URL: https://codereview.chromium.org/1687493002 .
2016-02-09 12:19:22 -08:00
Florian Loitsch 963f653b12 Make generic type of timeout-future the same as the one from the original.
R=lrn@google.com

Review URL: https://codereview.chromium.org//1299443002 .
2016-02-09 18:57:25 +01:00
Ryan Macnak efcd049b34 Mark lib/async/slow_consumer2_test as failing on noopt + simarm64.
R=asiva@google.com

Review URL: https://codereview.chromium.org/1678383002 .
2016-02-09 09:34:47 -08:00
Lasse R.H. Nielsen d6b01b5028 Fix type-error in base64.dart
Fixes issue #25577.
BUG= http://dartbug.com/25577

Review URL: https://codereview.chromium.org/1630933004.
2016-01-28 13:15:01 +01:00
Kevin Millikin fd9603d1d2 dart2js CPS: implement special handling of the Symbol constructor.
There is a 'const' Symbol constructor that is not expressible as a Dart
const constructor because it performs validation of its input.  This is
implemented in the libraries by using a dummy const constructor definition
that does not validate its input and replacing calls to 'new Symbol' with
calls to 'new Symbol.validated' in the compiler.

Without replacing calls to 'new Symbol', the non-validating dummy
implementation will be used, which is not correct.

Closes #24878.

R=asgerf@google.com
BUG=https://github.com/dart-lang/sdk/issues/24878

Review URL: https://codereview.chromium.org/1639313002 .
2016-01-28 08:55:35 +01:00
Paul Berry 2858cfd29f Mark #25287 as fixed in the status file
Based on buildbot behavior, bug #25287 appears to have been fixed by
commit ccf3870ffc.  (See
https://build.chromium.org/p/client.dart/builders/analyzer_experimental-linux-release-be/builds/5582/steps/tests%20--host-checked%20--checked/logs/stdio).

This should fix the analyzer buildbot.

TBR=skybrian@google.com

Review URL: https://codereview.chromium.org/1636023002 .
2016-01-26 04:51:16 -08:00
Stephen Adams e3810ceff2 Use existing test for reflectClass(List).createInstance(...)
TBR=asgerf@google.com

Review URL: https://codereview.chromium.org/1632163004 .
2016-01-25 21:58:14 -08:00
Stephen Adams 4a01c6a1cf List constructor sentinel must not implement 'int' (extend JSInt).
Having a regular object that 'is' a number was causing horrible problems for type inference and generated code quality.

To get this to work required fixes in type inference and the collection of reified default argument values.

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

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1629553002 .
2016-01-25 20:40:39 -08:00
Zachary Anderson 80f358dede Adds targets for simarmv6 and armv6
related #25562

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1624593002 .
2016-01-22 13:07:48 -08:00
Jacob Richman c1d669131b TBR. Turns out these tests still fail just for a different reason.
BUG=

Review URL: https://codereview.chromium.org/1586133006 .
2016-01-15 14:05:29 -08:00
Stephen Adams d7237c5275 Don't inline methods that only throw.
R=sigmund@google.com

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

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

Review URL: https://codereview.chromium.org/1587053003 .
2016-01-15 11:35:46 -08:00
Jacob Richman cf7ae2e0cb Support JS$ prefix for dart and fix bug where _operator_getter and the [] operator were used inconsistently. Would only impact future use cases where js APIs returned types not auto-proxied with dart:html.
Support typed JS interop classes that extend the behavior of  dart:html types in Dartium.

This theoretically enables supporting package:dom at the same time as dart:html as well as helping with
JavaScript libraries that monkey patch the dom.

Also support JS$ name prefix to resolve name conflicts with dart reserved words and with
dart:html libraries.
Cleanup addEventListener and friends so they are consistent with typed JS Interop and fix
bugs in the unlikely case where multiple functions have the same identity hash.
Add checks to make it easier to catch when allowInterop is accidentally omitted
when using the new typed JavaScript interop. You will now get an exception
any time you pass a Function to JS via the new typed interop without first
calling allowInterop.

BUG=
R=alanknight@google.com

Review URL: https://codereview.chromium.org/1583773003 .
2016-01-15 10:40:32 -08:00
Lasse R.H. Nielsen 8487d57e48 Add Future.any and Stream.fromFutures.
R=floitsch@google.com

Review URL: https://codereview.chromium.org/1563223002 .
2016-01-08 10:17:34 +01:00
Sigmund Cherem c10c55bb92 cpsir: update status files
Review URL: https://codereview.chromium.org/1563833003 .
2016-01-06 14:27:24 -08:00
Johnni Winther 306537be79 Add test of unittests.
BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1562023002.
2016-01-06 13:19:41 +01:00
Ryan Macnak 6b964b83ac Add ./tools/test.py -c precompiler -r dart_precompiled.
- Make --gen/run-precompiled-snapshot take a directory to use for the snapshot pieces.
 - Throw on Platform.executeable to prevent tests from becoming fork-bombs.
 - Update status files so 'dart_precompiled' is generally expected to behave the same as 'vm'.

Currently multitests will fail unless run with --jobs=1 because the test harness assigns them the same temporary directory.

Running this also requires a great deal of space. My out directory is 380G.

BUG=http://dartbug.com/24975
R=fschneider@google.com, srdjan@google.com

Review URL: https://codereview.chromium.org/1507943002 .
2015-12-18 12:08:10 -08:00
Ryan Macnak c740fea545 VM: Fix crash parsing metadata with a closure as a const constructor argument.
BUG=http://dartbug.com/25240
R=hausner@google.com

Review URL: https://codereview.chromium.org/1534033003 .
2015-12-17 17:18:01 -08:00
Johnni Winther 7716ef5da1 Report compile-time error on disallowed metadata values.
Closes #14548

R=karlklose@google.com

Review URL: https://codereview.chromium.org/1510863004.
2015-12-09 15:48:38 +01:00
Asger Feldthaus 3b289d4436 dart2js cps: Extend type masks to handle reflective invocations.
BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org/1430453002 .
2015-11-27 10:48:37 +01:00
Lasse R.H. Nielsen 5363e5c945 Make dart2js code retain the original stack trace for uncaught async errors.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1383213002 .
2015-11-17 15:17:04 +01:00
Srdjan Mitrovic 0553fd711b Disable a failing test on Windows, release, ia32; filed issue.
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1439123002 .
2015-11-12 14:26:19 -08:00
John McCutchan 291befa1cd Redo TimelineTask API
A TimelineTask represents an asynchronous track of operations on the timeline.

The old API allowed multiple isolates to emit events simultaneously on the same task or to start / finish events in any order. This isn't supported by our UI and probably many other tools that consume trace-event.

With this change, operations within a TimelineTask must complete in the reverse order of their start calls (aka a stack). You can pass a TimelineTask from one isolate to another but you must first complete all open operations before passing it.

Example:

var task = new TimelineTask();

task.start('Some phase');
await someFuture;
task.finish();

Also: Add support for instant events.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1412183008 .
2015-11-11 10:59:38 -08:00