Commit Graph

15405 Commits

Author SHA1 Message Date
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
floitsch@google.com eb92af4080 Revert "Refactor Date implementation in VM."
Also revert "Round days-computation to get rid of daylight-savings differences."

This reverts commit 7542 and commit 8544.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8547 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 13:44:45 +00:00
floitsch@google.com 17de58fbaf Reapply "Refactor Date implementation in VM."
This reapplies a fixed version of commit 8533.
https://chromiumcodereview.appspot.com//10533068

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8542 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 12:04:36 +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
floitsch@google.com 02f39238ae Revert "Refactor Date implementation in VM."
This reverts commit 8533.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8535 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 10:33:36 +00:00
floitsch@google.com 0e297362a2 Refactor Date implementation in VM.
Less (and simpler) native functions. More precise semantics (for both the
native functions as well as for the Date class itself).

Fixes issue 3201.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8533 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 10:24:58 +00:00
iposva@google.com 97a9127cf7 - Workaround a problem in the gold linker.
Review URL: https://chromiumcodereview.appspot.com//10538103

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8531 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 10:14:12 +00:00
iposva@google.com 5c19edae90 - Do not use near jumps for large number of sequential class id
comparisons.
Review URL: https://chromiumcodereview.appspot.com//10541112

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8530 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 09:30:34 +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
asiva@google.com 437d743208 Set thread stack size to 128k on macos debug builds as the parser runs into a stack overflow error as it recursively parses an expression in file_test.dart (issue 3537).
Review URL: https://chromiumcodereview.appspot.com//10546112

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8520 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-11 23:38:15 +00:00
asiva@google.com c078663643 1. Remove recursion during snapshot writing and reading
2. set thread stack size to 128k
3. Fix the native message handler to ensure that it works with the new model of not recursively inlining objects.
Review URL: https://chromiumcodereview.appspot.com//10535066

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8517 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-11 21:39:05 +00:00
srdjan@google.com 630a93195a Fix x64 breakage.
Review URL: https://chromiumcodereview.appspot.com//10538069

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8508 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-11 17:17:35 +00:00
srdjan@google.com 5ad91ae250 Add stack check in loops so that loops can be stopped. Optimize relational operations.
Use class-ids to describe type of operation. Should we adapt BinaryOp to use class ids as well?
Review URL: https://chromiumcodereview.appspot.com//10536086

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8507 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-11 17:02:39 +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
floitsch@google.com cde1a8e09a new Date.now() should be in local timezone.
This error probably slipped in during the refactoring.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8483 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-11 08:35:31 +00:00
asiva@google.com e5c3acc6e0 Fix bug in native message writer, the GetMarkedCObjectMark method was shifting teh value incorrectly resulting in it returning bad object ids.
Review URL: https://chromiumcodereview.appspot.com//10541055

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8464 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 20:20:54 +00:00
vegorov@google.com 20549ee20d Implement inlined LoadIndexed operation for arrays on x64.
R=srdjan@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8462 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 19:36:26 +00:00
srdjan@google.com 69be8e6f0b Add righ shift test for corner cases, use macro for deopt reasons (all suggested by Slava in a previous CL)
Review URL: https://chromiumcodereview.appspot.com//10539068

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8459 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 18:20:45 +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
floitsch@google.com a1e41b060b Reapply "Remove deprecated classes and functions in Date."
This reapplies a fixed version of commit 8445.

Original CL: https://chromiumcodereview.appspot.com//10541050

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8455 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 17:32:18 +00:00
srdjan@google.com 1a94d4d94d Implement Smi binops ia32 (new compiler).
Review URL: https://chromiumcodereview.appspot.com//10542079

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8450 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 16:59:49 +00:00
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
srdjan@google.com af3ea0de3d Add more intrinsics, enable new compiler's optimized mode for ia32.
Review URL: https://chromiumcodereview.appspot.com//10541069

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8442 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 15:13:56 +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
vegorov@google.com 00bd7303e5 Do not reuse tags_ field to store next_ pointer of FreeListElement.
Make tags_ field be valid (i.e. encode size and class id) for free list elements.

R=iposva@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8437 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 13:11:11 +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
vegorov@google.com 70a81f4264 Implement inlined version of binary arithmetic operations for doubles.
No attempt to reuse temporary boxes or locally propagate types is done.

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8433 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 11:27:28 +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
cshapiro@google.com 76f0099233 Force growth when retrying an old-space allocation.
Review URL: https://chromiumcodereview.appspot.com//10458072

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8411 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-07 22:29:09 +00:00
iposva@google.com 0680a12791 - Simplify logic when setting up handle content.
Review URL: https://chromiumcodereview.appspot.com//10541061

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8409 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-07 22:17:42 +00:00
srdjan@google.com bd0bda32f0 Inline setters, getters, various cleanups & restructuring.
TODO: cid, token_index and try_index are often passsed around. We should pack them in a data structure.
Review URL: https://chromiumcodereview.appspot.com//10540040

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8406 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-07 19:49:50 +00:00
srdjan@google.com 1c870b27e0 Implemented missing instructions in ia32, more sharing, removed bailouts, enable optimiziations on ia32 with new compiler.
Review URL: https://chromiumcodereview.appspot.com//10538024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8403 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-07 18:06: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 c07fc6270d Add type testers to all IL classes.
This change does not change any functionality.  Until now we only had
a select number of type-testers. The CL adds Is- test predicates and As-
type cast function for all computations.

It is in  preparation for upcoming changes where I need to test different
computations for their type.
Review URL: https://chromiumcodereview.appspot.com//10537051

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8390 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-07 12:31:35 +00:00
iposva@google.com aa8aeea71e - Fix build.
Review URL: https://chromiumcodereview.appspot.com//10536051

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8388 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-07 11:28:24 +00:00
iposva@google.com ff35c8a764 - Get handle vtable from a static table for predefined classes.
Review URL: https://chromiumcodereview.appspot.com//10540045

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8387 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-07 11:24:25 +00:00
cshapiro@google.com 4dc1d4de6d Intrinsify some ByteArray methods.
get:length is intrinsified for internal and external subtypes.

[] is intrinsified for 8- and 16-bit internal subtypes on ia32.

[] is also intrinsified for 32-bit internal subtypes on x64.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8371 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-06 23:43:42 +00:00
srdjan@google.com 6ddfae89fa Small efficiency fix.
Review URL: https://chromiumcodereview.appspot.com//10542032

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8351 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-06 17:40:45 +00:00
srdjan@google.com 0912e4ded7 More code for ia32, more shared code.
CreateArrayComp, EqualityCompareComp, StoreStaticField, LoadStaticField, StoreIndexedComp, StoreInstanceFieldComp, Throw, Rethrow, AssertBooleanComp.
Made more code shared, which has the disadvantage od splitting MakeLocationSummary from EmitNativeCode. Discuss.
Review URL: https://chromiumcodereview.appspot.com//10543013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8343 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-06 15:42:07 +00:00
iposva@google.com 6a5ef0e692 - Add an isolate field to visitors.
Review URL: https://chromiumcodereview.appspot.com//10502004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8337 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-06 14:47:17 +00:00
vegorov@google.com a4711ef435 Eliminate RawObject::class_ field entirely.
Removed initializations of class_ field done in runtime and generated code on ia32/x64.

Changed forwarding address encoding used by scavenger: kFreeBit is now used to distinguish evacuated objects from not evacuated because scavenger will never encounter real FreeListElement.

Changed FreeListElement layout to match RawObject layout.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8336 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-06 14:22:52 +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
srdjan@google.com 0f9c3f91cc Move inlined type checking code to new compiler ia32. Sharing more and more code between ia32/x64 (ongoing process), refactored x64 code slightly.
Review URL: https://chromiumcodereview.appspot.com//10477020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8292 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-05 16:37:38 +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
srdjan@google.com 930fae0fbe Implemented in ia32: branch, strict compare, instance setter, instanceof and assertassigneable with runtime calls only.
Review URL: https://chromiumcodereview.appspot.com//10466006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8257 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-04 17:06:43 +00:00