Commit Graph

493 Commits

Author SHA1 Message Date
ager@google.com 0d14ec42be Guard against integer overflow in process constructor.
I have set an arbitrary limit of around one million arguments. I
see no reasonable use of the Process API where that would be a
problem.

R=whesse@google.com,turnidge@google.com
BUG=dartbug.com/1751
TEST=None, can't happen right now but might in the future.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9583 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-12 08:35:10 +00:00
whesse@google.com 4e4104a3e1 [IO] Improve documentation for dart:io Socket.onWrite.
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9428 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-06 08:41:37 +00:00
sgjesse@google.com 9f2a6f06a0 Fix HTTP client eviction timer bug
The HTTP client eviction timer should only be cancled and nulled out
when there are no client connections at all.

R=whesse@google.com

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9404 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-04 12:27:35 +00:00
whesse@google.com d05e40212a IO: Fix error in Process exit handling.
BUG=3639
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9336 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-03 10:16:25 +00:00
ager@google.com 485bf8d10b Deal with special cmd.exe environment variables that have keys that start with an equals sign.
I have attempted to deal with them correctly instead of ignoring
them so that they can be passed on unchanged to subprocesses.

R=johnniwinther@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9284 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-02 10:58:24 +00:00
ager@google.com 52230ca22b Support posting of external data into dart as external uint8 arrays through the Dart API.
The native ports use the snapshot reader to create the dart objects. Added support for reading external arrays from snapshots but no support for writing them. The only way an external array is written to a snapshot is through the api message writer.

This allows dart:io to avoid one copy of data read from files and sockets. This change only contains one use of the new API.

R=asiva@google.com,iposva@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9281 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-02 07:22:32 +00:00
ager@google.com f791a12b38 Terminate event handler thread on isolate shutdown.
R=sgjesse@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9251 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-29 14:40:17 +00:00
hausner@google.com d9ba32f258 Support for lists in debugger wire protocol
Review URL: https://chromiumcodereview.appspot.com//10698039

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9235 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-29 00:52:51 +00:00
turnidge@google.com 3f940819a7 Add a callback to inform embedders when an isolate is being shut down.
Review URL: https://chromiumcodereview.appspot.com//10450016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9211 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-28 18:15:17 +00:00
hausner@google.com fbeaabda52 Debugger support to display global variables
- Add library id to ActivationFrame
- Add debugger function to get all global variables visible in
  a library (including imported variables).
- Add LibraryPrefixIterator
- Fix Dart_GetLibraryImports
Review URL: https://chromiumcodereview.appspot.com//10657048

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9121 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 17:32:34 +00:00
whesse@google.com 0b2a9d5270 Make Path implement (extend) Hashable, and make Path.append to an empty path work right.
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9110 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 14:24:48 +00:00
iposva@google.com a5cce32a8d - Fix sorting.
Review URL: https://chromiumcodereview.appspot.com//10661046

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9092 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 23:20:31 +00:00
iposva@google.com da8c641cc4 - Sort sources in gyp files.
Review URL: https://chromiumcodereview.appspot.com//10663029

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9091 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 23:05:42 +00:00
ager@google.com b876387df2 Remove reference to non-existing classes from encodings class comment.
R=whesse@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9060 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 12:10:02 +00:00
whesse@google.com 1bc6b99ce6 Add methods to dart:io Path.
Add .append, which adds a segment to the end of a Path, and
.pathWithoutExtension, which removes the extension (part after .),
from the filename at the end of a path, and returns the new path.

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9028 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 11:02:49 +00:00
whesse@google.com 015c40188c Add .fromPath constructors to File and Directory.
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9024 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 10:36:20 +00:00
ajohnsen@google.com c0870d4e78 Document the HttpClient uses KeepAlive, keeping sockets open for up to 60 seconds after a connection is complete.
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9017 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 09:13:18 +00:00
asiva@google.com 9126cb7b77 Add pprof symbol generation option to run_vm_tests so that we can use pprof in the vm benchmark framework as well.
Review URL: https://chromiumcodereview.appspot.com//10643003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9011 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 23:33:31 +00:00
efortuna@google.com f89032cd13 Add dart:web to VM.
Review URL: https://chromiumcodereview.appspot.com//10574037

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8993 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 17:11:02 +00:00
iposva@google.com 0fd25118b9 - Move the Timer interface to the dart:isolate library so that it
is accessible from both client and standalone program.
- Enable a way for the embedder to provide the implementation of
  the Timer interface.
- Update tests.
Review URL: https://chromiumcodereview.appspot.com//10532123

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8987 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 16:17:21 +00:00
hausner@google.com 3a7485dfa0 Implement the linux debugger wire protocol.
Platform-dependent code of the Linux version of the debugger wire
protocol.
Review URL: https://chromiumcodereview.appspot.com//10572028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8913 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 16:09:39 +00:00
whesse@google.com c5d1431241 Add Path class to dart:io, add tests for it to standalone/io.
Just a preliminary implementation - make suggestions for changes.

BUG=
TEST=standalone/io/path_test

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8909 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 15:21:01 +00:00
floitsch@google.com a51dc25968 Make isUtc a getter, change some method names in Date. Weekday is now 1 based.
isUtc is now a getter.
Date.hours -> Date.hour
Date.minutes -> Date.minute
Date.seconds -> Date.second
Date.milliseconds -> Date.millisecond
Date.fromEpoch -> Date.fromMillisecondsSinceEpoch
Date.value -> Date.millisecondsSinceEpoch
Date.MON == 1 (up to Date.SUN == 7).

Fixes issue 3444, 1985.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8899 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 11:43:46 +00:00
whesse@google.com b8e4ca3a3e Revert "Test infrastructure: Change the intentionally crashing process_test.cc, to try and avoid timeout of this process."
This reverts commit 51bfb317ef687e8457ce6bccb21f022d4b21ea74.

BUG=
TEST=standalone/io/process_segfault_test

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8797 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 14:16:00 +00:00
whesse@google.com 2c0463fbd6 Test infrastructure: Change the intentionally crashing process_test.cc, to try and avoid timeout of this process.
BUG=1947
TEST=standalone/io/test_runner_test

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8795 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 13:56:21 +00:00
sethladd@google.com 7ea77891bb specify which version of web sockets
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8666 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-14 16:08:51 +00:00
whesse@google.com 91982e8d76 Close a _FileInputStream only immediately before onClosed is called, so .closed returns false before that.
BUG=
TEST=standalone/io/file_test

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8649 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-14 11:48:02 +00:00
whesse@google.com 99cbf6de81 Add test for buffered file input stream on dart:io File class.
BUG=
TEST=standalone/io/file_test

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8643 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-14 08:36:29 +00:00
asiva@google.com c7f58add4c Fix for issue-2837 (allow --print-flags without a script name).
Review URL: https://chromiumcodereview.appspot.com//10548017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8622 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-13 17:48:47 +00:00
hausner@google.com a1cb082925 Add API to configure debugger pause on exception
Still to be done: proper determination whether an exception is
handled or unhandled. We still assume that TypeError and AssertionError
exceptions are unhanded.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8579 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 21:56:50 +00:00
whesse@google.com c914f33159 Make sure that _FileInputStream._fillBuffer is not entered again before it finishes.
Also fix a bug where _fillBuffer did not reset _position correctly.

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8553 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 16:06:12 +00:00
whesse@google.com 2d68705170 Fix file buffering code that uses RemoveRange on a fixed-length Uint8 array.
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8548 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 14:00:06 +00:00
ajohnsen@google.com c54800f942 Give Process.kill an optional argument to specify which signal to send.
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8541 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 12:00:50 +00:00
whesse@google.com 31f1777851 Add buffering to _FileInputStream implementation.
Revert "Revert dart:io file InputStream buffering to fix bugs in it."
Recommits r8435, r8401, r8396, r8395, with additional fixes.

BUG=3434
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8537 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 10:55:51 +00:00
ager@google.com a0c90242b8 Add missing closed check to random access file.
R=iposva@google.com
BUG=
TEST=standalone/io/file_error_test

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8525 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 07:28:29 +00:00
whesse@google.com 20725c01d8 Enable standalone/io/http_test, splitting it into three separate tests.
This allows better reporting and diagnosis of flakiness.
Also fixed some type and interface issues that created type warnings in http tests.

BUG=2987
TEST=standalone/io/http_test, http_advanced_test, http_read_test, http_basic_test

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8491 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-11 15:09:54 +00:00
hausner@google.com eebec2a081 Debugger break on TypeError, AssertionError
Add debugger functionality to pause the VM whenever a TypeError
or AssertionError exception happens.

This is a first step towards breaking on handled and unhanded
exceptions in general. We first need to generate more debug info
for catch handlers so we can determine whether an exception will
be handled or not before we unwind the stack to run the catch
clauses.
Review URL: https://chromiumcodereview.appspot.com//10537065

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8457 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 17:51:50 +00:00
whesse@google.com 118a9ad7e7 Revert dart:io file InputStream buffering to fix bugs in it. Reverts r8435, r8401, r8396, r8395.
BUG=dart:3450, dart:3434
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8441 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 14:39:02 +00:00
whesse@google.com 842194bd39 Fix dart:io File.openInputStream input stream to cancel outstanding onData events when EOF reached.
BUG=
TEST=standalone/io/file_test

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8435 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 12:05:53 +00:00
sgjesse@google.com b5995d1d9b Add method flush to output stream
R=ager@google.com

BUG=dart:1407
TEST=tests/standalone/src/io/FileOutputStreamTest.dart

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8422 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 07:56:15 +00:00
whesse@google.com ada680e28f Change FileInputStream to only call onClosed callback when underlying file has been closed. Change standalone/io/file_test to check this.
TBR=ricow@google.com

BUG=
TEST=standalone/io/file_test

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8401 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-07 16:43:41 +00:00
whesse@google.com 4b1c96b722 Remove erroneous assert from dart:io's File class.
BUG=
TEST=standalone/io/file_test.dart

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8396 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-07 14:23:16 +00:00
whesse@google.com b939ba1480 Add buffering to File.openInputStream, so that the entire file is not read in at once.
BUG=dart:3334
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8395 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-07 13:44:31 +00:00
fschneider@google.com 84027c4457 Add flow graph printing into a .cfg file with flag --print-flow-graph-file.
This CL adds a flag --print-flow-graph-file which produces one
.cfg-file per isolate when enabled. Currently it prints the final
flow graph before code generation.

I also added SuccessorAt and SuccessorCount to allow easy iteration
over the successors of a basic block.
Review URL: https://chromiumcodereview.appspot.com//10446116

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8322 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-06 11:09:02 +00:00
ajohnsen@google.com 83bcc58918 Close stdin in Process.run.
This fixes an open pipe issue.

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8321 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-06 10:46:30 +00:00
hausner@google.com ba8c73df3a Fix handling of long JSON messages
Fix Debugger wire protocol for long messages.
Add a stress mode in the protocol handler to break messages
into small pieces.
Review URL: https://chromiumcodereview.appspot.com//10515015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8269 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-04 22:27:50 +00:00
hausner@google.com c39f48340d Add string encoding to wire protocol
Also, add command to retrieve the source text of a given script.
Review URL: https://chromiumcodereview.appspot.com//10496006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8220 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-02 00:07:12 +00:00
asiva@google.com 6ce890f75a 1. Restructure some of the builtin library processing code.
Review URL: https://chromiumcodereview.appspot.com//10388242

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8175 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 21:09:17 +00:00
ager@google.com 501a0dd907 Add test that passes invalid arguments to socket methods and fix
issues encountered.

The fuzzing is not as systematic as for some of the other
APIs. However, a lot of checking is going on in the Dart code so
forcing issues required a bit of work making objects act like lists
and integers.

Additionally, fix a memory leak in process implementation.

R=sgjesse@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8088 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 08:17:25 +00:00
hausner@google.com eeaa660d52 Introduce library ids and info in the wire protocol
- Library hierarchy (imports, prefixes)
- Global (top-level) variables
- Removing breakpoints
Review URL: https://chromiumcodereview.appspot.com//10447045

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8075 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-29 19:51:51 +00:00