Commit Graph

79322 Commits

Author SHA1 Message Date
zundel@google.com 919b7609f9 Updates incremental compilation tests to work w/o code generation
Removes end2end tests that presume code generation

Review URL: https://chromiumcodereview.appspot.com//9464044

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4592 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-26 11:10:05 +00:00
vsm@google.com 06152a86c7 Cross frame access tests
We're allowing illegal cross-frame access on both Dartium and Frog right now.  I'm working on fixing the latter.

If these tests look good, I'll set the status file accordingly and land.

Review URL: https://chromiumcodereview.appspot.com//9453004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4591 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-26 01:50:45 +00:00
srdjan@google.com 4291325ac0 Disable DateTimeTest (leg) until issue is fixed (make bot green).
Review URL: https://chromiumcodereview.appspot.com//9447093

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4589 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-25 19:55:23 +00:00
sra@google.com bad253e025 Fix parsing of DOMString[] in IDL
This is a prerequisite for fixing 1811, 1812.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9466036

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4586 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-25 07:15:01 +00:00
hausner@google.com eff1a31d6f Fixing bugs: 1612, 1843, 1847
- Fix error location when referring to types in object allocation.
- Handle CR/LF correctly at beginning of source.
- Detect duplicate identifier in typedef declaration.
Review URL: https://chromiumcodereview.appspot.com//9466030

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4584 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-25 00:47:06 +00:00
srdjan@google.com a343a49338 Do not count invocations but usage of a function, i.e., increment a function's counter at IC calls and at return operations in unoptimized code. (TODO: increment count at static calls as well). There is no checking at method entry any more. The function counter reporting is not measuring the invocation count but much more how much time we spend in a method. Removed counter at backward branches.
Renamed flags to:
--optimization_counter_threshold (default 2000)
--report_usage_count
Review URL: https://chromiumcodereview.appspot.com//9460015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4583 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-25 00:33:25 +00:00
srdjan@google.com 1eaef108b9 Move CodeGenerator::DescriptorList into shared part.
Review URL: https://chromiumcodereview.appspot.com//9465028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4582 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 23:27:24 +00:00
srdjan@google.com 397f15c454 Added LoadLiteralComp, StrictCompareComp; implement InstanceCallNode.
Review URL: https://chromiumcodereview.appspot.com//9456033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4580 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 22:37:57 +00:00
scheglov@google.com c60d333d2e Issue 1129. Report #import errors after parsing, so after "unitAboutToCompile".
http://code.google.com/p/dart/issues/detail?id=1129

R=zundel@google.com,devoncarew@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9466013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4579 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 20:07:25 +00:00
rnystrom@google.com fd8583197c Hook up dartdoc tests to the frog buildbot.
Review URL: https://chromiumcodereview.appspot.com//9447045

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4578 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 18:40:45 +00:00
antonm@google.com 4a9704f36d Support arguments in constructors.
Review URL: https://chromiumcodereview.appspot.com//9465011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4576 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 16:27:14 +00:00
antonm@google.com 225a61e054 Support flags for ParameterAdapters.
Review URL: https://chromiumcodereview.appspot.com//9463011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4574 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 15:22:23 +00:00
ngeoffray@google.com 06ce0a4528 Use the component information when the test is being scheduled instead of when it's being created.
Review URL: https://chromiumcodereview.appspot.com//9466008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4572 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 14:09:21 +00:00
ager@google.com 898f41bd2a Fix file tests.
R=sgjesse@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9465007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4571 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 13:41:45 +00:00
ager@google.com e286176171 Implement File.{readAsBytes, readAsText, readAsLines}.
Convenience methods to use if all you care about is getting the
entire contents of a file.

R=sgjesse@google.com
BUG=1579
TEST=standalone/FileTest

Review URL: https://chromiumcodereview.appspot.com//9452014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4568 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 13:31:38 +00:00
podivilov@google.com 129cc0f904 Update WebKit idls directories after recent merge.
TBR=sra@chromium.org

Review URL: https://chromiumcodereview.appspot.com//9467006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4567 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 13:29:47 +00:00
ngeoffray@google.com 0c2376c02d Fix typo in status file.
Review URL: https://chromiumcodereview.appspot.com//9466004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4565 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 11:46:12 +00:00
ngeoffray@google.com 117fcf3d48 Put two $ in front of top-level builtins, to not clash with member names. Otherwise, the global object calls the top-level builtin instead of its member.
Review URL: https://chromiumcodereview.appspot.com//9447049

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4564 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 11:44:24 +00:00
ngeoffray@google.com ee66938e08 Fix for issue 1835: record the 'final' information in the DeclaredIdentifier.
Review URL: https://chromiumcodereview.appspot.com//9464006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4563 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 11:42:34 +00:00
sra@google.com ba2cca463c This CL generates factory provider classes for any interface with a [Constructor] or [NamedConstructor] extended attribute.
The factory provider is generated from a template, using the pattern of an IDL interface specific template for the exceptional cases and a general template for the other cases.  I used the special case to adjust the number of arguments in the JavaScript call - longer term I think we might want to be a bit more intelligent about default argument values.

This CL generates for frog and dummy, the others need to be added.  Once the others have been added we might see an opportunity for abstracting out some of the mechanism but I it might turn out they are all slightly different.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9428050

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4560 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 02:03:18 +00:00
rnystrom@google.com f4ba5a7cd5 Fix dartdoc tests.
Review URL: https://chromiumcodereview.appspot.com//9455034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4559 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-24 00:33:43 +00:00
rnystrom@google.com 6eb0081153 Make dartdoc and apidoc run on the VM instead of node.
Review URL: https://chromiumcodereview.appspot.com//9453031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4558 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 23:56:02 +00:00
sra@google.com 4e677996cc Fix for issue 1814 for dart:dom
Emit canned native bodies as a work-around for Issue 1814.

A better solution is to support the alternate name directly - then the
compiler can specialize the call site and avoid testing argument
values to determine the number of parameters.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9453030

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4557 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 23:53:57 +00:00
asiva@google.com dfdbec210a Fix build break.
TBR=srdjan
Review URL: https://chromiumcodereview.appspot.com//9455032

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4556 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 23:43:14 +00:00
asiva@google.com 26d2689283 Change the generated dart test in CodeIndexTableTest so that it does not induce a deep recursion in the dart code generator.
Review URL: https://chromiumcodereview.appspot.com//9454024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4555 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 23:01:45 +00:00
srdjan@google.com e8114222fe New compiler, intermediate language, type testing and casting changes as agreed with Kevin.
Review URL: https://chromiumcodereview.appspot.com//9454022

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4554 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 22:51:18 +00:00
rnystrom@google.com 3a4b7e9d16 Fix apidoc to work with latest frog.
Review URL: https://chromiumcodereview.appspot.com//9452037

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4553 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 22:48:27 +00:00
srdjan@google.com e6d87ec63f When tracing type checks in runtime, also print the method where the type check occured.
Review URL: https://chromiumcodereview.appspot.com//9447028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4551 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 20:03:02 +00:00
hausner@google.com 1ecc0a9e97 Fix handling of unresolved names
Fixes issue 1805 (http://code.google.com/p/dart/issues/detail?id=1805)

The VM didn't turn unresolved identifiers into instance getter calls in all cases. Refactored the code that handles primary expressions.
Review URL: https://chromiumcodereview.appspot.com//9453020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4550 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 19:55:57 +00:00
srdjan@google.com e3c98a5e19 Enable new compiler in x64 mode (bail-out all the time, but we can use automated testing).
Disable CodeIndexTable test inde debug x64. This CL includes a pending CL from Kevin (will wait for it to be submitted).
Review URL: https://chromiumcodereview.appspot.com//9443021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4549 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 19:24:14 +00:00
srdjan@google.com 00ae8f2985 Fix issue 1741: add map to immutable list.
Review URL: https://chromiumcodereview.appspot.com//9456017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4548 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 19:23:41 +00:00
kmillikin@google.com 023b02d54c Implement a simple InstructionVisitor class.
The instruction visitor visits each block and for each block each
instruction.  Rewrite the instruction printing code to use this new
visitor.

R=srdjan@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9453014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4547 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 18:29:58 +00:00
kmillikin@google.com 164832b3a3 Add type testing and casting support.
Introduce a virtual tag() function to Instruction classes, use it to
implement type testing and casting.  Use type testing and casting to
eliminate some virtual functions on the instruction classes.

R=srdjan@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9454012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4546 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 18:15:11 +00:00
kmillikin@google.com 131632ab24 Fix a pair of bugs in the translation of 'if' nodes.
The condition graph fragment was appended twice, and the join did not
properly handle the case of nonlocal exits from the arms of the 'if'.

R=srdjan@google.com
BUG=
TEST=all tests pass in x64 release mode with --use_new_compiler

Review URL: https://chromiumcodereview.appspot.com//9456009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4545 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 18:09:44 +00:00
ahe@google.com 57f0a9464d Implement operator-is for interfaces' supertypes and String's supertypes. Also, improve stack traces.
Review URL: https://chromiumcodereview.appspot.com//9429047

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4544 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 17:45:12 +00:00
mattsh@google.com 04eeeaaa3f improved comments
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9454015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4543 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 17:27:34 +00:00
srdjan@google.com d89a53417b Added LongJump for bailout. When trying to fix all crashes, CHECK_ALIVE did not scale well as bailing out mechanism.
Implemented UnaryOpNode. Fix crashes.
(this CL also includes the patches from https://chromiumcodereview.appspot.com/9429056/, will remove them once syncing with submitted 9429056)
Review URL: https://chromiumcodereview.appspot.com//9443002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4541 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 16:14:01 +00:00
ager@google.com e92d0eab5a Reimplement Windows Monitors.
Now using an event object per thread which is linked into a list
of waiters for the monitor.

Notify takes the first element of the list and notifies (FIFO order).

Notify all extracts the entire list and notifies each of them. This
avoids the issues with fairness and correctness of the previous version.

The MonitorWaitData object holding the event and a pointer to the
next waiter is stored in thread local storage and lazily initialized.

R=sgjesse@google.com,asiva@google.com
BUG=1614
TEST=

Review URL: https://chromiumcodereview.appspot.com//9424050

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4537 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 15:24:18 +00:00
whesse@google.com f3ab33610d Use correct format for gyp file when adding -ldl linker flag.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9452013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4536 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 14:52:40 +00:00
floitsch@google.com b5f8367c7c Implement hackish version of const list literals.
Review URL: https://chromiumcodereview.appspot.com//9443017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4533 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 14:32:35 +00:00
whesse@google.com 47f51c1053 Add -ldl linker flag to libdart_builtin link step.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9447018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4532 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 14:25:52 +00:00
ngeoffray@google.com 740d3b7419 Sicne dartc has no backend anymore, a runtime error in a multitest does *not* make it a negative test.
Review URL: https://chromiumcodereview.appspot.com//9442015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4531 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 13:57:07 +00:00
whesse@google.com 33acdc584a Add -ldl linker flag to Dart shell extensions test shared library link.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9442016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4530 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 13:46:36 +00:00
whesse@google.com 0e40002890 Add native extensions to the Dart shell, on the linux platform.
BUG=
TEST=standalone/TestExtensionTest

Review URL: https://chromiumcodereview.appspot.com//9430051

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4529 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 13:25:11 +00:00
sgjesse@google.com e07a1f818e Fix bug in Directory after porting to using native ports
The full path was no longer provided to the directory handler

R=ager@google.com

TEST=tests/standalone/src/DirectoryTest.dart

BUG=

Review URL: https://chromiumcodereview.appspot.com//9452009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4521 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 11:13:35 +00:00
sgjesse@google.com 5a38a88099 Port async file operations to be using native ports instead or an isolate
R=ager@google.com

Review URL: https://chromiumcodereview.appspot.com//9415043

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4520 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 11:11:48 +00:00
kasperl@google.com 441f425882 More tests are passing on Safari now.
R=ngeoffray@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9455008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4519 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 10:21:20 +00:00
ngeoffray@google.com d8f83ba1ad A return and a throw should empty the environment.
Review URL: https://chromiumcodereview.appspot.com//9372107

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4518 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 10:18:12 +00:00
kmillikin@google.com 392cdd56ef Recognize basic block entries in the flow graph.
Also, instead of keeping a list of all instructions, keep a list of only
block entries.  The printing implementation is changed (for the better) to
use the new representation.  With --use_new_compiler and --print_flow_graph
the function:

main() {
  var f = 1;
  var n = 5;
  while (n > 0) {
    f = f * n;
    n = n - 1;
  }
  print(f);
}

prints as:

 0: [target]
    StoreLocal(f, #1)
    StoreLocal(n, #5) goto 1
 1: [join]
    t0 <-LoadLocal(n)
    t0 <-InstanceCall(>, t0, #0)
    if t0 goto(2, 3)
 2: [target]
    t0 <-LoadLocal(f)
    t1 <-LoadLocal(n)
    t0 <-InstanceCall(*, t0, t1)
    StoreLocal(f, t0)
    t0 <-LoadLocal(n)
    t0 <-InstanceCall(-, t0, #1)
    StoreLocal(n, t0) goto 1
 3: [target]
    t0 <-LoadLocal(f)
    StaticCall(print, t0)
    return #null

R=srdjan@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9429056

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4515 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 09:09:45 +00:00
kasperl@google.com da4d85e836 Update test expectations after issue 1804 was fixed.
R=lrn@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9453006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4514 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 08:54:19 +00:00