Ivan Posva
b07a9ddbca
- Implement .packages specification.
...
Limitation: Currently only works for file: based .package files. If a script is loaded from http: then the VM currently assumes a co-located packages/ directory.
R=asiva@google.com
Review URL: https://codereview.chromium.org//1232593003 .
2015-07-29 11:30:33 -07:00
Ryan Macnak
bc90a5e1f0
Fix getField optimization when the selector is an operator.
...
BUG=http://dartbug.com/23880
R=asiva@google.com
Review URL: https://codereview.chromium.org//1247733005 .
2015-07-22 13:39:07 -07:00
Matthias Hausner
f1da09741d
Implement tear-off closure operator #
...
BUG=
R=fschneider@google.com
Review URL: https://codereview.chromium.org//1234883005 .
2015-07-22 12:50:36 -07:00
John McCutchan
bfd2d4ed2a
Refactor dart:developer log to use named parameters
...
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1247803002 .
2015-07-21 10:01:37 -07:00
John McCutchan
f818f9dc0f
Support piping log data over the service protocol
...
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1241683005 .
2015-07-21 07:54:46 -07:00
Ivan Posva
fe03640e85
- Implement VM parts of https://codereview.chromium.org/1240743003/
...
- Pass additional state in the IsolateSpawnState to set
error and exit handlers, as well as fatal errors on isolate start.
BUG=
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1244733002 .
2015-07-20 16:46:54 +02:00
Regis Crelier
7f10c1420d
Make invocation namedArguments unmodifiable.
...
Fixes #13714
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1241583008 .
2015-07-17 14:04:54 -07:00
Lasse R.H. Nielsen
e4881c55d0
Add errorsAreFatal, onExit and onError parameters to the spawn functions.
...
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1240743003 .
2015-07-16 16:52:43 +02:00
Srdjan Mitrovic
d503d2f0ed
Added full deferred loading semantic to precompiled/--noopt/eager-loading code (some corner cases, e.g., compile-time errors for constants, still missing)
...
BUG=
R=hausner@google.com
Review URL: https://codereview.chromium.org//1211273011 .
2015-07-09 10:56:55 -07:00
Ryan Macnak
d1475c0356
Port irregexp bytecode compiler and interpreter from V8 r24065.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1201383002 .
2015-07-07 14:43:32 -07:00
Srdjan Mitrovic
5711c13f69
Make frequent type checks (instanceof) faster by adding dedicated instanceof methods; improves dart2js startup
...
There is a possibility of adding intrinsics for all new instanceOf methods; my measurements did not show any benefits, therefore they were removed from this CL.
BUG=
R=regis@google.com
Review URL: https://codereview.chromium.org//1222863003 .
2015-07-07 10:20:41 -07:00
Lasse R.H. Nielsen
3c976019cc
Make int.gcd accept zero as an operand, including both operands being zero.
...
R=floitsch@google.com , regis@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//1211473002 .
2015-07-07 09:51:13 +02:00
Ryan Macnak
40fcf4a72d
Handle field-invocation and method-extraction in the runtime when --lazy_dispatchers=false.
...
R=fschneider@google.com
Review URL: https://codereview.chromium.org//1195573006 .
2015-06-30 15:14:35 -07:00
Lasse R.H. Nielsen
ede6cb71a5
Make modInv throw Exception on incompatible operands.
...
Also update errors to be more descriptive accross the integer methods.
I'm still considering whether a more precise "NotCoPrimeException" would be better.
R=regis@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//1209523002 .
2015-06-30 14:46:14 +02:00
Regis Crelier
6a69915cf5
Remove workaround in gcd for even operands and provide permanent fix.
...
Relax minimum length calculation in _lShift and _lShiftDigits.
See details in https://codereview.chromium.org/1205363003/
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1207403003 .
2015-06-26 15:31:32 -07:00
Lasse R.H. Nielsen
f8ce36df55
Add Resource class. Currently unimplemented.
...
R=herhut@google.com , iposva@google.com
Committed: https://github.com/dart-lang/sdk/commit/2890a7a2a94ff54c7c0050e69c40ca6a60a28474
Review URL: https://codereview.chromium.org//1181663002 .
2015-06-26 11:42:02 +02:00
Lasse R.H. Nielsen
3a0edfba72
Add tests for gcd, modInverse and modPow that also run on dart2js.
...
R=regis@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//1205363003 .
2015-06-26 11:05:11 +02:00
Lasse R.H. Nielsen
78a3db3128
Revert "Add Resource class. Currently unimplemented."
...
This reverts commit 2890a7a2a9 .
Causes a dart2js test error and a significant amount of analyzer
warnings.
Review URL: https://codereview.chromium.org//1193273003 .
2015-06-22 16:43:44 +02:00
Lasse R.H. Nielsen
2890a7a2a9
Add Resource class. Currently unimplemented.
...
R=herhut@google.com , iposva@google.com
Review URL: https://codereview.chromium.org//1181663002 .
2015-06-22 15:05:14 +02:00
Regis Crelier
a192ef4acb
Implement gcd in sdk.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1199513003 .
2015-06-19 13:40:01 -07:00
Regis Crelier
16bb52b88d
Implement modInverse for an even modulus.
...
Update test.
Fixes #23502
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1188843004 .
2015-06-17 13:50:30 -07:00
Ryan Macnak
98b9ff6a30
Fix reflective NoSuchMethodErrors to match their non-reflective counterparts when due to argument mismatches.
...
BUG=http://dartbug.com/23266
R=asiva@google.com
Review URL: https://codereview.chromium.org//1182613004 .
2015-06-16 09:42:11 -07:00
Regis Crelier
9edc6e5a6d
Detect zero receiver of modInverse (may not converge and time out
...
in that case).
See #23502
Review URL: https://codereview.chromium.org//1177063002 .
2015-06-10 16:40:24 -07:00
Regis Crelier
f6f338ce67
Implement modInverse (bigint version does not support even modulus yet).
...
Added tests.
See #23502
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1174513004 .
2015-06-10 15:01:46 -07:00
Ivan Posva
f5e3f94019
Fix http://dartbug.com/23578 :
...
- Complete revamp of isolate-specific flags.
- Associate flags with the isolate on creation.
- Dart_CreateIsolate and associate callback do take an
extra flags argument.
- Make sure to clear IC data array when clearing code.
BUG=23578
Review URL: https://codereview.chromium.org//1162033005
2015-06-07 17:57:34 +02:00
Ryan Macnak
6545e8539e
Fix isAssignableTo in VM mirrors to use subtype (<:) rather than moreSpecificThan (<<).
...
BUG=http://dartbug.com/22852
R=gbracha@google.com
Review URL: https://codereview.chromium.org//1156583005
2015-06-04 12:25:59 -07:00
Lasse R.H. Nielsen
de68aaa595
Clean up JSON parsing code.
...
Fixes some hard-to-find bugs and warnings.
Improves the layout of all the constants.
R=ajohnsen@google.com
Review URL: https://codereview.chromium.org//1150033013
2015-06-04 14:55:32 +02:00
Srdjan Mitrovic
7b04897743
Fix fix
...
BUG=
Review URL: https://codereview.chromium.org//1166523005
2015-06-03 12:39:59 -07:00
Srdjan Mitrovic
12da412110
Fix build
...
BUG=
Review URL: https://codereview.chromium.org//1160623004
2015-06-03 11:22:46 -07:00
Srdjan Mitrovic
c0824e7725
Fix 23563: double unary- operator unstable for NANs
...
BUG=
R=koda@google.com
Review URL: https://codereview.chromium.org//1160453003
2015-06-03 11:00:28 -07:00
Lasse R.H. Nielsen
5a843ebbf3
Add "checked" parameter to Isolate.spawnUri.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//1154673004
2015-06-03 12:32:52 +02:00
Ryan Macnak
eca0d72abe
Provide a logical view of VM-internal maps in Observatory.
...
BUG=http://dartbug.com/20551
BUG=http://dartbug.com/21185
R=koda@google.com
Review URL: https://codereview.chromium.org//1150103005
2015-06-02 11:38:39 -07:00
Daniel Andersson
6090af8f0b
Serialize maps without hashes.
...
Re-generate the indices after deserialization.
This is a more compact representation, and also fixes the issue with identity hash codes not being portable between isolates.
BUG=21675
R=asiva@google.com
Review URL: https://codereview.chromium.org//1151013005
2015-06-02 09:04:37 -07:00
Ryan Macnak
4102b0c446
Canonicalize mixin type during class finalization. Add asserts that most types are canonical.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//1167583002
2015-05-29 15:29:04 -07:00
Lasse R.H. Nielsen
babcd4e9c0
Revert "Make EfficientLength public, as EfficientLengthIterable."
...
It's still not a good solution for detecting an Iterable with an efficient
length. It's not inherited by, e.g., a DelegatingIterable wrapper or similar
generic Iterable transformers.
Keep this as an internal optimization for quickly detecting the most common
efficient-length Iterable classes (List, Set, Queue, Map.keys/values), but
don't make it public.
A *real* solution would be adding a hasEfficientLength getter to Iterable, or
adding an efficientLength getter that may return null if it's not efficient.
This would something that a wrapper can attach to.
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//1154263003
2015-05-29 12:52:45 +02:00
Lasse R.H. Nielsen
cf4eaae5a6
Change RangeError instances to use RangeError.range.
...
This avoids using the (sometimes confusing) "[...)" notation for half-open ranges.
Also change argument tests to simpler interval tests, and move error handling to the end of the functions.
Mostly in VM typed-data libraries.
R=sgjesse@google.com , srdjan@google.com
Committed: https://github.com/dart-lang/sdk/commit/932bcc6901d70492c6f1b8d000b9555a0db62f4b
Review URL: https://codereview.chromium.org//1132603003
2015-05-29 10:50:20 +02:00
Daniel Andersson
ea46192ca3
VM-internalize the default Map implementation.
...
Make the compact linked hash map, which is the default implementation for Map
(including map literals), a VM-internal class.
This makes it easy to have more efficient serialization of maps (although for
now, the implementation is straight-forward).
Refactor the compact hash class hierarchy to enable the VM-internal class and
the rest (also the Set classes) to share a maximal amount of code, by using
two different bases for implicit/explicit fields.
Remove existing proof-of-concept, C++-based internal VM-class.
BUG=http://dartbug.com/22982
R=asiva@google.com
Review URL: https://codereview.chromium.org//1151523002
2015-05-28 09:32:54 -07:00
Lasse R.H. Nielsen
9e175d27d7
Revert "Change RangeError instances to use RangeError.range."
...
Method hashes needs to be updated.
Review URL: https://codereview.chromium.org//1160903002
2015-05-28 10:46:15 +02:00
Lasse R.H. Nielsen
932bcc6901
Change RangeError instances to use RangeError.range.
...
This avoids using the (sometimes confusing) "[...)" notation for half-open ranges.
Also change argument tests to simpler interval tests, and move error handling to the end of the functions.
Mostly in VM typed-data libraries.
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//1132603003
2015-05-28 10:34:03 +02:00
Florian Schneider
96e4c4d3c6
VM: Fix bugs with missing deoptimization environment and int32x4 constructor
...
It can occur that we don't have exact type information at UnboxUint32 instructions,
but range information concludes that the instruction can't deoptimize. In this case,
we can assume the input must be a smi or mint if the range fits into mint range.
The generated coe for this case was missing on x64 and arm64. It was already added
for ia32, ARM and MIPS (see https://codereview.chromium.org//770303002 )
The optimized instruction of the Int32x4 constructor was incorrectly using uint32 as
input representation, instead of int32.
R=iposva@google.com , vegorov@google.com
Review URL: https://codereview.chromium.org//1148943004
2015-05-28 10:09:49 +02:00
Daniel Andersson
6542a451c3
Refactor Isolate -> Thread in NativeArguments and exception handler jump.
...
Further reduces the one-to-one assumption about isolates and threads: native entries now ask the thread for its isolate, rather than the other way around.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1156143003
2015-05-26 16:49:51 -07:00
John McCutchan
d7450e43fb
Update GN build files for Mojo roll
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//1142293007
2015-05-22 11:32:14 -07:00
John McCutchan
51d8bae199
Revert "Hide Isolate pointer from embedder"
...
This reverts commit 014e694ba7 .
Revert "Fix fall out from hide isolate pointer change"
This reverts commit 966aafbc81 .
Revert "Fix build"
This reverts commit d7b03ba7b0 .
BUG=
Review URL: https://codereview.chromium.org//1140263005
2015-05-19 11:41:42 -07:00
John McCutchan
014e694ba7
Hide Isolate pointer from embedder
...
BUG=
R=iposva@google.com
Review URL: https://codereview.chromium.org//1130753006
2015-05-18 14:06:10 -07:00
John McCutchan
6e42aec4f6
Deprecate 'dart:profiler' and move functionality to 'dart:developer'
...
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//1133713006
2015-05-18 11:31:20 -07:00
johnmccutchan@google.com
f01c1490f7
Revert 45783
...
BUG=
Review URL: https://codereview.chromium.org//1138993005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45784 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 00:32:32 +00:00
johnmccutchan@google.com
95515238cc
Move 'dart:profiler' contents into 'dart:developer' and remove 'dart:profiler'
...
BUG=
R=iposva@google.com
Review URL: https://codereview.chromium.org//1139503002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45783 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 23:48:04 +00:00
lrn@google.com
5351182e38
Add Map.unmodifiable constructor.
...
R=sgjesse@google.com , sra@google.com
Review URL: https://codereview.chromium.org//1127533002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45733 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 11:09:13 +00:00
rmacnak@google.com
016214f002
Add Debugger.inspect. 1976 here we come!
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//1132153002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45664 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 22:18:43 +00:00
johnmccutchan@google.com
1f851efdbb
Rename 'dart:debugger' to 'dart:developer'
...
- Rename 'dart:debugger' to 'dart:developer'
- Make 'breakHere' and 'breakHereIf' top level functions.
R=iposva@google.com
Review URL: https://codereview.chromium.org//1132113002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45658 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 21:24:57 +00:00