Commit Graph

1989 Commits

Author SHA1 Message Date
floitsch@google.com c046c899a0 Revert "Remove deprecated classes and functions in Date."
This reverts commit 8445.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8446 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 16:31:55 +00:00
floitsch@google.com 2c2ee2000f Remove deprecated classes and functions in Date.
Review URL: https://chromiumcodereview.appspot.com//10541050

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8445 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 16:01:00 +00:00
turnidge@google.com ede2df7949 Fix type-check failure...
Review URL: https://chromiumcodereview.appspot.com//10449072

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8118 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 17:28:28 +00:00
turnidge@google.com ec36e02c28 Remove the partially completed code for remote IsolateMirrors and
replace it with the beginnings of a local (same isolate) IsolateMirror
implementation.

Removed old mirror tests and added two new mirror tests.

Even though mirrors.cc is part of the vm, I chose to implement most of
it using the dart embedding interface instead of our internal
interfaces because the embedding interface was more convenient.
mirrors.cc is basically all new in this CL -- don't pay any attention
to diffs for that file.

Added dart embedding functions required for the functionality in this
CL: Dart_DebugName, Dart_GetNativeInstanceFieldCount,
Dart_RootLibrary, Dart_RegisteredLibraryUrls, and Dart_LibraryName.

Extended or modified some existing dart api functions, primarily to
make them propagate error handles properly.

Added tests for new dart embedding api functionality.

Added the ability to determine if a port is local to the current isolate.

Extended NotImplementedException to accept an optional string
argument.  I wanted to give more descriptive error messages.
Review URL: https://chromiumcodereview.appspot.com//10416050

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8117 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 17:07:19 +00:00
turnidge@google.com 830bf04de2 Finalize classes before calling the main for a new isolate.
This fixes bug 2235.
Review URL: https://chromiumcodereview.appspot.com//10444069

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8079 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-29 21:10:42 +00:00
turnidge@google.com 05b5d44b0e spawnUri. Take two. This time I'll wait for Anton before committing :-).
See original change 7756 for description.
Review URL: https://chromiumcodereview.appspot.com//10407042

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7917 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-23 18:32:51 +00:00
floitsch@google.com a88e304d29 Deprecate use of timezones.
Review URL: https://chromiumcodereview.appspot.com//10411057

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7911 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-23 16:07:35 +00:00
floitsch@google.com cc15d26cf7 Reapply "Add support for timezone offset and timezone name."
This reapplies commit 7800.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7805 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-21 16:11:20 +00:00
floitsch@google.com 77ade89e4a Revert "Add support for timezone offset and timezone name."
This reverts commit 7803.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7804 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-21 15:13:46 +00:00
floitsch@google.com 618c649c33 Reapply "Add support for timezone offset and timezone name."
This reapplies commit 7800.
Original CL: https://chromiumcodereview.appspot.com/10383218/

Don't write *foo += x.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7803 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-21 15:07:11 +00:00
floitsch@google.com 5b99866ecd Revert "Add support for timezone offset and timezone name."
This reverts commit 7801..

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7802 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-21 14:40:27 +00:00
floitsch@google.com 36d9c69461 Add support for timezone offset and timezone name.
Review URL: https://chromiumcodereview.appspot.com//10383218

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7801 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-21 14:36:43 +00:00
turnidge@google.com 76d4586dea Revert my last change.
Review URL: https://chromiumcodereview.appspot.com//10332257

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7757 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-18 18:35:04 +00:00
turnidge@google.com 6a8c82db83 Implement spawnUri from dart:isolate. This function allows us to
launch an isolate running a different script.  Finally.

Reviewers: This isn't as hard to review as it looks.  Dive right in!

Siggi: Take a look at my test status file changes and make sure I'm
excluding the right stuff.

Much of the churn in the CL comes from moving ownership of the
import_map.  It used to be set per-library and is now set per-isolate.
This caused a lot of superficial diffs.

DART EMBEDDING API CHANGES:

- Dart_IsolateCreateCallback now takes a script_uri and main argument
  instead of a name_prefix argument.  The script_uri argument allows
  the callback to launch different scripts.  The main argument is used
  in creating the isolate debug name.

- Dart_CreateIsolate now takes script_uri and main arguments.  These
  are used to build the isolate's debug name.

- Dart_LibraryTagHandler, Dart_LoadScript, and Dart_LoadLibrary no
  longer take an import_map.

- Added Dart_SetImportMap.

- Added Dart_RootLibrary to provide access to the root library for the
  current isolate.

OTHER STUFF

Add a couple of tests for spawnUri -- the existing tests assume that
scripts end in a .js suffix which isn't going to work out for us.

Changed how the debug name for isolates get built a bit.

Refactored bin/main.cc a bit.  Fixed some problems with error handling
while creating isolates.

Minor refactoring in builtin.dart to always pass is_windows rather
than relying on it being squirreled away.
Review URL: https://chromiumcodereview.appspot.com//10386107

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7756 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-18 18:22:10 +00:00
hausner@google.com 6fece3e398 Fix tests in language suite: eliminate String +
The language suite runs clean without String + after this change.

string_concat_test.dart is obsolete, removed.
Review URL: https://chromiumcodereview.appspot.com//10383238

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7745 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-18 15:33:05 +00:00
floitsch@google.com 6eef3a6ed6 Migrate date.dart from old suffix_ to _prefix privacy.
Review URL: https://chromiumcodereview.appspot.com//10389145

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7656 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-15 14:40:43 +00:00
floitsch@google.com 7f06db21d2 Add comparison operators to Date class.
Review URL: https://chromiumcodereview.appspot.com//10399027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7653 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-15 13:15:03 +00:00
floitsch@google.com d89f228708 Make most arguments to Date constructor optional.
Fixes issue 2582.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7652 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-15 12:50:15 +00:00
floitsch@google.com fd81cf6ad5 Convert double to integer and update status file.
Review URL: https://chromiumcodereview.appspot.com//10382170

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7649 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-15 11:45:46 +00:00
floitsch@google.com 1805e79fcb Support up to 6 digits after the decimal point in Date.fromString.
Fixes comment 10 of issue 1728.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7648 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-15 10:59:53 +00:00
floitsch@google.com 86859d3324 Fix typo in Date.toString.
We emitted an extra 0 for Dates that had ms == 10.

Fixes issue 1386.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7647 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-15 10:56:31 +00:00
floitsch@google.com 3ccf471f94 Add Hashable to Date interface.
Fixes issue 2400

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7646 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-15 10:52:51 +00:00
cshapiro@google.com 3c1eaa5277 Implement a getter for pattern to complete the Match interface.
BUG=3003

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7570 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-11 22:06:14 +00:00
iposva@google.com 3d4d4d71a7 - Typed arrays should implement all methods from Collection and List interfaces.
Review URL: https://chromiumcodereview.appspot.com//10391056

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7512 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-10 19:17:54 +00:00
ajohnsen@google.com c815a502a7 Add indexOf to Int/Float-List's.
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7439 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-09 07:13:00 +00:00
cshapiro@google.com 4ad6942ef1 Fix breakage in the JavaScript compilers.
This change adds a mock "Uint8List" to dart2js, suppresses the new byte
array test on Frog, and renames interface parameters for dartc.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7355 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-05 00:07:25 +00:00
cshapiro@google.com 1472427af8 Revert "Revert "Implement {Int,Uint}{8,16,32,64} and Float{32,64} typed arrays.""
This reverts commit 63480a81fccbde001494dd535cd06a8fa02ed261.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7352 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-04 23:16:09 +00:00
regis@google.com 5e99edcea7 Properly set the element type of literal lists.
Add test.
Keep element type consistent between growable array and backing array.
Fix snapshot reader to set the element type in growable array
Remove run time call checking rest argument.
Review URL: https://chromiumcodereview.appspot.com//10368004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7337 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-04 16:36:27 +00:00
hausner@google.com 95be46105a Beginnings of a debugger wire protocol
The debugger wire handler is implemented similarly to the io event handler.
A dedicated thread monitors the debugger port for incoming connection
requests. When a debugger is connected, the VM sends events messages
over the wire and handles debugger requests.

To start the VM with a debugger connection, use the option
--debug:<portnumber>. The VM pauses at the beginning of main()
and waits for a debugger to connect.

Subsequent changes will implement debugger commands one by one.
With this change, the VM only understands "resume" commands. 
Review URL: https://chromiumcodereview.appspot.com//10357003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7330 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-04 15:25:49 +00:00
cshapiro@google.com 3a14326da4 Revert "Implement {Int,Uint}{8,16,32,64} and Float{32,64} typed arrays."
This reverts commit 747dbeaa8f9c0dc1f49d6d6a369c6a3fe2d8b7c9.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7313 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-04 05:28:10 +00:00
cshapiro@google.com 537010ea16 Implement {Int,Uint}{8,16,32,64} and Float{32,64} typed arrays.
Internal and external representations of each array are provided.  A
single interface type implementing the ByteArray and List interfaces
is shared among the internal and external implementation type.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7311 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-04 05:12:19 +00:00
floitsch@google.com 410e6bf600 Reapply "Set the TZ env to get the UTC-ms since epoch."
This reapplies a fixed version of commit 7285.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7288 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 15:40:40 +00:00
floitsch@google.com a8e31e2a48 Revert "Set the TZ env to get the UTC-ms since epoch."
This reverts commit 7285.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7287 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 14:54:09 +00:00
floitsch@google.com 9cf8b9a36d Set the TZ env to get the UTC-ms since epoch.
Previously we tried to simply subtract the timezone difference from
the local value. Apparently this doesn't work...

Fixes issue 1268.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7285 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 14:46:21 +00:00
floitsch@google.com 1e61443c14 toRadixString returns lower case characters.
Fixes issue 2670.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6955 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 15:50:36 +00:00
srdjan@google.com 130ca2534f A 'fix' for issue 2671, toRadixString.
Review URL: https://chromiumcodereview.appspot.com//10173014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6948 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 15:32:12 +00:00
turnidge@google.com 353b66038e Rework mirrors implementation.
(Note that the current mirrors implementation is just a heartbeat
implementation of a single method)

Use native code instead of dart code to do the work.

Use JSON instead of Lists/Maps for commands/responses.

Reenable disabled tests.
Review URL: https://chromiumcodereview.appspot.com//10175011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6864 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-23 22:26:09 +00:00
turnidge@google.com 9d72035ce5 Use the ThreadPool for all isolates and native ports. Previously,
each isolate or native port had a dedicated thread.

Refactored the MessageHandler api...

- Added a Run function to allow a MessageHandler to run on a
  ThreadPool.  These functions take a start and end callback to allow for
  isolate initialization and shutdown.

- Made the queue private to the MessageHandler and moved all message
  processing code inside the MessageHandler (got rid of all of the
  different flavors of RunLoop).  This helps remove some code
  duplication and hides the details of how messages are handled.

- Moved all locking and notification out of MessageQueue and moved it
  up to MessageHandler.  Moved OOB support out of MessageQueue and up
  to MessageHandler.  These changes make the MessageQueue much
  simpler.

- Refactored native port and isolate MessageHandlers to share more code.

- Improved --trace_isolates output.

- Added tests for MessageHandler.

Refactored lib/isolate code...

- Use the new MessageHandler::Run api.

- Got rid of the LongJump stuff in RunIsolate.  No longer needed.

- Use the new StartIsolateScope/SwitchIsolateScope to make the code
  less verbose and less error-prone.

- Store top-level isolate errors in the sticky_error.

Added StartIsolateScope/SwitchIsolateScope classes.
Review URL: https://chromiumcodereview.appspot.com//9924015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6762 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-19 19:47:27 +00:00
srdjan@google.com 037cfcf849 Add optional arguments to NullPointerException so that it can report more information (make it similar to what is reported by NoSuchMethodException):
NullPointerException : method: 'foo'
Receiver: null
Arguments: [1, 2]
Review URL: https://chromiumcodereview.appspot.com//10034026

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6429 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-11 19:58:45 +00:00
hausner@google.com 2fc3bb679d Introduce a flag to disable string operator +
If allow_string_plus is set to false, the compiler will report an error
when it finds a string literal followed by +. Invoking the + operator on a
string value throws a noSuchMethod exception.

This is temporary code that we'll eliminate once the + operator on
strings is completely removed.
Review URL: https://chromiumcodereview.appspot.com//9960084

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6423 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-11 18:23:22 +00:00
asiva@google.com 861297e2a8 Fix build break.
Review URL: https://chromiumcodereview.appspot.com//9999009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6345 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-09 23:17:28 +00:00
asiva@google.com 8f208ad7ca Wire GrowableArray to use the internal VM object.
This also fixes issue (5526318 : Make access to GrowableArray objects through the dart api more efficient)
Review URL: https://chromiumcodereview.appspot.com//10012042

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6341 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-09 21:50:53 +00:00
cshapiro@google.com 0282e0745b Use named constants for the mask values used to narrow byte array values.
Review URL: https://chromiumcodereview.appspot.com//9839071

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5796 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-23 22:26:13 +00:00
zundel@google.com 41cb747374 Fixed some static type warnings in vm core libraries
After running 'dartc' on the VM's core libraries, about 79 static type warnings popped out.
These ten or so were relatively easy to fix.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5794 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-23 21:27:18 +00:00
cshapiro@google.com 8da7a95afc Narrow when storing to a byte array and implement uint64 get and set.
Previously, the byte array get and set routines for integers would not
correctly narrow an integer when the width of a value being stored was
greater than the element width.  This change implements the behavior in
the Web IDL specification.

In addition, an implementation for uint64 get and set is now provided.

BUG=2042

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5738 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-22 02:50:15 +00:00
cshapiro@google.com 62a5452feb Make failed capturing parenthesis produce null instead of "".
BUG=2068

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5670 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-20 00:36:21 +00:00
iposva@google.com d402068134 - Fix use of String operator + in core libraries.
Previously reviewed as part of https://chromiumcodereview.appspot.com/9690003
Review URL: https://chromiumcodereview.appspot.com//9730009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5656 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-19 19:42:29 +00:00
cshapiro@google.com 86bd5e8827 Improve the replaceFirst, replaceAll and split methods.
An empty regular expression had caused split to loop infinitely.  Now,
the split method behaves like its namesake in ECMAScript and splits a
string along character boundaries.

The split, replaceFirst, and replaceAll methods only supported RegExp
and String patterns.  Now, these methods are implemented on top of the
allMatches method and work for all subinterfaces of Pattern.

BUG=2171

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5653 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-19 18:06:42 +00:00
cshapiro@google.com aae5faf7b1 Implement regular expression support for split and replace{First,All}.
BUG=429

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5491 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-14 22:09:52 +00:00
turnidge@google.com b71faf4528 Fix bogus mistake in get:_port().
Review URL: https://chromiumcodereview.appspot.com//9691063

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5443 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-13 22:22:21 +00:00