Commit Graph

1846 Commits

Author SHA1 Message Date
whesse@google.com 56e8555efd Mark failing android content_shell tests in status files.
BUG=dartbug.com/19276 dartbug.com/19274
R=kustermann@google.com

Review URL: https://codereview.chromium.org//316363005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37079 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-06 13:37:19 +00:00
whesse@google.com 512ef6b6c8 Update status files with ContentShellOnAndroid failures.
BUG=dartbug.com/19127
R=ricow@google.com

Review URL: https://codereview.chromium.org//303123012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36867 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-02 11:40:06 +00:00
zra@google.com ccf5def384 Fixes bug in megamorphic instance call on arm64.
R=regis@google.com

Review URL: https://codereview.chromium.org//289333004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36306 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-19 16:48:10 +00:00
ricow@google.com 87736b119b Mark language/megamorphic_no_such_method_test and standalone/io/http_shutdown_test as skip on simarm64
I did _not_ file a new bug since there is already a section with tests that times out on simarm64 without a bug, so I assume this is being worked on.

The cl that triggered this is pretty strange, should not really have an impact:
https://code.google.com/p/dart/source/detail?r=36290

R=lrn@google.com

Review URL: https://codereview.chromium.org//296483003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36294 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-19 12:59:53 +00:00
zra@google.com eb11b8a7a0 Adds far-branches to arm64.
Also fixes bugs and enables tests.

R=regis@google.com

Review URL: https://codereview.chromium.org//283513002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36051 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-12 18:43:08 +00:00
zra@google.com 5d94e8900f Adds single-precision and SIMD load/store to arm64.
Also adds conversion between double an single-precision floats.

R=regis@google.com

Review URL: https://codereview.chromium.org//269343010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35933 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-08 19:06:04 +00:00
zra@google.com 842a42a5a9 Adds unary double operations to ARM64, enables many tests.
Also removes disabling of optimization.

R=regis@google.com

Review URL: https://codereview.chromium.org//267283004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35863 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-07 20:04:05 +00:00
zra@google.com 65946f752c Adds arm64 double arithmetic instructions.
Also adds:
- double comparison instructions,
- conditional increment instruction,
- double <-> int conversion instructions,
- IL instructions that use these,
- NoSuchMethod call stub,
- and bug fixes.

R=regis@google.com

Review URL: https://codereview.chromium.org//262333007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35830 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-06 20:50:44 +00:00
zra@google.com 037a72e059 Enables many language tests for arm64.
- Adds msub and smulh instructions for implementing
BinarySmiOp.
- Adds fmovdd to move doubles between V registers.
- Implements many stubs and IL instructions. These are
ported from ARM with small fix-ups. Deopt code comes
from x64 because the stack frame layout is the same.

R=regis@google.com

Review URL: https://codereview.chromium.org//263243002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35753 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-05 18:09:08 +00:00
sigurdm@google.com 00910f947b Insert checks before deferred calls and accesses.
These checks will throw an error if the library was not loaded.

R=floitsch@google.com, johnniwinther@google.com

Committed: https://code.google.com/p/dart/source/detail?r=35306

Was reverted by Issue 247863005 r35308 due to failing co19-test

Review URL: https://codereview.chromium.org//232563006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35355 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 07:51:35 +00:00
sigurdm@google.com a31796ed37 Revert "Insert checks before deferred calls and accesses."
This reverts commit r35306.

Review URL: https://codereview.chromium.org//247863005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35308 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 09:23:33 +00:00
sigurdm@google.com 910fffd40d Insert checks before deferred calls and accesses.
These checks will throw an error if the library was not loaded.

R=floitsch@google.com, johnniwinther@google.com

Review URL: https://codereview.chromium.org//232563006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35306 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 07:56:03 +00:00
hausner@google.com 6051d21b5c Conflicting inheritance from superinterface is not a compile time error
Test override_inheritance_mixed was partially wrong.

Inheriting conflicting members from superinterfaces is not a compile time error,
just a static type warning.

See also bug 16137 for details.

R=gbracha@google.com

Review URL: https://codereview.chromium.org//230423004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34883 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-09 17:43:14 +00:00
whesse@google.com 9965700b95 Rename language/disasssemble_test, add to status file.
BUG=dartbug.com/18122
R=kustermann@google.com

Review URL: https://codereview.chromium.org//230173006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34879 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-09 14:29:48 +00:00
hausner@google.com 2b4e3c7c99 Implement deferred constant support
Compile time constants lose their const-ness if they are referred
to through a deferred prefix. This CL adds a flag to some ast node
types that remembers whether a field or closure was referred to
via a deferred prefix. If so, the compile-time const analysis flags
the value as non-const.

R=srdjan@google.com

Review URL: https://codereview.chromium.org//226953002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34785 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-07 17:31:32 +00:00
regis@google.com 91388a5f79 Simplify and fix instantiation of recursive types.
Add tests for non-contractive types.
Cleanup language tests status file.
Enhance tracing of type finalization.

R=hausner@google.com, srdjan@google.com

Review URL: https://codereview.chromium.org//224793002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34739 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-04 18:27:53 +00:00
zra@google.com 2fe51715e5 Begins work on ARM64, first assembler test.
Most new code is in constants_arm64.h and
{assembler,disassembler,simulator}_arm64.{h,cc}

The rest of the CL just #def's out tests, modifies status files,
and adds UNIMPLEMENTED functions, etc.

R=regis@google.com

Review URL: https://codereview.chromium.org//221133002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34654 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-02 17:39:32 +00:00
hausner@google.com b36457263a Deferred prefix support in metadata
Deferred prefixes are never ok in metadata, since metadata is required
to be compile time constant.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org//219473007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34601 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-01 16:11:28 +00:00
karlklose@google.com dfc000bd0c Adjust dart2dart test expectations after r34567.
R=sigurdm@google.com,hausner@google.com

Review URL: https://codereview.chromium.org//220233004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34586 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-01 07:59:01 +00:00
hausner@google.com ed24226376 Support deferred library prefix syntax
First step towards deferred library support:
- Parse the “deferred as” import clause.
- Implement p.loadLibrary() which returns a future that
  completes when the library is loaded.
- Treat type annotations of deferred types as malformed.
- Throw NoSuchMethodError when calling functions from
  unloaded libraries.
- Libraries are still read synchronously, but items in the
  library won’t be visible through the deferred prefix until
  the future returned by loadLibrary() completes.

Review URL: https://codereview.chromium.org//208323015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34481 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-27 21:20:47 +00:00
regis@google.com f60ab4dd11 Detect and reject illegal recursive types (non-contractive types).
Fixed instantiation and equality of recursive types.
Added many asserts to detect issues with recursive types.
Disabled bad tests. They declare illegal types and will be fixed in a later cl.

R=hausner@google.com, srdjan@google.com

Review URL: https://codereview.chromium.org//211963003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34460 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-26 23:38:18 +00:00
johnniwinther@google.com 1692a15f4e Add 'static type error' tags to multitests.
BUG=http://dartbug.com/16411
R=ricow@google.com

Review URL: https://codereview.chromium.org//150223002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34412 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-26 09:03:47 +00:00
sigurdm@google.com 30ac6d116d Introduces the new syntax for deferred loading
import "lib.dart" deferred as lib;

And then injecting a function of the name "loadLibrary" into the
namespace of the import prefix.

This FunctionElement is a triggers the builder to emit special code that causes _loadLibraryWrapper in js_helper to be called.

Dart2dart will not crash on deferred loading, but calls to
loadLibrary will become calls to a (not-existing) top-level function
loadLibrary.

The old syntax (using metadata) is still working

For now keeping the language tests with the old syntax in addition to
the updated tests.

R=floitsch@google.com, johnniwinther@google.com

Review URL: https://codereview.chromium.org//201613006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34230 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-21 07:50:08 +00:00
regis@google.com ed690f97b6 Fix canonicalization of types.
Add functions retrieving canonical types by their index or vice versa (used by
a future cl supporting types in vm service).
Add getters for type argument instantiations (used by future cl).

R=hausner@google.com

Review URL: https://codereview.chromium.org//203443012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34128 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-19 18:48:57 +00:00
whesse@google.com 7dbc5bc463 Revert the removal of some status file lines for unchecked dartium.
The lines were removed in r33807.

BUG=
R=ahe@google.com

Review URL: https://codereview.chromium.org//195893036

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33814 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-18 17:16:41 +00:00
whesse@google.com 62c79adbd0 Add entries for ContentShellOnAndroid runtime to status files.
BUG=
R=ricow@google.com

Review URL: https://codereview.chromium.org//203373003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33807 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-18 14:47:56 +00:00
fschneider@google.com 37b30ab2ac Alternative fix for .call invocation of closures.
This also covers "closurization" of the .call method.
This relies on the fact that f.call === f if f is a closure.
This means that adding a simple getter to _FunctionImpl that
 returns this is enough. No need for a separate dispatch.

This CL reverts the previous fix for issue 12602 (modulo the
additional tests).

BUG=dartbug.com/17473, dartbug.com/12602
R=iposva@google.com

Review URL: https://codereview.chromium.org//200193002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33736 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-17 10:31:33 +00:00
sigurdm@google.com 26387eca98 Constrain constant references from deferred libraries
Now any reference to a constant from a deferred library in a constant context will give an static error.

Also fixed the const-new expression constraint so it works with named constructors.

Split the deferred_constraints_test into deferred_constraints_type_annotation_test and deferred_constraints_constants_test

R=floitsch@google.com

Review URL: https://codereview.chromium.org//195983006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33734 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-17 09:13:30 +00:00
ricow@google.com 2d86a4e1f9 Remove suppression for language/call_test on arm
I have fixed up the test execution environment (delayed by the board not being available)

Review URL: https://codereview.chromium.org//195983017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33684 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-14 07:02:27 +00:00
rmacnak@google.com f0ae7b282e Add language test for closurization of a closure's call method.
R=gbracha@google.com

Review URL: https://codereview.chromium.org//196793014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33659 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-13 18:59:03 +00:00
whesse@google.com 6aa0e46095 Adjust test status files for MIPS architecture.
BUG=
R=ricow@google.com

Review URL: https://codereview.chromium.org//198843002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33648 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-13 11:51:03 +00:00
zra@google.com 8c289f8cd8 Disables language/call_test for ARM
Issue 17449

Review URL: https://codereview.chromium.org//196023008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33621 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-12 22:09:33 +00:00
fschneider@google.com f75ef2e6ab Fix invocation of closures via .call in the VM.
Calling closures via .call does now work in the VM - it was working in
dart2js already.  Calling .call on a closure is implemented to go through
a dispatcher method. These dispatcher methods are automatically created and
cached in the same way as NoSuchMethod- or field-invocation dispatchers.

This CL does not change the way regular closure invocation works in
the VM. It is therefore performance-neutral for normal closure calls.

BUG=dartbug.com/12602
TEST=language/call_test
R=iposva@google.com

Review URL: https://codereview.chromium.org//188703004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33576 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-12 14:02:27 +00:00
sigurdm@google.com 006ab76f24 Mark tests as flaky.
The browsers seem to behave strangely with multitests.

Review URL: https://codereview.chromium.org//189563005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33430 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-07 14:54:25 +00:00
sigurdm@google.com 0e9a7a32ec Introduce constraints of deferred constants.
Deferred classes can not be used in const new instance expressions.

This CL depends on: https://codereview.chromium.org/177543002/

R=floitsch@google.com

Review URL: https://codereview.chromium.org//183743031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33425 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-07 13:11:09 +00:00
sigurdm@google.com 7d8fe13b6c Constrain type annotations with deferred types.
This implements the constraint that a type imported with a deferred import
cannot be used in type annotations in the importing module.  They can still be
used in new-expressions. A violation will trigger a warning, and replace the
type with a MalformedType.

Was reverted by: Issue 185053005 r33277

R=floitsch@google.com, johnniwinther@google.com

Committed: https://code.google.com/p/dart/source/detail?r=33273

Review URL: https://codereview.chromium.org//177543002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33417 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-07 10:04:37 +00:00
scheglov@google.com 9d622fc1d9 Unroll 'synchronized {}' in java2dart.
...and corresponding 'analyzer' snapshot.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//185403018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33318 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-05 02:30:21 +00:00
hausner@google.com 776a6cfc2e Always evaluate e in (e is T)
(e is T) is compiled  to a throw TypeError when T is malformed.
This change makes sure that e is evaluated even though it is
ignored. We need to do this due to possible side effects.

Fixes issue 17253

R=regis@google.com

Review URL: https://codereview.chromium.org//185553018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33299 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-04 20:44:51 +00:00
sigurdm@google.com ac702a92da Revert "Constrain type annotations with deferred types."
This reverts commit 33273 and 33276.

R=karlklose@google.com

Review URL: https://codereview.chromium.org//185053005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33277 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-04 15:27:09 +00:00
sigurdm@google.com 00d6464559 Fix status file
R=karlklose@google.com

Review URL: https://codereview.chromium.org//182113003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33276 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-04 14:57:47 +00:00
sigurdm@google.com 1607192c30 Constrain type annotations with deferred types.
This implements the constraint that a type imported with a deferred import
cannot be used in type annotations in the importing module.  They can still be
used in new-expressions. A violation will trigger a warning, and replace the
type with a MalformedType.

R=floitsch@google.com, johnniwinther@google.com

Review URL: https://codereview.chromium.org//177543002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33273 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-04 14:12:17 +00:00
hausner@google.com 97e7f2c299 Fix type checks with malformed types
Parser must continue to parse the rest of an expression that contains
a type test with a malformed type.

Before:
'file:XXX’: error: line 5 pos 12: ')' expected
  if (3 is X && 2 == 2) print("foo");

After:
'file:XXX’: malformed type: line 5 pos 12: type 'X' is not loaded
  if (3 is X && 2 == 2) print("foo");
           ^
type error.
#0      main (file:XXX:5:12)
#1      _startIsolate.isolateStartHandler (dart:isolate-patch/isolate_patch.dart:216)
#2      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:115)

R=regis@google.com

Review URL: https://codereview.chromium.org//183743015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33253 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-03 23:27:44 +00:00
floitsch@google.com 2e04791d8e Follow factory redirections when checking case expressions.
This version does the check in the resolver and uses the constant values and not just the types. As such, it also follows the constructor chain.

R=karlklose@google.com

Review URL: https://codereview.chromium.org//184663004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33239 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-03 19:22:13 +00:00
floitsch@google.com 18c76007b1 Check that const-map keys don't override equals.
BUG= http://dartbug.com/17123
R=karlklose@google.com

Review URL: https://codereview.chromium.org//179293005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33201 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-03 09:52:51 +00:00
sigurdm@google.com 1bcf50eb73 Change the negative tests called language/deferred* to multitests.
Update the status files correspondingly.

R=johnniwinther@google.com

Committed: https://code.google.com/p/dart/source/detail?r=32890

Reverted: by https://codereview.chromium.org/175123002/ r32895

Review URL: https://codereview.chromium.org//169483004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32958 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-24 11:47:03 +00:00
sigurdm@google.com a27abd6f0b Revert "Change the negative tests called language/deferred* to multitests."
This reverts commit r32890.

Review URL: https://codereview.chromium.org//175123002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32895 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-21 12:56:45 +00:00
sigurdm@google.com 3f28d6a271 Change the negative tests called language/deferred* to multitests.
Update the status files correspondingly.

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//169483004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32890 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-21 12:12:23 +00:00
sigurdm@google.com d807878bbd Add prefix constraints for deferred imports.
R=floitsch@google.com

Review URL: https://codereview.chromium.org//169703003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32881 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-21 09:39:50 +00:00
johnniwinther@google.com 0ec5deb539 Status voodoo.
BUG=

Review URL: https://codereview.chromium.org//166043003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32696 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-14 12:49:22 +00:00
johnniwinther@google.com d75b2291ca Fix language tests wrt. warnings.
BUG=
R=karlklose@google.com

Committed: https://code.google.com/p/dart/source/detail?r=32689

Review URL: https://codereview.chromium.org//158733003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32691 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-14 11:59:12 +00:00