Commit Graph

15405 Commits

Author SHA1 Message Date
asiva@google.com 67601eb671 Temporary fix for build break. Turn off test.
Review URL: https://chromiumcodereview.appspot.com//10582002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8818 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 20:20:25 +00:00
iposva@google.com 5a05319599 - Avoid doubling 0 when trying to determine a new size for the
ApiMessageWriter forwarding list. 
- Use matching allocation calls in ApiMessageWriter.
- Sort list of source files.
Review URL: https://chromiumcodereview.appspot.com//10557043

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8817 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 20:01:28 +00:00
asiva@google.com 73bfbc5da4 Allow implicit 'close your eyes' of native methods. This will hopefully fix issue 3466.
- when resolving the native method which has been closurized account for the 'this' argument in the count of arguments.
- explicitly copy the 'this' parameter in the closure context as the first parameter before calling the native function. This is done by piggy backing on the CopyParameters code used for functions with optional parameters.
Review URL: https://chromiumcodereview.appspot.com//10535180

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8816 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 19:56:06 +00:00
vegorov@google.com 959cf98b00 Implement a simple register allocator that tries to keep instruction results in registers.
Add --optimization-filter flag that allows to disbable optimizations for all function which do not match prefix. This allows to quickly localize problems with code generation.

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8811 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 18:04:22 +00:00
hausner@google.com a7f542becb Remove obsolete String + code
Review URL: https://chromiumcodereview.appspot.com//10562038

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8810 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 18:00:25 +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
fschneider@google.com e1640d96ca Fix bailout from the optimizing-mode compiler and put SSA construction under a flag.
For now the flag is off by default.
Review URL: https://chromiumcodereview.appspot.com//10568007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8783 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 12:04:30 +00:00
vegorov@google.com 26fb4ca09a Fix definition of CreateArrayComp::InputAt.
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8780 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 11:39:04 +00:00
hausner@google.com f0ccfe83e0 Turn off support for String + operator in the VM
Review URL: https://chromiumcodereview.appspot.com//10568002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8764 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 00:56:03 +00:00
cshapiro@google.com e78250ca37 Generate code for store buffer updates in open-coded object field stores.
Review URL: https://chromiumcodereview.appspot.com//10536067

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8755 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-15 23:45:15 +00:00
asiva@google.com 4027727562 For now set the stack buffer size to 16k (we need to compute this during thread start and store it in the worker object instead of the current scheme of setting this up in HandleMessage).
Adjust stack size to 512KB as all tests seem to run with that limit.
Review URL: https://chromiumcodereview.appspot.com//10558013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8754 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-15 23:32:47 +00:00
cshapiro@google.com fdb1c60bf1 Document the ByteArray types and reconcile with the implementation.
BUG=1499

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8738 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-15 20:16:58 +00:00
srdjan@google.com 8ffba8989b Chek stack overflow in while an do-while node (in order to be able to interrupt loops).
Review URL: https://chromiumcodereview.appspot.com//10562010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8730 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-15 18:12:42 +00:00
asiva@google.com 5869878eb3 Set max stack size to 1 MB (this is excessive but we seem to have some dart code that has deep recursion).
Review URL: https://chromiumcodereview.appspot.com//10541191

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8704 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-15 01:50:30 +00:00
asiva@google.com d7aafffcd8 Have the stack overflow code use the correct stack size set by the platform/thread.h
Review URL: https://chromiumcodereview.appspot.com//10544170

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8703 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-15 01:28:53 +00:00
regis@google.com 7527d97cf5 Inline Math.sqrt in new compilers.
Review URL: https://chromiumcodereview.appspot.com//10542167

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8702 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-15 00:56:25 +00:00
srdjan@google.com b11999d58c Fix stack sizes (kDefaultStackSize to 64kB, and kStackSizeBuffer to 4kb) to be able to catch stack overflows.
Review URL: https://chromiumcodereview.appspot.com//10539174

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8701 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-15 00:56:25 +00:00
srdjan@google.com f26f243476 Improve equality operation (inline, direct calls).
Review URL: https://chromiumcodereview.appspot.com//10545186

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8700 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-15 00:40:58 +00:00
asiva@google.com 16f8c892aa Add support for leaf runtime calls
- use a NoGCScope around these calls
- do not save and restore exit frame info, context register etc.
- Do not create a zone and handlescope by default
Review URL: https://chromiumcodereview.appspot.com//10542123

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8699 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-15 00:19:45 +00:00
hausner@google.com 41bd5107c4 Fix issue 3636, break on exception
Call the "pause on exception" handler in the debugger even when
there are no breakpoints set.

Fixes issue 3636.
Review URL: https://chromiumcodereview.appspot.com//10544159

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8679 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-14 18:07:48 +00:00
srdjan@google.com 0d74d13f2b Implement polymorphic instance calls.
Review URL: https://chromiumcodereview.appspot.com//10539145

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8678 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-14 18:07:43 +00:00
srdjan@google.com 70bc9aa213 Add token kind into InstanceCallComp so that we do not need to extract it from name (addresses vego…
Review URL: https://chromiumcodereview.appspot.com//10536162

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8675 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-14 17:41:54 +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
floitsch@google.com dd61a23829 Reapply "Refactor Date implementation in VM."
This reapplies fixed versions of commit 7542 and commit 8544.
Original review URLs:
https://chromiumcodereview.appspot.com//10533068
https://chromiumcodereview.appspot.com//10544109

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8655 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-14 13:05:22 +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 64601fa52e Fix flaky test runtime/vm/heap_profiler_test.cc
BUG=3634
TEST=vm/heap_profiler_test

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8648 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-14 11:47:29 +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
cshapiro@google.com 4f036454cb Fix includes to unbreak the Mac build.
Review URL: https://chromiumcodereview.appspot.com//10543154

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8639 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-14 01:33:31 +00:00
cshapiro@google.com a40ffbae76 Fix includes to unbreak the Windows build.
Review URL: https://chromiumcodereview.appspot.com//10539151

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8638 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-14 01:02:08 +00:00
cshapiro@google.com dcaf11db96 Implement a heap profiler for the Dart managed heap.
This profiler will write binary HPROF data to a user provided stream that
can later be viewed by tools such as the Eclipse Memory Analyzer.

While all user defined types are accurately described in the profile data,
internal types that are not self-describing appear as empty objects.  This
will be addressed by a future change.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8636 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-14 00:08:07 +00:00
regis@google.com 858b662c84 Fix super call invocation (issue 2028).
Review URL: https://chromiumcodereview.appspot.com//10513008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8633 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-13 23:06:23 +00:00
srdjan@google.com 3f662c0d5a Restore changes lost in merge for r8626 (equality operation).
Review URL: https://chromiumcodereview.appspot.com//10546154

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8629 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-13 21:13:09 +00:00
srdjan@google.com 681165b68b Some cleanups, started implementing checked instance calls, better equality operation.
Review URL: https://chromiumcodereview.appspot.com//10541135

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8626 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-13 18:48:46 +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
vegorov@google.com fadac390f3 Fuse comparisons that are used by branches together.
This allows us to eliminate materialization of boolean value.

Fix a bug in ToDoubleComp::LocationSummary on ia32.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8617 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-13 16:23:14 +00:00
iposva@google.com 794ba0f1e4 - Fix test expectations.
Review URL: https://chromiumcodereview.appspot.com//10543137

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8612 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-13 15:25:08 +00:00
iposva@google.com e1c28d7adf - Remove trailing '\n' when getting the API error message.
Review URL: https://chromiumcodereview.appspot.com//10539133

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8608 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-13 14:47:33 +00:00
fschneider@google.com ee4a0fd042 First step to SSA construction: Phi insertion.
This CL contains the phi insertion step of the SSA construction algorithmus: The phi instructions inserted are not functional yet. Renaming is not included yet.


I based it on Kevin's CL (http://codereview.chromium.org/10388161/), rebased and fixed a bug (added missing iterator.Advance()) there.

It also reintroduces the Definition IL class because Phi-instructions are also
definitions that are referenced by UseVal.

I also added the set of immediately dominated blocks to each basic block.
This will be needed for pre-order dominator-tree traversal in the renaming pass.
Review URL: https://chromiumcodereview.appspot.com//10539108

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8604 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-13 13:36:04 +00:00
vegorov@google.com d5799bd9c6 Optimize StoreIndexedComp on ia32&x64.
R=srdjan@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8595 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-13 08:53:54 +00:00
vegorov@google.com bd19464867 Implement kDoubleToDouble and kIntegerToDouble on ia32 and x64.
Fix bug in assembling of cvtsi2sd on x64.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8593 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-13 08:29:40 +00:00
hausner@google.com 4bac2773d6 Eliminate a couple of uses of String +
Review URL: https://chromiumcodereview.appspot.com//10536129

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8586 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 23:01:14 +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
turnidge@google.com 312702a5ac Second local mirrors CL.
Implement a few chunks of new mirror functionality.  Many changes, notably:

- Added currentIsolateMirror() to provide non-async access to the
  local isolate mirror.

- Added mirrorOf(o) to provide access to local instance mirrors.

- Fleshed out InstanceMirror, InterfaceMirror, and LibraryMirror to
  various degrees.

- Added the MirroredError hierarchy, which lets the user handle Dart
  errors of various sorts from invocation, etc.

- Introduce lazy resolvers for interface mirrors and library mirrors.
  These allow us to build the self-referential library/interface
  hierarchy without going mad.

- Added better toStrings all around.

- Extended the isolate_mirror_local_test to cover new functionality.

Other changes that were required or seemed prudent:

- Exposed the error hierarchy to the embedder.  They need to be able
  to distinguish different error types in some situations.  Improved
  the documetation around error handles and error propagation.

- Added new functions to the dart embedding api as required.  Added
  tests for all new dart api functions.
Review URL: https://chromiumcodereview.appspot.com//10538043

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8575 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 21:07:49 +00:00
srdjan@google.com 751e48d363 Fix a typo in the new compiler's optimizer.
Review URL: https://chromiumcodereview.appspot.com//10548009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8572 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 20:18:22 +00:00
srdjan@google.com c9801e0819 Implement is32 LoadIndexed.
Review URL: https://chromiumcodereview.appspot.com//10534105

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8555 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 16:27:18 +00:00
srdjan@google.com 0f925121e8 Add code comment to ia32 disassembly as well, bug fix new ia32 compiler, remove use of TMP register outside the assembler. Inlined special methods: ObjectArray, ImmutableArray and GrowableArray and String length getters.
Review URL: https://chromiumcodereview.appspot.com//10536096

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8554 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 16:09:02 +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
iposva@google.com 9cc40c2b0c - Back to old compiler for ia32.
Review URL: https://chromiumcodereview.appspot.com//10534112

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8551 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 14:14:24 +00:00
iposva@google.com abca337990 - Temporarily enable the new compiler on ia32.
Review URL: https://chromiumcodereview.appspot.com//10535129

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