Commit Graph

13143 Commits

Author SHA1 Message Date
cshapiro@google.com 32f55ce37b Implement weak persistent handles in the Dart API.
Review URL: http://codereview.chromium.org//8984006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2607 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-20 01:44:53 +00:00
iposva@google.com 0d25bce528 - Trigger old-gen GCs when needed.
- Sweep large pages.
- Handle free list elements when calculating sizes.
Review URL: http://codereview.chromium.org//8996011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2593 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-19 19:29:10 +00:00
regis@google.com a577991ad5 Port code generator to x64.
Review URL: http://codereview.chromium.org//8984003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2557 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-17 00:56:02 +00:00
iposva@google.com 169dcfb5ff - Honor max_capacity even for large page allocation.
Review URL: http://codereview.chromium.org//8962006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2555 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-16 23:40:41 +00:00
iposva@google.com 2794252c9d - Apply review feedback.
Review URL: http://codereview.chromium.org//8976013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2553 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-16 23:28:31 +00:00
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
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
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
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
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
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
cshapiro@google.com f978301321 Add macros for specifying 64-bit integer literals.
Review URL: http://codereview.chromium.org//8604007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2150 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-06 23:08:29 +00:00
turnidge@google.com 36a830115b Use a preallocated StackOverflowException rather than allocating one
while our stack is hurting.  This allows us to get rid of the stack
tweaking which we do in this case.
Review URL: http://codereview.chromium.org//8823001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2149 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-06 23:01:46 +00:00
srdjan@google.com f98993384f Canonicalize TypeArguments.
Review URL: http://codereview.chromium.org//8773026

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2133 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-06 17:47:47 +00:00
asiva@google.com 7ddd0f0b89 First step towards generation of application script snapshots
- Introduce 3 kinds of snapshots (full, application script and messages)
- Added a dart API function to be used for generating an application snapshot
  and for loading the script from an application snapshot.

Next step is to introduce special handling in the WriteTo and ReadFrom
snapshot functions for 'kind == Snapshot::kScript'
Review URL: http://codereview.chromium.org//8772061

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2105 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-06 00:34:49 +00:00
hausner@google.com 164ee66e38 More fixing linux.
Review URL: http://codereview.chromium.org//8806022

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2093 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-05 21:44:11 +00:00
hausner@google.com f296131d32 Fix linux build
Mac doesn't care when you compare signed and unsigned values it seems...
Review URL: http://codereview.chromium.org//8803025

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2091 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-05 21:40:44 +00:00
hausner@google.com b122f27eac Debugger step 2
Add ActivationFrame and StackTrace classes.
Add Breakpoint info: url and line number.
Fix breakpoint stub so breakpoints don't get patched over by PatchStaticCall
Review URL: http://codereview.chromium.org//8775060

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2089 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-05 21:11:39 +00:00