Ryan Macnak
b34267d0d7
Replace is_synthetic bit on Fields with is_reflectable. Mark private fields of dart:* as non-reflectable.
...
This fixes an inconsistency in mirrors where some classes in dart:* would claim to have a field but throw NSM if one attempts to access it, and prevents accessing private static fields of dart:* that don't have implicit getters or setters.
R=asiva@google.com
Review URL: https://codereview.chromium.org//1280713002 .
2015-08-06 16:48:01 -07:00
Ryan Macnak
b6c979f20b
Hoist InstanceMirror.delegate to ObjectMirror.
...
BUG=http://dartbug.com/14827
R=gbracha@google.com
Review URL: https://codereview.chromium.org//1273983002 .
2015-08-05 17:09:59 -07:00
Ivan Posva
e974b952a7
- Prevent getting an unmodifiable list being returned from List.from.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1275703002 .
2015-08-05 13:25:32 -07:00
Srdjan Mitrovic
caa3cce77e
Fix some TODOs
...
BUG=
R=regis@google.com
Review URL: https://codereview.chromium.org//1263963003 .
2015-08-04 17:13:22 -07:00
Ivan Posva
f63db4960c
- Implement resource loading via the Resource class.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//1264413002 .
2015-08-04 15:39:14 -07:00
John McCutchan
4505a79e58
Increment next sequence number
...
BUG=
Review URL: https://codereview.chromium.org//1260343004 .
2015-08-04 07:59:13 -07:00
John McCutchan
a2757141b0
Make dart:developer log more user friendly
...
- Make required arguments required.
- Validate required arguments in Dart before calling native.
- timestamp is now a DateTime.
- level has a default (ALL).
- sequence number is last + 1 if not provided.
R=lrn@google.com
Review URL: https://codereview.chromium.org//1266053003 .
2015-08-04 07:12:39 -07:00
John McCutchan
7640cf4b85
Fix test failure
...
patch from issue 1271693003 at patchset 20001 (http://crrev.com/1271693003#ps20001 )
Review URL: https://codereview.chromium.org//1270953003 .
2015-08-04 07:05:34 -07:00
William Hesse
bdda0eff52
Revert "Change msg to message in debugger function."
...
This reverts commit 2ae214316c .
BUG=
Review URL: https://codereview.chromium.org//1261203005 .
2015-08-04 15:22:47 +02:00
Lasse R.H. Nielsen
2ae214316c
Change msg to message in debugger function.
...
BUG=23949
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//1271693003 .
2015-08-04 14:58:13 +02:00
Ryan Macnak
db8ed04981
Hack around dart:io being loaded into non-service isolates in Dartium.
...
BUG=http://dartbug.com/23940
R=asiva@google.com
Review URL: https://codereview.chromium.org//1259893006 .
2015-08-03 16:59:32 -07:00
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