regis@google.com
76a765b72f
Simplify parsing of 'new' operator.
...
Fix checking of default factory type parameters (add new tests).
Start cleanup of class resolution code in parser and finalizer.
Review URL: https://chromiumcodereview.appspot.com//9290065
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3632 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-26 23:50:29 +00:00
cshapiro@google.com
9869598950
Fix a build break caused by an new execution test that cannot run on ARM.
...
Review URL: https://chromiumcodereview.appspot.com//9169073
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3614 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-26 03:36:04 +00:00
cshapiro@google.com
569ef3c044
Add ByteArray interface and provide internal and external implementations.
...
The new ByteArray interface supersedes the ByteBuffer type which allowed
only external data storage. This type has been removed and replaced by
the more flexible ByteArray with a default implementation that stores its
elements on the managed heap.
Review URL: https://chromiumcodereview.appspot.com//9195031
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3613 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-26 02:42:08 +00:00
ngeoffray@google.com
b12ed463bd
Change error message (and not the internal method names) to report 'final field' instead of 'const field'.
...
Review URL: https://chromiumcodereview.appspot.com//9117025
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3592 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-25 08:09:47 +00:00
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
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
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
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
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
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
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
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
iposva@google.com
d72471512e
- More cleanup after the kSAR -> kSHR rename.
...
Review URL: http://codereview.chromium.org//9212016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3313 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-13 22:46:32 +00:00
regis@google.com
2d1f63af47
Port a couple more stubs to x64.
...
Fix integer implementation issues.
Enable all tests on x64.
Review URL: http://codereview.chromium.org//9114054
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3307 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-13 20:07:54 +00:00
hausner@google.com
197348daa2
Fix frog build
...
Doesn't handle pseudo kw right.
Review URL: http://codereview.chromium.org//9174011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3305 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-13 19:41:33 +00:00
hausner@google.com
343dff6255
Proper handling of built-in identifiers
...
Allow pseudo-keywords (built-in identifiers) as regular identifiers for anything but class names, interface names, typedef names.
Still todo: Update blacklist of class/interface names, disallow pseudo-keywords as type parameter names.
Review URL: http://codereview.chromium.org//9107070
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3303 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-13 19:24:50 +00:00
iposva@google.com
731616c7d3
- Remove support for ">>>" operator.
...
Review URL: http://codereview.chromium.org//9203004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3279 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-13 09:10:48 +00:00
cshapiro@google.com
b652a312c1
Rename the VM internal class ByteArray to ByteVector.
...
Review URL: http://codereview.chromium.org//9139080
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3274 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-13 01:39:23 +00:00
cshapiro@google.com
917bbbfc39
Provide API support for weak handles and post-mortem finalization.
...
In addition, this change separates the storage of weak persistent
handles from ordinary persistent handles. An ordinary persistent
handle now stores no other data than the raw pointer value.
Review URL: http://codereview.chromium.org//9148051
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3273 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-13 01:23:42 +00:00
asiva@google.com
ae72c22830
Create temporary handles in the snapshot object during initialization and use them instead of creating temporary handles in each deserialization function.
...
Review URL: http://codereview.chromium.org//9166012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3271 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-13 00:38:19 +00:00
turnidge@google.com
5807b0add0
Standardize error printing a bit by moving it to the Error object and
...
descendants.
Review URL: http://codereview.chromium.org//9148048
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3219 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-12 01:01:46 +00:00
vsm@google.com
b06f5be6d8
Build fix for mac/clang
...
This should get Dartium Mac bots green.
Review URL: http://codereview.chromium.org//9175002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3171 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-11 00:28:26 +00:00
turnidge@google.com
55e33151db
Introduce the Error object class in the vm. It represents all of the
...
things that may go wrong while invoking the dart api.
Here are the four types of error:
- ApiError = the user misused one of the dart apis
- LanguageError = a language-level problem, e.g. compiler error
- UnhandledException = an uncaught exception made its way to the embedder
- UnwindError = a forced isolate interrupt
This cl is the first of a series. I plan to move the point of
creation for LanguageErrors into the Parser, etc. I also plan to move
the longjmp's out of dart_api_impl.cc. I also also plan to implement
UnwindErrors later.
(Copied from Issue 9085031 due to subversion problems)
Review URL: http://codereview.chromium.org//9166016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3168 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-10 21:42:21 +00:00
turnidge@google.com
9ade77d8f5
Comment-only change to track down some svn issues I'm having.
...
Review URL: http://codereview.chromium.org//9179002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3167 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-10 21:20:03 +00:00