Commit Graph

3490 Commits

Author SHA1 Message Date
floitsch@google.com 54ffaab251 Fix typeddata. Was still using Arrays.
Review URL: https://codereview.chromium.org//12443004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19480 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-05 13:55:14 +00:00
floitsch@google.com fd28ec5b2e Move Arrays class to private library.
Committed: https://code.google.com/p/dart/source/detail?r=19375
Reverted: http://code.google.com/p/dart/source/detail?r=19420

Review URL: https://codereview.chromium.org//12386072

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19476 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-05 13:24:55 +00:00
gram@google.com 28e22592a7 Added a rudimentary DOM, to assist with event dispatch.
Modified embedder so we can dispatch basic mouse and keyboard events through this new dart:async based plumbing.
Added mouse/motion events to desktop embedder.
Review URL: https://codereview.chromium.org//12390045

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19440 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-05 01:07:08 +00:00
zra@google.com c9c0881ac7 Adds mrc instruction to arm simulator, assembler, disassembler.
This instruction will be used to query an arm processor to
determine whether it supports the sdiv and udiv instructions.

Also adds a flag --sim_has_int_div to the arm simulator,
which changes the result of the mrc instruction so we can
test both ways.
Review URL: https://codereview.chromium.org//12378080

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19439 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-05 01:03:22 +00:00
regis@google.com 1b274ff2cf Remove the barely used macro assemblers after merging their contents to the base
assemblers.
Review URL: https://codereview.chromium.org//12398029

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19434 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-05 00:04:32 +00:00
hausner@google.com c5634503f7 Fix for loop variable capturing
We had a bug in the capturing of for loop variables that only manifested
itself if another variable outside the loop was captured as well.

Fix for issue 8207 and 8698.
 
Review URL: https://codereview.chromium.org//12381089

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19429 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-04 22:28:55 +00:00
asiva@google.com 97f6dee777 First step towards implementing dart:typeddata library.
Review URL: https://codereview.chromium.org//12313088

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19427 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-04 22:11:45 +00:00
srdjan@google.com d5084b7561 Recognize more list factories. Recognizing list factories (Array, Bytearrays, etc) allows the type and range to be determined. Add byte array factories to the list of recognzied factories and intrinsify them early. If not intrinisified they may be inlined and not recognized. Keeping the recognition at API level is more stable as internal implementation may change.
Review URL: https://codereview.chromium.org//12377082

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19422 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-04 21:38:35 +00:00
floitsch@google.com 5505496990 Revert "Move Arrays class to private library."
This reverts commit 19375.

Review URL: https://codereview.chromium.org//12379085

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19420 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-04 21:27:38 +00:00
regis@google.com a879bba2ff Second codegen test passing on ARM (simulated).
This required support on ARM for:
- compilation of static calls
- patching of static calls
- stub to call into runtime
- redirection support for calls from simulator to host runtime
- stack frame iteration
Review URL: https://codereview.chromium.org//12381034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19405 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-04 18:08:38 +00:00
zra@google.com 767b8ec8fc Adds vstm, vldm to ARM simulator, assembler, disassembler
Review URL: https://codereview.chromium.org//12390039

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19404 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-04 17:45:38 +00:00
floitsch@google.com d91bca2813 Add List.asMap().
Review URL: https://codereview.chromium.org//12391046

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19399 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-04 16:57:52 +00:00
whesse@google.com 8929d6c037 dart:io | Fix a crash when read was called on a closed socket on Windows.
BUG=dartbug.com/8798

Review URL: https://codereview.chromium.org//12395017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19396 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-04 16:16:18 +00:00
lrn@google.com f4300b84a2 Make List.from and Iterable.toList default to not growable.
Review URL: https://codereview.chromium.org//12401002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19391 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-04 14:55:40 +00:00
vegorov@google.com e1e7051b22 In LoadOptimizer::EmitPhis check for environment uses of phis.
Previously we checked for input uses only. This caused some phis
to be not emitted if they had only environment uses. The bug was masked
by an elimination pass done before the register allocation.

R=kmillikin@google.com

Review URL: https://codereview.chromium.org//12391060

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19390 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-04 14:55:33 +00:00
floitsch@google.com 1d02dc6342 Move Arrays class to private library.
Review URL: https://codereview.chromium.org//12386072

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19375 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-04 10:31:02 +00:00
tball@google.com d052192580 Set vmstats socket as blocking.
Review URL: https://codereview.chromium.org//12390041

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19345 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-01 23:38:45 +00:00
asiva@google.com 825d996682 Update status file to remove skip of byte_array* tests on windows.
Review URL: https://codereview.chromium.org//12386063

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19343 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-01 22:57:00 +00:00
tball@google.com ca8b23183b Added Socket::SetBlocking() and Socket::SetNonBlocking().
Review URL: https://codereview.chromium.org//12380032

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19334 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-01 18:33:17 +00:00
vegorov@google.com 1fd357d38a CompileType::ToNullableCid must check whether type is implemented
This should be done in addition to checking whether type
has subclasses as subtyping relation is defined in terms of interfaces.

Otherwise type propagation infers that result of a mint
operation has a kIntegerCid because IntType has no subclasses.

It is only appropriate to not take subinterfaces into
account when inferring cid of the receiver.

No regression test included because currently it is not possible
to write one: fact that we inferred kIntegerCid for result
of mint operations is not observable and for other IR
instructions nullability prevents us from infering
anything but kDynamicCid.

R=kmillikin@google.com
BUG=

Review URL: https://codereview.chromium.org//12385044

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19322 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-01 16:31:26 +00:00
ajohnsen@google.com ba01a8ecfc Fix socket so we stop the consumer before we close the socket - this makes sure we socket-close future don't result in a socket write.
BUG=https://code.google.com/p/dart/issues/detail?id=8874

Review URL: https://codereview.chromium.org//12393010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19316 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-01 14:20:38 +00:00
floitsch@google.com 9722e27876 Remove deprecated IllegalJSRegExpException class.
Review URL: https://codereview.chromium.org//12317130

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19297 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-01 12:14:45 +00:00
fschneider@google.com 7ea9189805 Fix null-termination bug in Stacktrace::ToCString.
Under certain conditions Stacktrace::ToCString can return
a not null-terminated string.

This is the case when ToCStringInternal is invoked with a stacktrace
of length 0.

BUG=dart:8850
TEST=tests/language/stacktrace_test.dart
Review URL: https://codereview.chromium.org//12387019

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19282 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-01 09:03:45 +00:00
sgjesse@google.com 7d6ddd4ae9 Remove wrong type annotation
nativeCreateConnect returns either a bool (only true) or an OSError.

TBR=ajohnsen@google.com

BUG=

Review URL: https://codereview.chromium.org//12383043

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19276 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-01 07:53:11 +00:00
asiva@google.com 48418a75f7 Fix stack frame index numbers for full stack traces
It used to be:
#0      getCurrentStackTrace (file:///tmp/junk.dart:3:5)
#0      func1 (file:///tmp/junk.dart:10:29)
#1      func2 (file:///tmp/junk.dart:14:8)
#2      func3 (file:///tmp/junk.dart:18:8)
#3      func4 (file:///tmp/junk.dart:22:8)
#4      main (file:///tmp/junk.dart:26:8)
(Notice the two #0 frames on top).

Now it will print this as:
#0      getCurrentStackTrace (file:///tmp/junk.dart:3:5)
#1      func1 (file:///tmp/junk.dart:10:29)
#2      func2 (file:///tmp/junk.dart:14:8)
#3      func3 (file:///tmp/junk.dart:18:8)
#4      func4 (file:///tmp/junk.dart:22:8)
#5      main (file:///tmp/junk.dart:26:8)
Review URL: https://codereview.chromium.org//12381030

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19272 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-01 03:00:52 +00:00
srdjan@google.com e4847f2a8b Do not inline List factory if a non-constant argument is passed in order to prevent non-optimal code being generated. This is a temporary fix until we have found a better solution (maybe introduce a high-performance ? operator once its definition settles).
Review URL: https://codereview.chromium.org//12377032

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19267 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-28 23:31:10 +00:00
hausner@google.com 34cebe18cb Libraries: update VM to current spec
- Exports allowed in script files
- library name is optional
- delete meaningless test, file co19 bugs
Review URL: https://codereview.chromium.org//12382026

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19258 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-28 21:17:47 +00:00
srdjan@google.com ba7597afb4 Fix factory name to result cid mapping, run type propagation once more after constant propagation.
Review URL: https://codereview.chromium.org//12374024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19256 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-28 20:54:15 +00:00
tball@google.com 15f62a9361 Fixed debugger stacktrace generation that failed a VM assertion.
Added LocalVarDescriptors.ToCString(), which is just used when
debugging debugger issues, and is not referenced by any public APIs.
Review URL: https://codereview.chromium.org//12380031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19255 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-28 20:45:37 +00:00
fschneider@google.com 86d5e856a5 Use enum instead of bool parameter in IL instructions to indicate if a store barrier is needed.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//12377017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19232 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-28 14:30:37 +00:00
ajohnsen@google.com b6f9a3e395 Correctly close done future with an error, before a normal complete can happen.
BUG=

Review URL: https://codereview.chromium.org//12387014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19229 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-28 14:16:05 +00:00
floitsch@google.com 51212d24ed Remove deprecated ms arguments for Timer and Future.
Review URL: https://codereview.chromium.org//12342014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19220 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-28 13:24:12 +00:00
kmillikin@google.com 9ee9cfb78d Remove dead phis as soon as they are discovered.
Previously we removed dead phis late, in the register allocator.  This
change removes them as soon as they are discovered to be dead and packs the
phi array to squeeze out NULLs.  This speeds iteration but doesn't save
space because the phi array is zone-allocated.

The PhiIterator is used everywhere to iterate phis except a few places that
need to know the phi index (e.g., SSA construction, phi elimination).

R=vegorov@google.com

Review URL: https://codereview.chromium.org//12340108

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19206 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-28 08:25:58 +00:00
srdjan@google.com 59386b206c Intrinsify OnebyteString's hashcode. Next step is to inline it.
Review URL: https://codereview.chromium.org//12335138

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19182 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 22:58:59 +00:00
asiva@google.com 3c90369ba6 Add functionality to get full stack trace when exceptions are thrown.
This should address the issue raised in 7813.

try {
 ...
 ...
} on Object catch(e, s) {
 print(s.fullStackTrace);  // This should print the full stack trace.
}
Review URL: https://codereview.chromium.org//12316116

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19179 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 22:47:06 +00:00
iposva@google.com 5c71abedff - Do not use the ? operator in the List factory.
Review URL: https://codereview.chromium.org//12335146

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19178 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 22:36:22 +00:00
hausner@google.com 0320d0551c Fix order of mixin application during class finalization
Review URL: https://codereview.chromium.org//12355002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19170 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 20:58:07 +00:00
hausner@google.com f52edb6446 Less confusing names for mixing application classes
Use names of super and mixin class rather than types.
Review URL: https://codereview.chromium.org//12317150

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19154 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 17:42:24 +00:00
regis@google.com 3b374ead4b Compile and simulate first dart function on arm generated from ast.
Review URL: https://codereview.chromium.org//12335102

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19152 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 17:13:51 +00:00
whesse@google.com a3bf390d80 dart:io | Change a remaining use of File.name to File.path, in samples.
BUG=

Review URL: https://codereview.chromium.org//12319148

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19150 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 16:15:18 +00:00
sgjesse@google.com a1ffe8a451 Make File.readSync return only the bytes read
R=ager@google.com
BUG=https://code.google.com/p/dart/issues/detail?id=8831
TEST=tests/standalone/io/file_test.dart

Review URL: https://codereview.chromium.org//12315129

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19145 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 15:33:08 +00:00
whesse@google.com 6ef35edef1 dart:io | Rename File.name to File.path.
BUG=dartbug.com/8790

Review URL: https://codereview.chromium.org//12314153

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19144 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 15:26:11 +00:00
johnmccutchan@google.com 6c4afdd546 Force WriteByte to be inlined
Review URL: https://codereview.chromium.org//12340086

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19143 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 15:21:12 +00:00
sgjesse@google.com 19f78eb9cd Increase timeout jitter
Test have been failing on Windows a couple of times, e.g
http://build.chromium.org/p/client.dart/builders/vm-win32-release/builds/12880/steps/tests/logs/stdio

R=asiva@google.com

BUG=

Review URL: https://codereview.chromium.org//12330139

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19127 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 12:51:21 +00:00
ajohnsen@google.com f5ade02146 Make sure the socket unsubscribes on error, so we don't get race conditions between an error and an immidiately following close event.
This makes sure we always see the expected errors.

BUG=

Review URL: https://codereview.chromium.org//12314148

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19117 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 09:27:01 +00:00
lrn@google.com 6b4f4b1bab Change new List(n) to return fixed length list.
Deprecate List.fixedLength, add List.filled.

Make Iterable.toList and List.from take "growable" argument,
defaulting to false.

Review URL: https://codereview.chromium.org//12328104

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19112 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 08:45:04 +00:00
ajohnsen@google.com 7912f3f1bd Rewrite the Future-pipeline from the Socket to the HttpClientRequest/HttpResponse.
Before we had two future, HttpClientRequest/HttpResponse.done and
Socket.addStream's return valud(stored as _writeDoneFuture in
    http_impl). Many issues in our code was based on the futures not
being the same, that the user will get a done event, while the socket is
still writing data on the socket.

Immidiate calls to HttpServer/HttpClient.close, after e.g. pipe, would
then destroy the socket while still having data in dart buffers.

The new approach makes sure that there is a direct future link between
the socket and the user.

BUG=

Review URL: https://codereview.chromium.org//12328114

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19111 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 08:27:12 +00:00
asiva@google.com 154d51dbb7 Quick fix for racy shutdown issues in VmStats.
(We need a VmStats::InitOnce to set things up).
Review URL: https://codereview.chromium.org//12316148

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19106 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 02:25:32 +00:00
tball@google.com 9cf8937ec8 Don't execute VmStats::Stop() unless port is specified.
Review URL: https://codereview.chromium.org//12310158

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19105 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 01:09:36 +00:00
zra@google.com 0ce264e8fc Implements shifted offset register addressing mode for arm.
Review URL: https://codereview.chromium.org//12321149

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19102 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 00:35:57 +00:00