hausner@google.com
22054b3119
Make yield* throw an error if not yielding an Iterable
...
Fixes issue 22323
R=gbracha@google.com
Review URL: https://codereview.chromium.org//910923002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43616 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-09 21:47:12 +00:00
regis@google.com
8e5cd57b7e
Add modPow(int exponent, int modulus) method to int abstract class.
...
Provide a dart2js implementation.
R=floitsch@google.com , lrn@google.com
Review URL: https://codereview.chromium.org//896393004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43572 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-06 21:46:32 +00:00
hausner@google.com
2487c76886
Add support for sync* and yield and yield*
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//888463004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43516 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-05 18:36:40 +00:00
regis@google.com
a5ee233d1b
Make Bigint instances immutable by removing all setters.
...
This required rewriting a large portion of bigint.dart.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//842033005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43492 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 23:56:23 +00:00
zra@google.com
1299ad1485
Allows turning on checked mode on a per-isolate basis
...
using the embedding API.
R=regis@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//883263004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43481 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 18:32:48 +00:00
zerny@google.com
e449cd0329
Propagate the stack trace of the inner-most throw when using async/await.
...
This patch does not provide a full async stack trace, it only ensures
that the inner-most stack frame will be the point of the initial throw.
BUG=http://dartbug.com/22009
R=iposva@google.com
Review URL: https://codereview.chromium.org//893193004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43463 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 11:54:23 +00:00
fschneider@google.com
25f95654d9
Remove last uses of IterableMixinWorkaround from VM's typed data implementation.
...
The remaining methods that used it are duplicated. This results
in better (specialized) code for typed data lists because type
feedback does not get mixed. It also avoids the additional
indirection of calling a static method on IterableMixinWorkaround.
BUG=dartbug.com/13647
Review URL: https://codereview.chromium.org//883693004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43379 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 08:27:36 +00:00
lrn@google.com
62adbb7ab0
Let Uint16List.setRange detect a String.codeUnits object, and copy directly from the string.
...
R=vegorov@google.com
Review URL: https://codereview.chromium.org//856053002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43327 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-30 09:46:04 +00:00
johnmccutchan@google.com
172baa03ff
Service isolate rework take 2
...
Review URL: https://codereview.chromium.org//889443002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43306 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 18:31:27 +00:00
lrn@google.com
ab51ccc9f0
Create string efficiently from Uint16List/View.
...
R=asiva@google.com , fschneider@google.com
Review URL: https://codereview.chromium.org//864463002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43235 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 12:44:44 +00:00
iposva@google.com
ad008bf8ba
- Move timer implementation closer to the rest of message handling.
...
R=zra@google.com
Review URL: https://codereview.chromium.org//878323002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43225 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 00:39:35 +00:00
johnmccutchan@google.com
db271b0477
Revert r43217, r43215, r43208, r43207, and r43202.
...
Reverting because of some isolate spawn issues (on Windows, and pub bots).
Review URL: https://codereview.chromium.org//867113003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43219 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 22:56:18 +00:00
johnmccutchan@google.com
66aa470fc6
* Create vm-service isolate at Dart_Initialize time.
...
* Remove Service create callback.
* Simplify creation of service isolate.
* Creation is done on thread pool.
* Use vm-service isolate for loading in standalone embedder.
* Remove import of dart:io from builtin library.
performance changes:
no service isolate:
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:27 | 100% | +12363 | - 0]
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:27 | 100% | +12363 | - 0]
always start service isolate (as a thread pool task):
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:45 | 100% | +12363 | - 0]
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:44 | 100% | +12363 | - 0]
service does I/O (calls to Dart_LoadScript block until service is running):
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:55 | 100% | +12363 | - 0]
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:55 | 100% | +12363 | - 0]
R=asiva@google.com
Review URL: https://codereview.chromium.org//584023004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43202 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 19:45:48 +00:00
srdjan@google.com
0b094880cc
Improve performance of addAll for internallt known lists.
...
Review URL: https://codereview.chromium.org//873863002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43154 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-26 21:50:40 +00:00
rmacnak@google.com
db79e9cca6
Rename is_visible to is_reflectable; use is_debuggable instead of is_reflectable to decide whether to filter a frame from stack traces.
...
Merge verbose_stacktrace flag into show_hidden_frames.
Don't mark native functions as non-debuggable (breakpoints don't actually work there now but nothing goes wrong).
BUG=
Review URL: https://codereview.chromium.org//868453002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43121 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-23 21:16:40 +00:00
lrn@google.com
ab2d914ae3
Avoid extra duplication of substrings during string.replaceAll.
...
R=asiva@google.com , zerny@google.com
Review URL: https://codereview.chromium.org//858543002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43059 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-22 08:27:42 +00:00
rmacnak@google.com
2fb0bb020b
Reapply "Mark all private functions in dart: libraries as invisible (*sniff*). Previously these functions were only marked invisible if they were also native, a constructor, or on a black list."
...
Broken assumption in Dartium fixed in blink r188698.
R=hausner@google.com
Review URL: https://codereview.chromium.org//862093003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43053 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-21 20:44:04 +00:00
vegorov@google.com
e31313efea
Refactor _ByteDataView.[set|get]<Type> methods to improve their performance.
...
- don't manually truncate values before passing them to TypedData._[set|get]<Type> - these methods already have truncating semantics;
- don't call into runtime for endianess conversion, implement it in pure Dart instead (with an intent to provide optimized version on platforms that support fast byte-swapping instructions);
- force inlining of these methods (change the order of checks in the ShouldWeInline to guarantee inlining of whitelisted methods).
Unrelated change:
- tweak output of Function::CheckSourceFingerprint to be immediately copy&paste useful.
R=fschneider@google.com
BUG=http://dartbug.com/22107
Review URL: https://codereview.chromium.org//860963002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43038 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-21 14:21:49 +00:00
iposva@google.com
7b7cbb4017
- Allow implementations to hook into the Utf8Decoder.convert method.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//791323003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43033 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-21 01:29:14 +00:00
rmacnak@google.com
ed88ac7f0c
Revert "Mark all private functions in dart: libraries as invisible (*sniff*). Previously these functions were only marked invisible if they were also native, a constructor, or on a black list."
...
Broke Dartium.
TBR=hausner@google.com
Review URL: https://codereview.chromium.org//863773002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43026 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-20 20:56:59 +00:00
rmacnak@google.com
045bd762d7
Mark all private functions in dart: libraries as invisible (*sniff*). Previously these functions were only marked invisible if they were also native, a constructor, or on a black list.
...
An invisible function is hidden from stack traces, will not be enumerated
by mirrors, and cannot be directly invoked by mirrors. Note that private
classes remain accessible.
Fix a few internal dart:io functions that should be private.
Fix bug where mirrors would enumerate top-level invisible functions.
Mark observatory test that was using such private functions through
mirrors as failing.
BUG=http://dartbug.com/15274
R=hausner@google.com
Review URL: https://codereview.chromium.org//816353012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43019 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-20 18:32:19 +00:00
fschneider@google.com
c99e78af72
Reland and fix r42951: Tweaks in the VM's typed_data implementations.
...
Fixed checked mode failure and correct function fingerprints.
R=zerny@google.com
Review URL: https://codereview.chromium.org//862483002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42980 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-19 09:59:45 +00:00
vegorov@google.com
6c597dadbf
Revert "Tweaks in the VM's typed_data implementations."
...
This reverts commit r42951.
Reason: checked mode breakage.
TBR=fschneider@google.com
BUG=
Review URL: https://codereview.chromium.org//812733003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42952 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-16 12:14:47 +00:00
fschneider@google.com
1f5208e648
Tweaks in the VM's typed_data implementations.
...
Moving the throw of RangeError out of the _throwRangeError helper
may benefit LICM, since that block is now considered a method exit (and
not part of a enclosing loop).
_throwRangeError was not inlined because the call site was considered
cold by invocation counters (most programs don't throw RangeError).
Also, I renamed some misleading names in the optimizer.
R=zerny@google.com
Review URL: https://codereview.chromium.org//851273002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42951 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-16 11:30:49 +00:00
lrn@google.com
de2b7c40d4
Optimize creation of ASCII strings in UTF-8 JSON parser.
...
Recognize that the string is ASCII only during scanning, and just use
String.fromCharCodes directly, instead of interpreting as UTF-8 first.
R=kustermann@google.com
Review URL: https://codereview.chromium.org//853613003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42857 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-14 10:22:53 +00:00
regis@google.com
a1c9e2b6b0
Simplify double to bigint conversion.
...
Remove 3 bigint mutators.
Remove unused support to create vm internal error.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//821123003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42842 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-13 21:29:44 +00:00
regis@google.com
8a96f1947c
Revert modPow introduction since dart2js does not like it.
...
Review URL: https://codereview.chromium.org//851763002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42827 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-13 17:47:11 +00:00
regis@google.com
485be555bf
Add modPow(int exponent, int modulus) method to int abstract class.
...
R=lrn@google.com
Review URL: https://codereview.chromium.org//834323002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42823 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-13 17:13:59 +00:00
asiva@google.com
ca1c3241c4
Fix for issue 21398.
...
Accept only 'literal-like' objects when sending messages to isolates
spawned using spawnURI. Allow all objects for isolates spawned using
spawnFunction.
R=iposva@google.com
Review URL: https://codereview.chromium.org//834233003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42793 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-12 23:14:30 +00:00
regis@google.com
03fa3d1ff4
Mark mutator methods of canonical constants as invisible to reflective access.
...
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//810593008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42747 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-09 18:03:31 +00:00
iposva@google.com
2104fd6165
Fix http://dartbug.com/21834
...
- Ensure that microtasks fire after every timer event, instead
of being bunched together once all pending timers fired.
- Do not wait for timer message to be delivered. Trigger timers
as soon as they are ready from within the message handling
loop.
- Notify timers in the order of wakeup time regardless of
specified timeout value. (AKA Do not allow Timer.run to
overtake new Timer() scheduled operations.)
R=zra@google.com
Review URL: https://codereview.chromium.org//825403003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42673 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-07 22:21:59 +00:00
lrn@google.com
cc0151bf2e
Optimize DateTime constructor slightly.
...
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//830143003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42656 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-07 13:09:47 +00:00
lrn@google.com
3f1780f70d
Change List/Set/Map/Queue.from constructrs to accept any iterable.
...
This allows using the .from constructor as a cast:
new Set<int>.from(numSetContainingOnlyInts);
BUG= http://dartbug.com/21731
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//838463002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42620 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-06 10:14:56 +00:00
regis@google.com
cc843c2189
Process two 32-bit digits as one 64-bit digit in all bigint intrinsics on x64.
...
R=zra@google.com
Review URL: https://codereview.chromium.org//786933009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42607 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-05 19:44:02 +00:00
iposva@google.com
fd69128004
- Allow an isolate to be started in paused state.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//822803003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42576 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-30 23:52:37 +00:00
regis@google.com
4dc4caa34d
Modify Bigint _mulAdd, _sqrAdd, _estQuotientDigit, and Montgomery _mulMod
...
methods to return the number of digits processed, so that their intrinsified
versions on 64-bit platforms can process digit pairs.
R=zra@google.com
Review URL: https://codereview.chromium.org//811763004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42568 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-29 18:40:44 +00:00
lrn@google.com
cf724d70a9
Add Isolate.current getter, returning the current isolate as an Isolate object.
...
R=floitsch@google.com
Review URL: https://codereview.chromium.org//771993003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42499 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-19 07:04:29 +00:00
iposva@google.com
577242dbd4
- Implement Isolate.kill.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//800713002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42355 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-13 00:39:16 +00:00
zerny@google.com
0a80eaec06
Revert "Revert "Revert "Disable the irregexp backend."""
...
This enables the irregexp backend by reverting commit
http://code.google.com/p/dart/source/detail?r=42246
R=fschneider@google.com
BUG=
Review URL: https://codereview.chromium.org//800453003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42312 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-12 09:02:24 +00:00
zerny@google.com
0bfa80b5a5
Revert "Revert "Disable the irregexp backend.""
...
This reverts commit http://code.google.com/p/dart/source/detail?r=42240
Reason for revert: failures and timeouts on Dartium bots.
TBR=fschneider@google.com
BUG=
Review URL: https://codereview.chromium.org//792853002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42246 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-10 15:38:10 +00:00
zerny@google.com
d1f5aacd77
Revert "Disable the irregexp backend."
...
This reverts commit http://code.google.com/p/dart/source/detail?r=41999
R=fschneider@google.com
BUG=
Review URL: https://codereview.chromium.org//774933009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42240 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-10 09:56:53 +00:00
turnidge@google.com
92211b622a
Minor optimization in _GrowableList.removeAt.
...
BUG=
R=srdjan@google.com
Review URL: https://codereview.chromium.org//790873002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42214 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-09 19:11:41 +00:00
iposva@google.com
602aad28a1
- Implement Isolate.ping.
...
- Allow isolate library messages to be enqueued at the beginning
of the message queue.
R=asiva@google.com
Review URL: https://codereview.chromium.org//749373002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42193 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-08 22:45:10 +00:00
hausner@google.com
392db8d312
Implement correct semantics of Boolean Conversion
...
When converting null to a boolean value, throw an AssertionError
rather than a TypeError.
This is the same change as r42145, with added co19 status updates.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//779253003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42170 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-08 18:51:48 +00:00
hausner@google.com
4cfdf02012
Revert r42145 to fix co19 tests
...
Review URL: https://codereview.chromium.org//772513003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42148 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-05 21:05:38 +00:00
hausner@google.com
ad837a0d9f
Implement correct semantics of Boolean Conversion
...
When converting null to a boolean value, throw an AssertionError
rather than a TypeError.
Fixes issue 21279.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//778063002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42145 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-05 20:36:37 +00:00
regis@google.com
1757888022
Implement mint unboxing on MIPS.
...
R=zra@google.com
Review URL: https://codereview.chromium.org//777943003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42138 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-05 18:27:37 +00:00
iposva@google.com
320ffa23a1
- Implement hashCode and == for Capability.
...
R=lrn@google.com
Review URL: https://codereview.chromium.org//778983002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42102 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-04 12:17:48 +00:00
rmacnak@google.com
dd3c1fa32e
Remove several entries from invocation fuzzer blacklist.
...
Add event loop, isolate startup, and symbol helper functions to the invisible list.
Include doubles as a target.
BUG=http://dartbug.com/15274
BUG=http://dartbug.com/20583
BUG=http://dartbug.com/21707
R=regis@google.com
Review URL: https://codereview.chromium.org//775223002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42092 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-03 22:08:32 +00:00
fschneider@google.com
6fc87187a6
Fix implementation of the Iterable interface for typed data lists.
...
Return an Iterable with the correct type arguments (instead of <dynamic>)
when calling Iterable methods.
R=lrn@google.com
Review URL: https://codereview.chromium.org//763443005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42066 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-02 13:25:36 +00:00