Commit Graph

18413 Commits

Author SHA1 Message Date
jrgfogh@google.com 999a62bd68 Fixed NullPointerException in Timer.
Review URL: http://codereview.chromium.org//8346030

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@547 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-19 10:00:19 +00:00
srdjan@google.com bb6a85d69c Wrong condition caused repeated deoptimizations and performance degradation especially on Meteor.
Review URL: http://codereview.chromium.org//8343024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@546 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-19 08:27:39 +00:00
cshapiro@google.com aa427ff3dd Use the narrowest character width possible for substrings.
Review URL: http://codereview.chromium.org//8346014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@540 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 22:36:16 +00:00
turnidge@google.com 4271315779 Fix more races in MessageQueue_WaitNotify. My notifies could show up
before my waits, and I would timeout.
Review URL: http://codereview.chromium.org//8347013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@536 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 21:41:43 +00:00
turnidge@google.com 804becb850 Deleting the wrong message in FlushAll...
Review URL: http://codereview.chromium.org//8347010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@535 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 21:23:06 +00:00
turnidge@google.com 002eacd251 Fix race.
Review URL: http://codereview.chromium.org//8344017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@534 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 21:19:27 +00:00
regis@google.com 715f9a9700 Address review comments of previously submitted cl 8329005.
Review URL: http://codereview.chromium.org//8347008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@531 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 21:07:44 +00:00
rchandia@google.com 055ff3f630 Flush stdout on calls to PrintString
R=iposva@google.com
BUG=
TEST=

Review URL: http://codereview.chromium.org//8345009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@530 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 21:06:01 +00:00
turnidge@google.com 44720be924 Mark MessageQueue_WaitNotify flaky again.
Review URL: http://codereview.chromium.org//8349014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@528 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 20:55:54 +00:00
turnidge@google.com c20b9d4183 Add a sleep at the end of MessageQueue_WaitNotify to give the spawned
thread time to properly exit.
Review URL: http://codereview.chromium.org//8345013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@526 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 20:38:36 +00:00
turnidge@google.com bbedbbbc49 Turn the MessageQueue_WaitNotify test back on.
My expectation is that this will turn the mac release tests red.  I
will then follow up with a possible fix.

Can't reproduce the problem locally, so using the buildbot as my testbed :-/.
Review URL: http://codereview.chromium.org//8344014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@524 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 20:18:06 +00:00
iposva@google.com ed7a54dc74 - Flaky on all architectures.
Review URL: http://codereview.chromium.org//8345005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@520 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 18:26:21 +00:00
iposva@google.com d4e000eda7 - Update vm.status file while we figure out crashes.
Review URL: http://codereview.chromium.org//8342005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@518 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 18:20:15 +00:00
turnidge@google.com 0e98d4ae64 Allow embedders to provide custom message delivery for an isolate.
==============

Added Dart_SetPostMessageCallback and Dart_SetClosePortCallback.
These allow the embedder to provide custom message/port behavior
for their application. The vm provides standard implementations
that work with the standard run loop.

Added Dart_HandleMessage, which processes one message on the
current isolate. Embedders can use this to write their own
message processing loops. Rewrote code to use this internally.

Added Isolate::StandardRunLoop() to share code between
Dart_RunLoop and lib/isolate.cc

Changed the interface to PortMap::PostMessage. PostMessage is
now agnostic to message delivery mechanism. Note that PortMap is
now out of the "ReceiveMessage" business entirely. Moved
MessageQueue and friends out to message_queue.cc/h.

Moved the monitor from the Isolate into the MessageQueue. No
need for outsiders to mess. Added MessageQueue::Wait. Moved
monitor locking from PortMap into MessageQueue itself, which was
easier for me to reason about. Wrote some tests.

Removed PortMessage::Handle. The code turned into Dart_HandleMessage.

Regularized the nomenclature around ports. Type is now always
Dart_Port instead of intptr_t. Variables end in _port instead of
_id. Use the term "dest" instead of "target" or "send".

Added a family of new tests to port_test.

Added EXPECT_NE to the test framework.
Review URL: http://codereview.chromium.org//8297004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@516 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 17:54:07 +00:00
ngeoffray@google.com ac91a5a8da Fix build failures due to forgotten change in the Array -> List transition.
Review URL: http://codereview.chromium.org//8333017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@508 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 10:54:45 +00:00
ngeoffray@google.com 70c01beb9b Clean up (most) uses of Array. Still more to come in the VM corelib code base.
Review URL: http://codereview.chromium.org//8321024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@507 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 10:02:59 +00:00
regis@google.com 14b2f4f150 Temporary workaround for issue 5474672.
Review URL: http://codereview.chromium.org//8341007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@504 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 04:32:01 +00:00
regis@google.com ee3fdf27e4 Replace calls to Class::IsParameterized() by either
Class::NumTypeParameters() > 0
or by
  Class::NumTypeArguments() > 0.
Review URL: http://codereview.chromium.org//8329005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@503 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 00:59:54 +00:00
hausner@google.com ab37c41e1d Interpolated strings are never considered compile time const
Review URL: http://codereview.chromium.org//8318031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@500 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-17 23:51:28 +00:00
cshapiro@google.com 4f6c98ea40 Add a const qualifier to string handles which are not reassigned.
Review URL: http://codereview.chromium.org//8339002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@499 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-17 23:49:48 +00:00
hausner@google.com abdb2d6281 Fix mysterious build breakage that nobody can explain.
Review URL: http://codereview.chromium.org//8339003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@498 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-17 23:41:32 +00:00
regis@google.com 74420600b1 Verify method overrides in checked mode only (fix issue 69).
Review URL: http://codereview.chromium.org//8319020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@489 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-17 23:00:09 +00:00
regis@google.com 7c2f02849c Merge the 3 different closure nodes into a single node.
Review URL: http://codereview.chromium.org//8294013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@485 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-17 20:22:42 +00:00
vsm@google.com cc71ad71ed Test fix: remove extraneous print
TEST=corelib/ListInsertRangeTest

Review URL: http://codereview.chromium.org//8294020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@483 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-17 20:18:45 +00:00
regis@google.com 4d24678892 Set type argument vector at compile time in type of closure parameters; this
require the introduction of a signature type cached in signature functions.
Support printing of the name of an instantiated signature type, e.g. print
'(int) => int' instead of '<T>(T) => T<int>'.
Avoid cycles when printing the name of illegal types during error reporting by
checking that the type is not being finalized.
Review URL: http://codereview.chromium.org//8289027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@479 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-17 19:03:32 +00:00
srdjan@google.com bb75f90553 Fix 5442338: Return true if the pc descriptor verifier skips verification because of too many descriptors to check.
Review URL: http://codereview.chromium.org//8318002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@466 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-17 12:29:49 +00:00
srdjan@google.com 934409878a Fix for bug 5442338 (crash in deoptimization): when optimized code calls deoptimization stub, check if the function was already deoptimized previously before attempting to restore unoptimized code.
Add test case when optimized code of a deoptimized function is several time on stack, and deoptimization occurs after the function was already deoptimized.
Review URL: http://codereview.chromium.org//8311017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@465 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-17 11:27:22 +00:00
regis@google.com dc895f3138 Rename class AssertError to AssertionError in the VM (fix issue 119).
Move VM specific tests to the correct tests directory.
Enable asserts in the VM when type checks are enabled.
Review URL: http://codereview.chromium.org//8294005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@460 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-14 22:02:50 +00:00
ngeoffray@google.com 52aa068f73 Implement List.insertRange.
Review URL: http://codereview.chromium.org//8271029

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@439 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-14 13:44:18 +00:00
sgjesse@google.com 7041797907 Get the OS error message for process exceptions on Windows
R=ager@google.com
Review URL: http://codereview.chromium.org//8277035

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@435 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-14 13:03:39 +00:00
ager@google.com 17f168a2f1 Fix type annotation error in directory implementation.
TBR=sgjesse@google.com
BUG=
TEST=

Review URL: http://codereview.chromium.org//8273038

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@434 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-14 12:57:42 +00:00
ager@google.com 953d2599c1 Add exists, create and delete to directory implementation on Linux and Mac.
All of the directory implementations on Linux and Mac are identical
and uncontroversial. Join the implementations in directory_posix for
now. I will split it into the two files again if it becomes necessary.

BUG=
TEST=

Review URL: http://codereview.chromium.org//8277033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@432 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-14 12:42:44 +00:00
benl@google.com c0a59669cf Do away with the PromiseQueue.
Instead of queuing messages with promises in them until the promises
are ready, send immediately. This is done by sending a port down which
the receiver sends a port which can be used to signal completion of
the outgoing promise.
Review URL: https://chromereviews.googleplex.com/3573013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@427 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-14 11:18:12 +00:00
sgjesse@google.com 82312e0130 Use UUIDs for named pipe names on Windows instead of counter
R=ager@google.com
Review URL: http://codereview.chromium.org//8276002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@422 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-14 07:34:05 +00:00
regis@google.com c09dfa132e Set type argument vector at run time in instantiated closure objects.
Set type argument vector at compile time in type of closure variables.
TODO: Set type argument vector at compile time in type of closure parameters.
Review URL: http://codereview.chromium.org//8271008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@416 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 21:34:48 +00:00
hausner@google.com 13da6d834f Create implicit super constructor call if necessary
Create an implicit call to the super constructor if no explicit
call is present, and also if the constructor does not have an
initializer list at all.

The evaluation order is still not conforming to the spec. Thus,
a couple of tests that happened to pass before now fail.

Fix issue 85
https://code.google.com/p/dart/issues/detail?id=85
Review URL: http://codereview.chromium.org//8286003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@412 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 20:16:38 +00:00
asiva@google.com 60f1913eb2 Changes to handle unresolved qualified identifiers.
Review URL: http://codereview.chromium.org//8247014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@411 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 20:09:21 +00:00
asiva@google.com 9c927f8e02 Ensure that the passed in raw pointer is not used in SetRaw().
Review URL: http://codereview.chromium.org//8231028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@404 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 17:10:35 +00:00
ngeoffray@google.com 85804080f3 Implement List.getRange.
Review URL: http://codereview.chromium.org//8276005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@403 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 16:24:09 +00:00
ngeoffray@google.com 9e03f7c985 IllegalArgumentException expects a string.
Review URL: http://codereview.chromium.org//8277007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@402 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 16:19:06 +00:00
ngeoffray@google.com b69b4200c8 Implement removeRange, and update some documentation on the list interface.
Review URL: http://codereview.chromium.org//8273004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@400 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 15:54:48 +00:00
sgjesse@google.com b98198c894 Make sure that the named pipe created for signalling the exit code is not inheritable
R=ager@google.com
Review URL: http://codereview.chromium.org//8267006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@396 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 13:34:36 +00:00
sgjesse@google.com 786aee238a Fix the handling of exceptions from process start
The privious change in r389 where the sockets used to communicate with the chile process did not work. Even though the Socket objects are not assigned any file descriptor they should still have their Dart port closed. If not the VM will not terminate.

TBR=ager@google.com

TEST=ProcessStartExceptionTest.dart
BUG=none

Review URL: http://codereview.chromium.org//8270001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@395 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 13:31:51 +00:00
ngeoffray@google.com edcae54a2c Implement setRange on DartC and the VM.
Review URL: https://chromereviews.googleplex.com/3574018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@394 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 12:58:49 +00:00
ngeoffray@google.com 76ef8258a4 Create a standalone test directory and move tests in runtime/tests/dart (mostly) to that directory.
Review URL: http://codereview.chromium.org//8261009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@393 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 12:44:29 +00:00
sgjesse@google.com d0496ec807 Implement the full process interface for Windows
There are still a couple of TODOs in the code.

R=ager@google.com
Review URL: http://codereview.chromium.org//8249007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@389 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 10:38:37 +00:00
sgjesse@google.com 1cd5459f7b Add the ability to run tests with several sets of VM flags
The test-option VMOptions that can be placed in .dart test files can now be specified several times like this:

// VMOptions=
// VMOptions=--short_socket_read
// VMOptions=--short_socket_write
// VMOptions=--short_socket_read --short_socket_write

For each time VMOptions is specified a seperate test will be bun with the specified flags.

Used this to run the tests that uses sockets with short read and writes. Fixed a number of bugs in both stream implementation and in tests revealed by this.

R=iposva@google.com, ngeoffray@google.com

Review URL: http://codereview.chromium.org//8226016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@388 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 10:14:31 +00:00
srdjan@google.com 4aa5564622 Handle bug 5442338: PCDescriptors generated wrongly, disallowing optimizations, causing assert failures in debug. Fixed also assembly code generation in optimized code (a jumbo could be far). The test code from bug 5442338 can run now successfully.
Review URL: http://codereview.chromium.org//8240005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@376 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-12 20:04:19 +00:00
ager@google.com 10f298a6d4 Directory: implement recursive listing on Windows.
R=sgjesse@google.com
BUG=
TEST=

Review URL: http://codereview.chromium.org//8244004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@364 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-12 13:03:06 +00:00
ager@google.com c53c7097d0 Directory: implement recursive directory listing on Linux and Mac.
R=sgjesse@google.com
BUG=
TEST=

Review URL: http://codereview.chromium.org//8243005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@363 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-12 12:53:39 +00:00