Commit Graph

15405 Commits

Author SHA1 Message Date
regis@google.com 54bf52428d Allow the list of type parameters in the default factory clause to be omitted.
Review URL: https://chromiumcodereview.appspot.com//9169032

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3587 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-25 01:30:14 +00:00
regis@google.com f9e785eb29 Remove support for obsolete syntax of factory methods and default classes.
Review URL: https://chromiumcodereview.appspot.com//9285031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3578 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-24 22:37:45 +00:00
turnidge@google.com 0c9f177bf0 Don't access a message after it has been enqueued. It may be deleted
at that point.
Review URL: https://chromiumcodereview.appspot.com//9288001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3576 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-24 22:02:53 +00:00
hausner@google.com 0071e91d16 Any time now...
Review URL: https://chromiumcodereview.appspot.com//9283043

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3575 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-24 21:51:04 +00:00
hausner@google.com a64a696ca9 If at first you don't succeed...
Review URL: https://chromiumcodereview.appspot.com//9117051

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3574 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-24 21:46:40 +00:00
hausner@google.com dd0f8f0d21 Appease picky linux gcc.
Review URL: https://chromiumcodereview.appspot.com//9285030

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3573 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-24 21:38:56 +00:00
hausner@google.com f4dee306e5 Fix local variable info in debugger stack trace.
Review URL: https://chromiumcodereview.appspot.com//9117042

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3572 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-24 21:33:40 +00:00
hausner@google.com 02d59f08ba Add functions to list library and script urls in an isolate.
Review URL: https://chromiumcodereview.appspot.com//9117015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3571 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-24 21:33:04 +00:00
iposva@google.com 9e8666ce55 - Avoid running into an unimplemented and add more debugging help.
Review URL: https://chromiumcodereview.appspot.com//9212059

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3565 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-24 20:24:12 +00:00
turnidge@google.com 8920623dc5 OOB messages and general message refactor.
(1)
No longer give embedders direct access to inter-isolate messages.
Instead, keep these messages in an internal queue and rely on the
embedder only to provide notifications.  This simplifies the api in
numerous ways:

 - post message callback drops parameters and becomes message notify callback.
 - close port callback goes away
 - Dart_Message type goes away
 - Dart_HandleMessage gets a simpler signature

Updated the custom_isolate_test to show what use of the new apis looks like.

(2)
Begin to add support for out-of-band (OOB) messages.  These messages
supercede regular messages in the queue.  We will attempt to deliver
these messages even while code is running, by using the isolate
interrupt mechanism.  These messages are not user-visible.  They will
be used by the runtime internally to implement things like reflection.

Renamed PortMessage to Message.

Refactored message sending apis in PortMap and Isolate.

Modified MessageQueue to be aware of multiple priorities.

Modify Dart_HandleMessage to process multiple OOB messages
Review URL: https://chromiumcodereview.appspot.com//9182001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3562 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-24 19:31:01 +00:00
ager@google.com c46939aa66 Comment and white-space cleanup in IO libraries.
- use dart doc comment for interface comments.
- use '//' style comments for non-doc comments.
- remove some whitespace.

R=whesse@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3554 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-24 15:39:58 +00:00
ager@google.com e6994683ad Another round of minor fixes in the IO libraries.
R=sgjesse@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3546 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-24 13:33:23 +00:00
ager@google.com b1c88f1d23 Fix a couple of minor issues in IO libraries.
- Wrong type in createTempHandler callback.
- Missing implementation of errorHandler setter on StringInputStreams.

R=sgjesse@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3541 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-24 12:30:12 +00:00
ager@google.com 0f9fdc51d3 Add extra debug information when failing to deliver an interrupt message.
R=sgjesse@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3539 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-24 09:52:53 +00:00
ager@google.com 4efd1f98fa Split dart:builtin into dart:builtin and dart:io.
- dart:builtin is implicitly imported.
- dart:io has to be explicitly imported.

I will update the macos and windows stable test binaries when we
are happy with the solution.

R=iposva@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3537 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-24 07:36:59 +00:00
regis@google.com ed9d7a399f Optimize parsing of qualified identifiers.
Review URL: https://chromiumcodereview.appspot.com//9271023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3509 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-23 19:56:35 +00:00
ager@google.com 0e53275c79 Save and restore errno in signal handler.
Having a signal handler that clobbers errno can lead to spurious
behavior in other code that relies on errno. One example of this
is pthread_cond_wait.

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3499 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-23 15:07:09 +00:00
whesse@google.com b02ed08af1 Add script attribute to Options class, providing the name of the running script.
BUG=dart:409
TEST=standalone/OptionsTest

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3485 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-23 12:15:26 +00:00
sgjesse@google.com 76a9abf164 Fix Mac OS build
TBR=ager@google.com

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3484 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-23 09:53:28 +00:00
sgjesse@google.com c1d041500f Use hash map for event handler file descriptor map
Instead of using an array indexed using the file descriptor for
looking up data associated with a socket (SocketData objects) this is
now stored in a hash map using the file descriptor as key.

Added hash map implementation like the one used in the V8 project.

R=ager@google.com, whesse@google.com

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3483 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-23 09:10:51 +00:00
hausner@google.com 595cb76374 Implement deletion of breakpoints
- deletion of breakpoints
- better cleanup of debugger resources
Review URL: https://chromiumcodereview.appspot.com//9271008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3470 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-20 22:10:59 +00:00
asiva@google.com bf1b2bbeb9 Improve compile times for swarm application startup
- Avoid creation of getter/setter symbol when all we need to do is a lookup
- Add LookupGetterFunction/LookupSetterFunction to avoid having to create the getter name/setter name before doing a lookup
Review URL: https://chromiumcodereview.appspot.com//9265021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3453 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-20 00:55:39 +00:00
cshapiro@google.com 234bd5d62d Accommodate git repositories when re-rooting the cpplint invocation.
Review URL: https://chromiumcodereview.appspot.com//9213019

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3451 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-20 00:08:49 +00:00
hausner@google.com ffa4950202 Fix compiler stats timer code
Account for recursive start/stop of timer. This has probably been broken since the beginning, but was only caught now after Siva added an assert in timer code.
Review URL: https://chromiumcodereview.appspot.com//9150040

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3443 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-19 18:52:08 +00:00
ager@google.com 32c84843af Fix a couple of isolate-related memory leaks that show up a lot in valgrind output.
R=hausner@google.com,iposva@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3442 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-19 18:33:32 +00:00
regis@google.com 5b1da9fc27 Skip qualified identifiers that are part of ignored types.
Review URL: https://chromiumcodereview.appspot.com//9150036

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3441 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-19 18:31:55 +00:00
sgjesse@google.com 3a02bcfc04 Add additional include guard in platform specific .h files
R=ager@google.com

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3433 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-19 13:37:26 +00:00
sgjesse@google.com 59bf2982c2 Make sure to use an ObjectArray when writing to a socket
This improves performance of the native code accessing the data in the
supplied buffer when it is no already an ObjectArray.

The code is duplicated as refactoring into a separate function was not
feasible.

R=ager@google.com

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3428 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-19 08:49:30 +00:00
iposva@google.com 1f01a48906 - Fix the return type of File.openSync.
- Ensure to always hand a ObjectArray to the native code.
- Start making private methods private.
Review URL: https://chromiumcodereview.appspot.com//9264001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3424 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-19 02:48:47 +00:00
asiva@google.com dad0f5c843 Improve compilation times for swarm application startup.
- Avoid multiple calls to LookupFunction and LookupField once for static and once for dynamic.
Review URL: https://chromiumcodereview.appspot.com//9252033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3423 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-19 01:50:32 +00:00
hausner@google.com aaf01d801a Fix named parameter function calls
Issue 1199
Review URL: https://chromiumcodereview.appspot.com//9252027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3422 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-19 00:51:39 +00:00
hausner@google.com 3ebdf081ca Set breakpoint at url, line number
Add debugger functionality to set breakpoint at given url and line number.
Review URL: https://chromiumcodereview.appspot.com//9240014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3420 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-18 23:15:56 +00:00
regis@google.com 9993072ff2 Simplify integer arithmetic code.
Optimize Mint multiplication in 32-bit mode.
Review URL: https://chromiumcodereview.appspot.com//9112050

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3417 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-18 22:00:40 +00:00
turnidge@google.com e62f34ce77 Give isolates names to be used during debugging.
Implement --trace_isolates.

-------------

Sample output of --trace_isolates for the CrossIsolateMessageTest:

[+] Starting isolate:
    isolate:    CrossIsolateMessageTest.dart/main-7112
[+] Starting isolate:
    isolate:    CrossIsolateMessageTest.dart/CrossIsolate1.main-7114
[+] Starting isolate:
    isolate:    CrossIsolateMessageTest.dart/CrossIsolate2.main-7115
[>] Posting message:
    source:     CrossIsolateMessageTest.dart/main-7112
    reply_port: 7117
    dest:       CrossIsolateMessageTest.dart/CrossIsolate2.main-7115
    dest_port:  7115
[>] Posting message:
    source:     CrossIsolateMessageTest.dart/CrossIsolate2.main-7115
    reply_port: 7118
    dest:       CrossIsolateMessageTest.dart/main-7112
    dest_port:  7117
[>] Posting message:
    source:     CrossIsolateMessageTest.dart/main-7112
    reply_port: 7119
    dest:       CrossIsolateMessageTest.dart/CrossIsolate1.main-7114
    dest_port:  7114
[>] Posting message:
    source:     CrossIsolateMessageTest.dart/CrossIsolate1.main-7114
    reply_port: 7120
    dest:       CrossIsolateMessageTest.dart/main-7112
    dest_port:  7119
[>] Posting message:
    source:     CrossIsolateMessageTest.dart/main-7112
    reply_port: 0
    dest:       CrossIsolateMessageTest.dart/CrossIsolate1.main-7114
    dest_port:  7120
[>] Posting message:
    source:     CrossIsolateMessageTest.dart/CrossIsolate1.main-7114
    reply_port: 0
    dest:       CrossIsolateMessageTest.dart/CrossIsolate2.main-7115
    dest_port:  7118
[>] Posting message:
    source:     CrossIsolateMessageTest.dart/CrossIsolate2.main-7115
    reply_port: 0
    dest:       CrossIsolateMessageTest.dart/main-7112
    dest_port:  7116
[>] Posting message:
    source:     CrossIsolateMessageTest.dart/main-7112
    reply_port: 0
    dest:       CrossIsolateMessageTest.dart/main-7112
    dest_port:  7113
[-] Stopping isolate:
    isolate:    CrossIsolateMessageTest.dart/CrossIsolate2.main-7115
[-] Stopping isolate:
    isolate:    CrossIsolateMessageTest.dart/CrossIsolate1.main-7114
[-] Stopping isolate:
    isolate:    CrossIsolateMessageTest.dart/main-7112
Review URL: https://chromiumcodereview.appspot.com//9242035

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3416 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-18 21:46:27 +00:00
asiva@google.com 806f6ddc62 Improve function compilation times for swarm application startup.
- Add a String::Equals(const String& str) method.
- Pass in isolate parameter if present for some handle creation functions.
Review URL: https://chromiumcodereview.appspot.com//9232017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3413 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-18 20:10:18 +00:00
regis@google.com 366695d347 Ignore parsed types of local variables in unchecked mode and replace them with
the Dynamic type.
Review URL: https://chromiumcodereview.appspot.com//9232016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3404 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-18 18:08:04 +00:00
hausner@google.com 600c0e4570 Report error on duplicate supertypes
Report error if the same type appears more than once in the implements
or extends list.
Review URL: https://chromiumcodereview.appspot.com//9252001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3403 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-18 17:58:05 +00:00
sgjesse@google.com 9a9db39d0e Add MutexLocker and MonitorLocker to runtime/bin
These complements the MutexLocker and MonitorLocker in runtime/vm which have the same logic, but are also VM stack resources.

R=ager@google.com

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3387 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-18 09:48:30 +00:00
asiva@google.com 7d991245cb Temporary fix to get x64 builds working again on build bot.
TBR=regis
Review URL: https://chromiumcodereview.appspot.com//9253005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3384 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-18 03:05:15 +00:00
asiva@google.com f17a00e9ac Use special allocation functions for object creation while deserializing from a full snapshot in order to avoid the following:
- unnecessary initialization of objects with null
- avoid handle creation
Review URL: https://chromiumcodereview.appspot.com//9139067

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3380 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-18 00:20:17 +00:00
regis@google.com d573d5437d Enable remaining execution tests on x64.
Review URL: https://chromiumcodereview.appspot.com//9242025

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3376 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-17 22:52:54 +00:00
hausner@google.com a9f221ebc2 Improve error message for some unresolved identifiers
Review URL: https://chromiumcodereview.appspot.com//9246001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3368 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-17 21:16:27 +00:00
turnidge@google.com 53ba5c402e Make the "sticky error" an Error instead of a String.
I do this in preparation for using the sticky error to implement
isolate unwinding.
Review URL: https://chromiumcodereview.appspot.com//9186058

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3367 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-17 19:54:02 +00:00
asiva@google.com 8eb4b8cdf8 - Account for the possibility of timer objects being nested.
- Time library and source loading
Review URL: https://chromiumcodereview.appspot.com//9228007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3365 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-17 18:29:54 +00:00
sgjesse@google.com 409a5cc49a Use platform implementation of Monitor in thread pool
This removes the direct use of pthread API for the thread pool monitor now that that code is shared. It also gets the Windows implementation for free.

Next step will be to get rid of using the pthread API for handling the threads as well, but that requires additional operations on the Thread class in platform/thread.h.

R=ager@google.com

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3362 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-17 15:36:35 +00:00
sgjesse@google.com 68d10e1568 Move Mutex and Monitor from vm/ to platform/
The tests are still in runtime/vm/thread_test.cc.

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

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3349 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-17 10:29:24 +00:00
sgjesse@google.com fecaf3deb0 Remove dependency from platform/globals.h to platform/assert.h
R=ager@google.com

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3347 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-17 10:10:05 +00:00
sgjesse@google.com 65896148c9 Move utils.h and utils.cc from runtime/vm to runtime/platform
Moved additional parts of globals.h from vm/ to platform/ to support
types and constants used by utils.*.

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

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3337 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-16 13:23:40 +00:00
sgjesse@google.com bf67f24098 Move assert.h/assert.cc from runtime/vm to runtime/platform
The purpose of this change is twofold:

1. Source in the bin directory can now use the same assertions as
   source in the vm directory. The ASSERT macro used by the code
   in runtime/bin was just defined to use assert from the standard
   C library.
2. Moving other implementation parts from runtime/vm to
   runtime/platform (e.g. classes Monitor and Mutex) for sharing
   between runtime/bin and runtime/vm will be easier as these
   implementations rely on these assertion macros.

Created two gypi files for the platform directory. One for the
headers and one for the source. The source one is only included
when building the VM library and will be present in libdart.a
when the dart executable is linked.

All the code for asserts is still in the dart namespace.

Also re-arranged the order of includes to be alphabetically in
the files touched.

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

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3335 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-16 12:28:10 +00:00
hausner@google.com 6d0e70e334 More parser stuff to handle pseudo keywords as identifiers
More pathological cases.
Review URL: http://codereview.chromium.org//9212018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3318 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-14 00:44:10 +00:00