srdjan@google.com
d525130469
More optimizations and cleanups.
...
Review URL: http://codereview.chromium.org//8972005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2548 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-16 23:16:00 +00:00
hausner@google.com
59e6694944
One small step towards sanity
...
Make 'class' a proper keyword, and 'extends' too. Adjusting the VM compiler to the language spec.
Review URL: http://codereview.chromium.org//8968021
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2533 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-16 19:11:39 +00:00
turnidge@google.com
f2279476d9
Fix initializer order (build break on some platforms).
...
Review URL: http://codereview.chromium.org//8963026
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2531 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-16 18:48:53 +00:00
turnidge@google.com
0b833d4977
Add support for interrupting an isolate in the vm. Interrupts are
...
implemented by extending the existing support for stack overflow
checking in the vm. When an interrupt is scheduled for an isolate, we
overwrite the isolate's stack limit with a value guaranteed to cause a
stack overflow.
We support multiple kinds of interrupts, encoded in the low bits of
the stack limit.
Add Dart_InterruptIsolate and Dart_InterruptIsolateCallback to the
dart embedding api to allow the embedder to request and handle
interrupts.
Add EXPECT_SUBSTRING(needle, haystack) testing macro.
Review URL: http://codereview.chromium.org//8851008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2529 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-16 18:41:20 +00:00
iposva@google.com
1329070b37
Fix bug 846:
...
- Only execute timers which were pending prior to the wakeup to
avoid busy looping.
- Prevent double notification for timers.
Review URL: http://codereview.chromium.org//8973005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2500 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-16 01:25:47 +00:00
asiva@google.com
77dba39e63
Add Double::NewCanonical and Mint::NewCanonical so that it is possible to
...
canonicalize double and mint constants without having to create an object first.
Review URL: http://codereview.chromium.org//8963001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2496 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-16 00:31:33 +00:00
srdjan@google.com
bdb48aefb4
Use deopt on some instructions that have not collected type feedback when optimizing compierl kicks in. Optimize SAR.
...
Review URL: http://codereview.chromium.org//8972002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2487 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-15 22:39:21 +00:00
iposva@google.com
5e1e9534db
- Implement the old sweeper.
...
Review URL: http://codereview.chromium.org//8898034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2485 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-15 22:37:35 +00:00
srdjan@google.com
a3f519eacc
Optimize instance setters for non-implicit-setters and for setters with multiple targets.
...
Review URL: http://codereview.chromium.org//8945002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2451 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-15 00:46:27 +00:00
turnidge@google.com
3b9026f21d
If an unhandled exception occurs in Dart_RunLoop, pass it out to the caller.
...
Review URL: http://codereview.chromium.org//8918028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2438 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-14 18:27:58 +00:00
asiva@google.com
79857c7d20
Changes to set up the object tag bits
...
- sets up canonical
- sets up created from a snapshot
Added code to capture the tag bits during snapshot generation.
Review URL: http://codereview.chromium.org//8879063
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2436 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-14 18:09:18 +00:00
sgjesse@google.com
5b74b0065a
Update comments for streams
...
R=whesse@google.com , ager@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8916003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2426 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-14 13:41:35 +00:00
sgjesse@google.com
9f92d783ef
Change temp dir generation on Windows to use UUIDs instead of random numbers
...
This avoids having to generate random numbers for all platforms as
only Windows was using them. Also when the andom number generator is
deterministic the Windows implementation using random numbers could
end up running out of temporary files.
R=whesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8879058
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2417 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-14 07:25:09 +00:00
srdjan@google.com
e48749760e
Fix truncate divide bug (reported by sra) when dividing MIN_SMI by -1.
...
Review URL: http://codereview.chromium.org//8931016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2409 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-14 01:18:12 +00:00
regis@google.com
4e76761dd5
Rename type parameter to comply with upcoming corelib changes.
...
Update error message in class finalizer.
Review URL: http://codereview.chromium.org//8933014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2398 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-13 21:19:36 +00:00
srdjan@google.com
76f7132369
Optimize truncated divide (intrinsics and inline).
...
Review URL: http://codereview.chromium.org//8934010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2397 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-13 21:09:13 +00:00
regis@google.com
5db4de9756
Implement revised factories in the VM.
...
Emit warnings when obsolete syntax is used.
Review URL: http://codereview.chromium.org//8921033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2394 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-13 19:35:07 +00:00
sgjesse@google.com
f2bda92a66
Add support for getting OS error information for creating temporary directories
...
R=whesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8934004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2385 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-13 14:22:50 +00:00
srdjan@google.com
f1198ffe5e
Added type propagation from store to load locals, but only within a sequence node (not across basic block).
...
Review URL: http://codereview.chromium.org//8919025
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2365 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-13 01:11:28 +00:00
srdjan@google.com
46748dc6b1
Allocate double temporaries in old space, because they belong there. Canonicalize more double literals.
...
Review URL: http://codereview.chromium.org//8921012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2351 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-12 18:59:20 +00:00
srdjan@google.com
7b61cef42b
Implement two-arguments-check inline cache. Use it first for Smi binary operations.
...
Review URL: http://codereview.chromium.org//8827015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2345 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-12 17:24:47 +00:00
regis@google.com
e100995e6a
Port jump and call instruction decoding and patching for x64 (2nd try).
...
Review URL: http://codereview.chromium.org//8898014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2331 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-10 00:38:09 +00:00
regis@google.com
58b01b042c
Fix build breakage (partially revert r2327).
...
Review URL: http://codereview.chromium.org//8895015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2330 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-09 23:54:13 +00:00
regis@google.com
9aa346b921
Port jump and call instruction decoding and patching for x64.
...
Review URL: http://codereview.chromium.org//8896017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2327 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-09 22:46:44 +00:00
regis@google.com
809cd5590a
Helper ast node sequences must not wrongly grab ownership of the enclosing
...
scope (fix issue 736).
Add test.
Review URL: http://codereview.chromium.org//8893008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2324 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-09 21:32:14 +00:00
hausner@google.com
75918306af
First debugger API unit test
...
Add unit test file, expose more debugger functionality in the API.
Review URL: http://codereview.chromium.org//8872049
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2320 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-09 19:29:37 +00:00
antonm@google.com
eaa1c801b7
Properly account for RawObject size.
...
Recently tags_ field has been added, but visitor hasn't been updated.
Maybe we should provide a helper on RawInstance to access native field
by index and remove code duplication with Instance.NativeFieldAddr.
Review URL: http://codereview.chromium.org//8898002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2319 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-09 18:20:31 +00:00
cshapiro@google.com
aae8784962
Add an interface for retrieving the value of unsigned 64-bit integers.
...
With this change, IntegerValue is renamed to IntegerToInt64 for symmetry
with the new IntegerToUint64 interface. Also uses of UInt64 have been
replaced with Uint64 for naming consistency.
Review URL: http://codereview.chromium.org//8585049
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2317 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-09 17:25:44 +00:00
sgjesse@google.com
8871567117
Don't treat stdin from a terminal differently from piped input
...
Both piped input (when using the "<" to pipe in a file) and terminal
input from stdin can set POLLIN with 0 bytes available without POLLHUP
when end of file is reached.
R=ager@google.com
BUG=dart:782
TEST=none
Review URL: http://codereview.chromium.org//8879053
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2311 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-09 14:11:47 +00:00
sgjesse@google.com
8f1b82458f
Improve the event handling for string input stream
...
1. The string input stream now calls the data or line handler if there
is still data available after returning from the data or line
handler. These callbacks are scheduled on the event loop.
2. The reading of data is now throtteld so that calls to read or
readLine will not eagerly try to read from the wrapped input
stream. After each call to read the data handler is installed if
no more buffered data is available. Also when the data handler
is called the data handler on the wrapped input stream is
un-installed if no more data is required for the current data or
line handler.
One side effect of this change is that just reading from an input
stream obtained from a file is no longer possible. One will have to
set up a data handler callback of some kind before any calls to read
will return data. We can of cause change this to allow synchronous
usage of an input stream obtained from a file (maybe with an optional
argument to openInputStream).
Fixed a related throtteling issue with the chunked input stream.
R=ager@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8885032
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2310 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-09 14:08:47 +00:00
srdjan@google.com
8b6d22348d
Fix crash from issue 744: evaluate left first before deopt happens (strict comparison).
...
Review URL: http://codereview.chromium.org//8873044
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2295 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-09 01:44:10 +00:00
cshapiro@google.com
59541fef4c
Use specialized unwrapping methods for reading Double and Bool values.
...
Review URL: http://codereview.chromium.org//8888031
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2292 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 23:50:40 +00:00
turnidge@google.com
864f65bbc2
Add missing file from last cl.
...
Review URL: http://codereview.chromium.org//8888032
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2291 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 23:38:05 +00:00
turnidge@google.com
c6aadb497d
Teach the assembler how to generate multi-byte nops. Teach the
...
disassembler to understand them. Use multi-byte nops in Align(). Add
tests.
Review URL: http://codereview.chromium.org//8888020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2290 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 23:35:34 +00:00
iposva@google.com
c594af7a5a
- Use "#if defined" when checking for DEBUG.
...
Review URL: http://codereview.chromium.org//8879038
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2287 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 23:08:15 +00:00
regis@google.com
dd32effb72
Adjust index of type parameters at finalization time (fix issue 718).
...
Add test.
Review URL: http://codereview.chromium.org//8872037
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2286 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 23:00:55 +00:00
ager@google.com
64ca753193
Split File into File and RandomAccessFile.
...
Update all users of the API.
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8883017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2272 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 19:37:17 +00:00
ager@google.com
422ab9a7cf
Make the write end of the interrupt pipe in the eventhandler blocking on mac and linux.
...
The messages written are small control messages that we do want to succeed now.
R=sgjesse@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8890009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2246 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 13:44:06 +00:00
sgjesse@google.com
a2b669273a
Only schedule one data callback at the time for chunked input stream
...
R=ager@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8839012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2228 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 08:38:11 +00:00
srdjan@google.com
2d352798b9
Fix for intrinsified Math.sqrt method, added test.
...
Review URL: http://codereview.chromium.org//8866010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2213 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 00:47:52 +00:00
asiva@google.com
566ff2b3cf
Add a tags field to RawObject so that we can tag objects with certain values,
...
e.g:
- object is canonical
- object was created from snapshot
etc.
Once we have class Ids implemented the current class_ and flags_ words can be
compressed into a single header word.
Review URL: http://codereview.chromium.org//8827016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2211 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 00:43:06 +00:00
asiva@google.com
660b5719bf
Add test to expose bug in initialization of objects with native fields in the inline allocation stub. The tests are skipped as another CL fixes the bug.
...
Review URL: http://codereview.chromium.org//8875001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2209 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 00:23:21 +00:00
regis@google.com
0ef32f52f4
Fix handling of unresolved upper bounds in factory declarations (issue 721).
...
Review URL: http://codereview.chromium.org//8862002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2208 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 00:16:55 +00:00
regis@google.com
603c316b46
Fix win32 build.
...
Review URL: http://codereview.chromium.org//8853002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2207 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 00:14:07 +00:00
regis@google.com
ec7f6331d1
Add 64-bit stubs to call into the runtime and to call native functions.
...
Fix 64-bit assembler bugs.
Review URL: http://codereview.chromium.org//8818001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2206 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-08 00:03:08 +00:00
asiva@google.com
d34cbbf00a
Add additional asserts in the snapshot writer/reader code.
...
Review URL: http://codereview.chromium.org//8868001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2202 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-07 22:40:50 +00:00
hausner@google.com
9159389495
First bits of external debugger API
...
The debugger API is in a separate set of files. Embedders do not have
to include the debug api if they don't need to.
Review URL: http://codereview.chromium.org//8826007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2198 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-07 22:13:49 +00:00
sgjesse@google.com
3d8e19a43f
Simulate data and close callbacks on a synchronous file input stream
...
A input stream obtained from File.openInputStream() can now be used
with code that expects data and close callbacks.
Before the input stream obtained from File.openInputStream() did not
generate any callbacks.
R=ager@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8819021
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2166 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-07 08:57:31 +00:00
sgjesse@google.com
837702ee34
Fix running tests with --checked
...
TBR=ager@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8836005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2164 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-07 08:34:17 +00:00
sgjesse@google.com
731e8d91af
Add chunked input stream
...
The chunked input stream can deliver data fron an input stream as
fixed sized blocks of data.
R=ager@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8818009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2163 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-07 08:00:19 +00:00