Commit Graph

480 Commits

Author SHA1 Message Date
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
floitsch@google.com 5ae2c0f6e9 dart2js: Emit libraries that are only used for typedefs.
R=zarah@google.com

Review URL: https://codereview.chromium.org//1004833002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44452 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-13 09:55:32 +00:00
koda@google.com 6c11104a31 Update enum mirror test expectation to include hashCode.
TBR=rmacnak@google.com

Review URL: https://codereview.chromium.org//982883006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44279 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-06 04:31:08 +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
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
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
rmacnak@google.com 63bba8d603 Blacklist Process.killPid in invocation_fuzzer_test.
BUG=
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//884133005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43491 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 23:50:58 +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
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
sigurdm@google.com b9c1798175 Improve mirror_in_static_init_test
Make it a multitest.
Fix a syntax error.
Also move it to lib/mirrors/ - it will then automatically be skipped by
dart2dart.

BUG=dartbug.com/22071
R=floitsch@google.com, karlklose@google.com

Review URL: https://codereview.chromium.org//813503005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42992 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-19 14:52:25 +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
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
rmacnak@google.com 9bdff93aa9 Re-blacklist SystemEncoding: still failing on Windows.
BUG=http://dartbug.com/15274
TBR=regis@google.com

Review URL: https://codereview.chromium.org//775993005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42095 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-04 00:09:42 +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 a49870e721 VM: Remove use of IterableMixinWorkaround from _List, _ImmutableList and _GrowableList.
_List, _ImmutableList and _GrowableList now extend ListBase which uses ListMixin.

Note that typed data lists are still using IterableMixinWorkaround for now.
They will be changed in a separate CL since it involves a few more changes
to the VM.

BUG=dartbug.com/13647
R=lrn@google.com

Review URL: https://codereview.chromium.org//730543002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42061 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-02 10:38:51 +00:00
rmacnak@google.com 5aff08b9ef Skip more of event loop dispatch in invocation fuzzer to avoid triggering runtime errors we cannot catch.
BUG=http://dartbug.com/21473
R=regis@google.com

Review URL: https://codereview.chromium.org//753323002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42054 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-01 22:56:31 +00:00
rmacnak@google.com 77adbe5bca Remove/skip invalid mirror tests.
-class of 1 is not required to declare int as an interface
-owner of members of mixin applications is the mixin
-MirrorsUsed does not have a semantics

R=gbracha@google.com

Review URL: https://codereview.chromium.org//706793002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41540 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-06 01:10:33 +00:00
regis@google.com 30dce6a5d1 Fix issue 21474 in mirrors.
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//690413002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41453 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-31 23:16:11 +00:00
regis@google.com 71c8b1b210 Revert mixin fix r41424 until mirrors issue 21474 is fixed.
Review URL: https://codereview.chromium.org//691053004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41425 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-30 19:04:02 +00:00
regis@google.com 5a09dee193 Fix Function::Clone() and Field::Clone() to adjust the class owner of type
parameters (issue 18630).
Add regression tests.
Commented out 3 lines in mirror test (issue 21474 filed).

R=srdjan@google.com

Review URL: https://codereview.chromium.org//646103005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41424 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-30 17:39:40 +00:00
floitsch@google.com c5702b1784 dart2js: add --preserve-uris flag.
R=blois@google.com, johnniwinther@google.com, nweiz@google.com

Committed: https://code.google.com/p/dart/source/detail?r=41205
Reverted: https://code.google.com/p/dart/source/detail?r=41206

Review URL: https://codereview.chromium.org//582753002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41244 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-22 09:05:26 +00:00
floitsch@google.com 9a8c878d48 Mark analyzer test as failing.
Add minimal example to lib/mirrors.

R=ricow@google.com

Review URL: https://codereview.chromium.org//655803002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41097 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-14 13:44:38 +00:00
rmacnak@google.com a8e5ad20a5 Don't crash when generating error messages with malformed strings.
R=asiva@google.com

Review URL: https://codereview.chromium.org//563043003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40829 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-01 00:49:36 +00:00
rmacnak@google.com fa5668fc70 Multitest has a 'checked mode compile-time error' marker now. Use it to clean up the mirrors status file a bit.
BUG=http://dartbug.com/16351
R=regis@google.com

Review URL: https://codereview.chromium.org//608873002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40799 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-30 04:41:40 +00:00
rmacnak@google.com 7899a9cc64 Mark _Bigint._mulAdd and conversion methods in typed_data as invisible. Strengthen the mirror invocation fuzzer.
BUG=http://dartbug.com/21046
R=regis@google.com

Review URL: https://codereview.chromium.org//594183003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40609 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-23 22:01:45 +00:00
rmacnak@google.com 645b5a0d2b Revert "Add _Bigint._mulAdd to the invisible list. Strengthen the mirror invocation fuzzer."
Review URL: https://codereview.chromium.org//590703003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40580 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-23 00:01:33 +00:00
rmacnak@google.com 7e7d568be5 Add _Bigint._mulAdd to the invisible list. Strengthen the mirror invocation fuzzer.
R=regis@google.com

Review URL: https://codereview.chromium.org//590513003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40576 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-22 22:46:40 +00:00
floitsch@google.com cfca89e24f Typedefs don't support generic arguments yet.
Review URL: https://codereview.chromium.org//583333002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40514 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-19 19:23:37 +00:00
floitsch@google.com db3307b493 dart2js: mirrors. Support Typedef.reflectedType.
BUG= http://dartbug.com/18938
R=karlklose@google.com

Review URL: https://codereview.chromium.org//579303003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40494 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-19 11:42:39 +00:00
regis@google.com 879043ba6f Intrinsify Bigint 'multiply and accumulate" function on ia32.
R=srdjan@google.com

Review URL: https://codereview.chromium.org//582963003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40485 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-19 02:05:00 +00:00
sigurdm@google.com 0a59855a1e Recompute librariesByName after loading a deferred library.
R=floitsch@google.com

Review URL: https://codereview.chromium.org//562853002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40204 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-12 09:35:16 +00:00
karlklose@google.com 9491aaa8cb Check against the correct type when decoding runtime types.
The type [Type] is represented by its constructor function in the runtime type system, and if it used as a type argument, we install a $isType-tag on it for subtype checks.

R=floitsch@google.com

Review URL: https://codereview.chromium.org//556833004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40045 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-09 17:28:52 +00:00
johnniwinther@google.com 7685bced04 Generate needed classes for constant maps in metadata.
BUG=http://dartbug.com/20776
R=floitsch@google.com

Review URL: https://codereview.chromium.org//541683002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39860 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 11:48:48 +00:00
floitsch@google.com 59b78ff5fc Support typedefs in function signatures.
BUG= http://dartbug.com/18938
R=karlklose@google.com

Review URL: https://codereview.chromium.org//416643002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39750 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 15:53:59 +00:00
turnidge@google.com 2d4250d852 Defer execution of the main isolate's entry point until the message loop.
This allows us to know more accurately the stack limit while running main.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//503363002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39558 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-26 17:21:20 +00:00
floitsch@google.com 00ea30f29a Don't inherit metadata.
BUG= http://dartbug.com/20461
R=karlklose@google.com

Review URL: https://codereview.chromium.org//467623002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39129 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-12 13:04:24 +00:00
floitsch@google.com f1eccb26d3 Fix type-checks for reflective redirection constructors.
R=ahe@google.com, johnniwinther@google.com

Review URL: https://codereview.chromium.org//422573004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39058 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-08 22:46:33 +00:00
rmacnak@google.com 3a40319ed2 Remove hard limit from mirrors accessor caches.
Avoids treadmilling the cache when the working set is larger than the cache size, such as the observe loop of a very large Angular app.

BUG=http://dartbug.com/20196
R=iposva@google.com

Review URL: https://codereview.chromium.org//420713008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39057 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-08 22:20:36 +00:00
karlklose@google.com b203f95355 Emit declarations for typedefs that are needed by reflection.
Typedefs are encoded like closure classes, but without a call-method and a superclass.

For example, the typedef `typedef int Foo(String s);` is emitted as:
  Foo: {'^': ':15'},
where `15` is the index into `init.metadata` at which the function type is emitted.

BUG= http://dartbug.com/16939
R=johnniwinther@google.com, floitsch@google.com, herhut@google.com

Committed: https://code.google.com/p/dart/source/detail?r=37814

Reverted in https://code.google.com/p/dart/source/detail?r=37848

Committed: https://code.google.com/p/dart/source/detail?r=37939

Reverted in https://code.google.com/p/dart/source/detail?r=37940

Committed: https://code.google.com/p/dart/source/detail?r=37945

Review URL: https://codereview.chromium.org//360493002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38891 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-05 07:18:32 +00:00
herhut@google.com 948b8ee707 Make private symbol mangling test work on the VM, as well.
BUG=
TBR=sigurdm@google.com

Review URL: https://codereview.chromium.org//429083004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38724 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 07:46:54 +00:00
herhut@google.com 30ce20dfe8 Ensure that unmangled private names are unique.
BUG= http://dartbug.com/19177
R=floitsch@google.com

Review URL: https://codereview.chromium.org//425023002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38721 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 07:26:20 +00:00
floitsch@google.com d59fadf568 Revert "Library functions can never be constructors."
This reverts commit r38589.

Review URL: https://codereview.chromium.org//418223010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38590 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-25 21:07:45 +00:00
floitsch@google.com 6c7a98cae3 Library functions can never be constructors.
R=ahe@google.com

Review URL: https://codereview.chromium.org//416873002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38589 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-25 20:42:47 +00:00
floitsch@google.com b99dafd2d2 Support optional (non-named) arguments in constructors for reflection.
BUG= http://dartbug.com/19635
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//417693002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38536 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-24 09:44:07 +00:00
rnystrom@google.com 58f4ffe1e7 Fix test.
R=nweiz@google.com

Review URL: https://codereview.chromium.org//404633002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38350 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-17 22:01:44 +00:00
rmacnak@google.com 7ff03558b2 Specifiy MethodMirror.isStatic is terms of whether 'this' is permitted.
BUG=http://dartbug.com/19059
R=gbracha@google.com

Review URL: https://codereview.chromium.org//392983006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38318 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-16 23:10:34 +00:00
rmacnak@google.com bfd342fd8a Remove MirroredCompilationError from the VM.
Regenerate snapshot test due to removed symbol.

BUG=http://dartbug.com/16562
R=regis@google.com

Review URL: https://codereview.chromium.org//389573007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38202 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-14 18:00:04 +00:00