rmacnak@google.com
369c119539
Remove dead ClassMirror._methods. Remove FunctionTypeMirror.members|constructors that should have been removed along with ClassMirror.members|constructors.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//1070563007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44986 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 22:17:23 +00:00
hausner@google.com
aa75044ff7
Fix spurious resume when awaiting future in async* code
...
Fixes issue reported in bug 23116.
The equivalent fix for dart2js contains a test case for this.
R=iposva@google.com
Review URL: https://codereview.chromium.org//1073623002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44985 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 22:09:20 +00:00
rmacnak@google.com
b3f4ce9bd8
Deal with type arguments of generic local functions in VM mirrors.
...
BUG=http://dartbug.com/14913
R=regis@google.com
Review URL: https://codereview.chromium.org//1072443005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44983 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 21:40:51 +00:00
regis@google.com
face2b5503
Cache the intermediate result of a div (or rem) operation on bigint and reuse if
...
followed by rem (or div) with identical dividend and divisor.
Review URL: https://codereview.chromium.org//1057053002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44925 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 19:51:38 +00:00
turnidge@google.com
fb591fc36a
Continue improving the documentation for the vm service protocol.
...
Clean up the protocol a bit as I go.
---
Addendum:
Clean up inconsistencies between field and function ownership in the protocol.
Change the names of implicit closure functions (!)
Review URL: https://codereview.chromium.org//1057333004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44923 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 19:24:47 +00:00
zra@google.com
f6028da01d
Fixes bug in typed data read/write for floats and doubles.
...
When reading from a byte array as floats or doubles, perform the
endianness correction before converting to a float or double
rather than the other way around. This is to avoid floating
point canonicalization changing the bytes before we put them
in the right order.
Unrelatedly, this change also adds armv5te as an architecture
needing extra time for tests to correct an oversight in my
last CL.
R=iposva@google.com
Review URL: https://codereview.chromium.org//1059493002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44871 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-02 20:22:39 +00:00
regis@google.com
b5ec6bb9b6
Move zero-ing code out of shift intrinsic (not needed if destination is new).
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1058523003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44849 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 22:37:47 +00:00
koda@google.com
f4419287aa
Prepares for multiple threads by further decoupling Thread from Isolate.
...
- Replace Isolate::SetCurrent with more explicit Thread::Enter/ExitIsolate.
- Lazily initialize Thread instances when entering an isolate, to avoid new API calls for embedders.
R=asiva@google.com
Review URL: https://codereview.chromium.org//1041523002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44835 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 17:48:11 +00:00
regis@google.com
80410ae6d7
Implement bigint shift intrinsics on x64.
...
Add assembler support and tests for shld and shrd instructions on x64.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1049933002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44834 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 17:35:52 +00:00
regis@google.com
67623a6028
Refactor bigint shifting code in preparation of shifting intrinsics.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1044503002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44764 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-27 22:41:57 +00:00
regis@google.com
306c3d8ded
Various cleanup in bigint implementation:
...
- reduce number of digit array allocations in divRem.
- shortcut reduce step in Classic reduction when possible.
- do not throw out of memory when value shifted left is zero.
- refactor code for future shifting operation intrinsics.
- and more...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1038253002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44750 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-27 18:21:19 +00:00
rmacnak@google.com
91a7300cb9
Mark the functions of closures generated to speed up getField/setField as invisible, just like other dispatchers.
...
BUG=http://dartbug.com/23006
R=asiva@google.com
Review URL: https://codereview.chromium.org//1036393002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44748 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-27 18:09:49 +00:00
hausner@google.com
8c49660a7e
Make await for cancel the stream when breaking out of the loop
...
Wrap the await-for loop in a try-finally statement that ensures that
the stream is cancelled. Also adding the ability to the
AsyncStartStreamController class to return a cancellation future.
The cancel() call at the end of the await-for loop is not awaiting
the cancellation future yet. This is not part of the spec at this
point.
R=regis@google.com
Review URL: https://codereview.chromium.org//1014273003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44689 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-25 17:41:39 +00:00
rmacnak@google.com
60fd23bffc
Treat functions generated for closurization as equivalent to their source functions.
...
BUG=http://dartbug.com/22601
R=asiva@google.com , gbracha@google.com
Review URL: https://codereview.chromium.org//973913002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44674 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-24 20:06:40 +00:00
kustermann@google.com
8ce0175e1c
Avoid infinite growth of linked hash map implementation
...
R=iposva@google.com , koda@google.com
Review URL: https://codereview.chromium.org//1005083004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44671 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-24 16:32:33 +00:00
koda@google.com
e3a345a84b
Rename NoGCScope -> NoSafepointScope.
...
The old name makes less sense in the context of concurrent GC (and multiple threads in general).
Document the intended semantics of this (DEBUG-only) guard scope.
R=asiva@google.com
Review URL: https://codereview.chromium.org//1016503005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44616 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-20 22:08:25 +00:00
koda@google.com
92a8c39d3c
Keep zone cached in SnapshotReader to allow removing ZoneHandle(Isolate*) interface.
...
Add a StackZone around API snapshot reading call.
Also remove CheckedHandle(Isolate*) interface by migrating its users to Zone*.
R=asiva@google.com
Review URL: https://codereview.chromium.org//1012333002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44580 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-19 17:42:40 +00:00
koda@google.com
9c181ec6d5
Thread/Isolate refactoring: new(Isolate*) -> new(Zone*)
...
Refactor all remaning cases where the current zone is used through new(Isolate*) and remove this interface.
Removing this interface is needed to move towards multiple threads per isolate, and also makes the caller more aware of the scope of the zone used, reducing the risk of use-after-free.
Make the current thread and the stack zone created around native/runtime entries directly available in their body, saving an indirection (and optimized away if unused).
R=iposva@google.com
Review URL: https://codereview.chromium.org//982873004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44541 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-17 19:24:26 +00:00
lrn@google.com
bddb668174
Add some async/await tests.
...
R=sgjesse@google.com , sigurdm@google.com
Committed: https://code.google.com/p/dart/source/detail?r=44368
Review URL: https://codereview.chromium.org//968963002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44395 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-11 10:15:59 +00:00
lrn@google.com
c54856f8be
Revert "Add some async/await tests."
...
Some tests are failing on the bots.
Review URL: https://codereview.chromium.org//995803002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44369 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-10 13:41:34 +00:00
lrn@google.com
fc0f0c144a
Add some async/await tests.
...
R=sgjesse@google.com , sigurdm@google.com
Review URL: https://codereview.chromium.org//968963002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44368 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-10 12:56:38 +00:00
iposva@google.com
91e105d8c6
- Implement some more missing pieces of the Isolate API.
...
Added:
* addOnExitListener, removeOnExitListener
* setErrorsFatal
* addOnErrorListener, removeOnErrorListener
R=asiva@google.com
Review URL: https://codereview.chromium.org//881373002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44307 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-07 01:04:19 +00:00
koda@google.com
784c1e4f88
Replace Linked{Identity,Custom}Hash{Map,Set} with compact implementation; remove old code and flag.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//983703003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44294 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-06 15:13:01 +00:00
koda@google.com
d73d6de73d
Support enum keys in maps in messages.
...
Make enum classes implement hashCode, rather than use the identity hash code, so that they can be portably serialized.
BUG=dart:21675
R=asiva@google.com , lrn@google.com
Review URL: https://codereview.chromium.org//752123003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44278 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-06 02:57:34 +00:00
iposva@google.com
4b1ba9eb69
- Make sure we schedule another wakeup when handling a timeout
...
from the event handler.
Review URL: https://codereview.chromium.org//971193002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44191 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-03 19:14:30 +00:00
hausner@google.com
9a6ed9a718
Implement async* functions in VM
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//944893005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44185 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-03 17:49:53 +00:00
koda@google.com
6add62d1b0
Correct typing of LinkedHashSet.add. Add unit test.
...
BUG=dart:22605
R=skybrian@google.com
Review URL: https://codereview.chromium.org//971833002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44155 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-03 00:44:31 +00:00
iposva@google.com
b4088d10c9
Adjust handling of timers:
...
- Every zero timer is enqueued individually in the event queue
and handled in sequence with other events.
- Non-zero timers and zero timers expire in order. Therefor a
due zero timer will also fire all preceding non-zero timers
to ensure this order.
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//958123002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44095 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-27 16:45:23 +00:00
rmacnak@google.com
8b6a6a1e4f
Add ClassMirror.isEnum.
...
BUG=http://dartbug.com/21718
R=asiva@google.com , gbracha@google.com
Review URL: https://codereview.chromium.org//938513002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44035 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-26 01:13:50 +00:00
lrn@google.com
f0a07f1eb0
Cleanup URI and use String.replaceRange.
...
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//957743002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44023 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-25 14:27:10 +00:00
lrn@google.com
20653fc1fb
Add String.replaceRange and use it in replaceFirst{,Mapped}.
...
R=floitsch@google.com
Review URL: https://codereview.chromium.org//949753005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44022 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-25 12:17:27 +00:00
iposva@google.com
ebabd58de8
- Add a _fatal helper function into dart:core, so that we can
...
abort if we get into an unrecoverable state in the core library.
R=hausner@google.com
Review URL: https://codereview.chromium.org//953973003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44010 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-24 23:27:56 +00:00
lrn@google.com
0b1bb96146
Change _interpolateSingle to use the same value in errors as _interpolate.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//920793002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43942 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-23 08:09:50 +00:00
koda@google.com
574028165f
Ensure hash pattern is non-zero. Re-enable compact hash map/set.
...
BUG=dart:22520
TBR=vegorov@google.com
Review URL: https://codereview.chromium.org//946893002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43940 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-22 03:04:35 +00:00
koda@google.com
018ec1cb83
Temporarily disable compact hash map/set to see whether it fixes Dart2JS flaky faliures.
...
R=floitsch@google.com
Review URL: https://codereview.chromium.org//942003004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43921 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-20 17:27:06 +00:00
koda@google.com
c6e3dd73c2
Default to compact Map/Set implementation.
...
Also adjust unit tests accoringly to maintain coverage, and remove some redundant ones.
R=iposva@google.com
Review URL: https://codereview.chromium.org//936613007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43894 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-19 21:28:56 +00:00
iposva@google.com
db9faebe98
- Simplify collection of stack traces. If we determine that a stack
...
trace is needed we collect the full stack trace instead of piecing
it together as we walk up the stack.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//939773003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43863 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-19 02:18:53 +00:00
koda@google.com
1d7ca12fdc
Compact LinkedHashMap/Set implementation.
...
Add GC-friendly replacement for default Map/Set:
* open-addressing hash table, avoiding the overhead of chained entries
* index separate from the keys/values, allowing more of it to fit in the cache
* new keys are always appended, to allow insertion-order iteration
* spare bits in index entries are used to store hashes
* index is typed data, so can be ignored by GC
Enable it with --use_compact_hash (disabled by default).
Reduces Dart2JS compilation time for huge codebase (N=200) by ~30%, due to reduced time in GC. Slightly slower for small maps and maps with deletions: json benchmarks regress by ~5%.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//915323002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43840 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-18 13:58:32 +00:00
rmacnak@google.com
4abf50c04d
Add LibraryDependencyMirror.isDeferred.
...
R=asiva@google.com , gbracha@google.com
Review URL: https://codereview.chromium.org//921163004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43829 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-17 23:49:40 +00:00
regis@google.com
6a7be914e3
Add modPow tests.
...
Fix selection of modular reduction algorithm for modPow.
Remove bad assert and fix digits array length in classic modular reduction.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//918403002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43817 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-17 19:32:32 +00:00
iposva@google.com
b31372883b
- Use new name for source file.
...
Review URL: https://codereview.chromium.org//930153002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43804 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-17 00:10:31 +00:00
iposva@google.com
9846e42886
- Leave abstract class StackTrace be an abstract class and
...
implement its interface from within the VM instead of patching.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//929883005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43803 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-16 23:49:05 +00:00
iposva@google.com
98e0500c87
- Remove obsolete stack trace functions.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//933623003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43802 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-16 22:53:19 +00:00
rmacnak@google.com
511c997316
Implement DeclarationMirror.location for all but ParameterMirrors.
...
- Mark NativeFieldWrapper classes as synthetic.
- Mark ClassID fields as synthetic.
BUG=http://dartbug.com/22378
R=gbracha@google.com , hausner@google.com
Review URL: https://codereview.chromium.org//922023002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43784 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-13 23:32:20 +00:00
lrn@google.com
a4dc421974
Fix last-minute-typo.
...
Review URL: https://codereview.chromium.org//921713002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43721 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 10:37:40 +00:00
lrn@google.com
688d50f1c9
Add String.replaceFirstMapped.
...
Also refactory VM implementation of checking if a string is one-byte,
and adds dart2js implementation of replaceFirst for non-string/regexp pattern.
BUG= http://dartbug.com/2979
R=floitsch@google.com , iposva@google.com
Committed: https://code.google.com/p/dart/source/detail?r=43716
Review URL: https://codereview.chromium.org//920453002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43718 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 09:16:57 +00:00
lrn@google.com
7c9248c642
Revert "Add String.replaceFirstMapped."
...
Changes to interpolation should be separate CL.
Review URL: https://codereview.chromium.org//917663004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43717 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 09:12:06 +00:00
lrn@google.com
6b9ff4c4d4
Add String.replaceFirstMapped.
...
Also refactory VM implementation of checking if a string is one-byte,
and adds dart2js implementation of replaceFirst for non-string/regexp pattern.
BUG= http://dartbug.com/2979
R=floitsch@google.com , iposva@google.com
Review URL: https://codereview.chromium.org//920453002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43716 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 09:04:09 +00:00
regis@google.com
163f1c2244
Improve _toInt64() and _toUint64() conversions in TypedData.
...
Add missing conversions of exponent and modulus in Bigint.modPow().
Fix typos in Bigint Classic reduction (modPow tests coming in later cl).
Address a few more TODOs.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//916153002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43697 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-11 20:57:33 +00:00
rmacnak@google.com
4de5f89b99
Rename IsConstructor to IsGenerativeConstructor.
...
This matches the terminology in the spec, and it avoids confusion with the function kind kConstructor, which indicates either a generative constructor or a factory constructor.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//910313002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43673 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-11 00:59:19 +00:00