Commit Graph

1112 Commits

Author SHA1 Message Date
iposva@google.com 16e405af4c - Fix for unsuccessful hoisting of CheckSmi in _HashMap.[]=
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35511 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-28 23:43:19 +00:00
rmacnak@google.com f848586f7f Prevent unbounded growth of the getField/setField closure caches.
BUG=http://dartbug.com/16539
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35433 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-25 17:47:15 +00:00
jacobr@google.com 8fd3f6a789 Workaround stacktrace crasher bug in the VM.
Fix for bug setting breakpoint after app reload.

BUG=
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35401 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 20:34:19 +00:00
lrn@google.com 2a93b93c1c Remove unmodifiable map wrappers that could instead use UnmodifiableMapView.
R=sgjesse@google.com

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35361 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 08:51:41 +00:00
hausner@google.com 3f40651e3a Support evaluation of expressions in context of a stack frame
This change adds a debugger API function to evaluate an expression
in the context of a particular stack frame. The expression can
refer to local variables accessible in the frame, but it cannot
alter the variables.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35340 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 22:56:23 +00:00
iposva@google.com fd8565b071 - Add a minimal implementation of Capability.
- Make RawReceivePort and SendPort VM internal objects.
- Rationalize the creation of ports and their handling within the VM.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35325 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 19:44:03 +00:00
ajohnsen@google.com ee4ff079f5 Speed up DateTime members, by caching the results.
The result is stored in a list of ints. This turned out to be the most efficient way to store it, compared to packing in ints.

BUG=
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35303 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 06:17:39 +00:00
rmacnak@google.com 7ba8ca5753 Reapply "Mark private functions in dart:* that are native or constructors as not visible (omitted from stack traces and ineligible for reflective enumeration or invocation)."
With fix for uninitialized is_dart_scheme_ when read from snapshot.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35289 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 00:05:08 +00:00
kevmoo@google.com 696e05cfef VM mirrors: Use UnmodifiableMapView from dart:collection
R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35274 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-22 18:39:51 +00:00
lrn@google.com 5f34d56f70 Avoid comparing smi to mint in smi.toString().
As it happens 10^10 has 11 digits, not 10.

R=ajohnsen@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35249 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-22 09:26:31 +00:00
lrn@google.com 0e24a1701c Revert "Remove unmodifiable map wrappers that could instead use UnmodifiableMapView."
Some tests fail.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35245 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-22 06:21:24 +00:00
lrn@google.com 04b55abe64 Remove unmodifiable map wrappers that could instead use UnmodifiableMapView.
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35244 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-22 05:53:33 +00:00
rmacnak@google.com 7840906011 Revert "Mark private functions in dart:* that are native or constructors as not visible (omitted from stack traces and ineligible for reflective enumeration or invocation)."
Review URL: https://codereview.chromium.org//246173002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35238 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-22 00:08:52 +00:00
rmacnak@google.com 69d82c334b Mark private functions in dart:* that are native or constructors as not visible (omitted from stack traces and ineligible for reflective enumeration or invocation).
Ensure invocation_fuzz_test doesn't exit prematurely.

Also visit instance methods defined in superclasses.

Complete blacklist so invocation_fuzz_test passes on the VM.

B=http://dartbug.com/15274
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35234 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-21 23:24:17 +00:00
srdjan@google.com 05633cfa3d Revert unused optimization in math.pow and implement same code in Dart as is done in the inlined version.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35203 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-21 15:02:42 +00:00
johnmccutchan@google.com c92b2c387b Intrinsify UserTag operations on all architectures
R=srdjan@google.com, zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35175 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-18 18:56:07 +00:00
srdjan@google.com 833476b2b3 Improve double pow performance for few simple exponents (0.0, 1.0, 2.0, 3.0).
R=iposva@google.com, johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35035 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-14 18:04:51 +00:00
johnmccutchan@google.com 8f0056371d Initial UserTag and dart:profiler library
R=asiva@google.com, srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34949 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-10 22:32:45 +00:00
sigurdm@google.com dc92146b57 Load deferred chunks in the right order.
A chunk can depend on classes in shared chunks. Therefore sort they are
sorted, and loaded sequentially.

BUG= dartbug.com/17890
R=floitsch@google.com

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

Reverted: r34702

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34915 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-10 08:48:11 +00:00
lrn@google.com 88ba8efed9 Optimize one-byte string's toUpperCase.
R=ajohnsen@google.com, srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34812 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-08 07:19:33 +00:00
rmacnak@google.com 9c105f7c9c Handle creating ParameterMirrors for the parameters of forwarding constructors.
BUG=http://dartbug.com/17823
R=hausner@google.com, regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34494 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-28 01:22:03 +00:00
hausner@google.com ed24226376 Support deferred library prefix syntax
First step towards deferred library support:
- Parse the “deferred as” import clause.
- Implement p.loadLibrary() which returns a future that
  completes when the library is loaded.
- Treat type annotations of deferred types as malformed.
- Throw NoSuchMethodError when calling functions from
  unloaded libraries.
- Libraries are still read synchronously, but items in the
  library won’t be visible through the deferred prefix until
  the future returned by loadLibrary() completes.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34481 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-27 21:20:47 +00:00
iposva@google.com 0977a3bf2b - First step in refactoring ports with the goal of moving
them closer into the VM implementation.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34438 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-26 17:30:39 +00:00
ajohnsen@google.com a9f357b4b6 Speed up toLowerCase, by manually inlining the upper-case part.
Some benchmarks show up to 25% faster toLowerCase.

BUG=
R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34423 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-26 12:19:55 +00:00
lrn@google.com 249d09fd82 Optimize String.fromCharCode.
BUG= http://dartbug.com/17781
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34419 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-26 11:37:01 +00:00
rmacnak@google.com 78ab60a0de Implement MethodMirror.location in the VM.
R=gbracha@google.com, hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34400 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-26 00:44:54 +00:00
ajohnsen@google.com fbdb9a85d8 Add optimized _OneByteString.toLowerCase.
BUG=
R=sgjesse@google.com, sra@google.com, srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34393 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-25 21:44:09 +00:00
ajohnsen@google.com 38bfed114d Fix memory-issue String::fromCharCodes, where a GC could invalidate an address.
The constructions is now reordered, so the address is not extracted
until after allocation of the new string.

BUG=https://code.google.com/p/dart/issues/detail?id=17602
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34320 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-24 18:56:36 +00:00
lrn@google.com cb3e82c2f8 Optimize VM parsing of JSON String and number literals.
Extracted from https://codereview.chromium.org/181543004/

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34297 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-24 10:24:20 +00:00
asiva@google.com d302dc431a Auto delete persistent weak handles during finalization after invoking the callback associated with the weak handle.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34208 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-20 21:45:43 +00:00
rmacnak@google.com e88d2a11cd Also remove Dart native method.
Review URL: https://codereview.chromium.org//199863005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33793 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-18 00:11:44 +00:00
rmacnak@google.com f8c59de4d6 Clean up ClosureMirror.invoke(#call, ...).
R=asiva@google.com, gbracha@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33790 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-17 23:43:32 +00:00
iposva@google.com 383f9c03c2 - Avoid exposing the 64-bit state of the PRNG to Dart code.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33778 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-17 21:27:24 +00:00
fschneider@google.com 37b30ab2ac Alternative fix for .call invocation of closures.
This also covers "closurization" of the .call method.
This relies on the fact that f.call === f if f is a closure.
This means that adding a simple getter to _FunctionImpl that
 returns this is enough. No need for a separate dispatch.

This CL reverts the previous fix for issue 12602 (modulo the
additional tests).

BUG=dartbug.com/17473, dartbug.com/12602
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33736 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-17 10:31:33 +00:00
iposva@google.com 214ecc0e2a - Do not rely on time to seed the default PRNG.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33704 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-14 17:30:05 +00:00
rmacnak@google.com 8c0e1a602e Fix LibraryMirror.invoke to call through the contents of an implicit getter.
BUG=http://dartbug.com/17452
R=asiva@google.com, gbracha@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33682 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-14 01:14:06 +00:00
lrn@google.com f95e190651 Add string.trimLeft/trimRight.
BUG= http://dartbug.com/5589
R=floitsch@google.com, sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33638 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-13 07:16:51 +00:00
srdjan@google.com 714acd1944 Recognize _TypedListBase._cid native. Use Lists.copy instead of native _setRange if list is small. Restore performance of HttpServeStrings.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33624 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-12 23:10:23 +00:00
rmacnak@google.com 10ecef7968 Remove ObjectMirror.[].
R=ahe@google.com, gbracha@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33543 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-11 18:21:13 +00:00
srdjan@google.com 8de0c6eb8e Fix performance of setRange by avoiding going to Lists.copy which can become polymorphic.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33540 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-11 16:56:55 +00:00
rmacnak@google.com 57dd1321d1 Reapply "Access to imports in the VM's runtime mirrors. Extend test coverage of the source mirrors."
Regenerate snapshot test due to change in the size of Namespace. Relate the types source mirror libraries dependencies to the runtime library dependencies.

BUG=http://dartbug.com/10360

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33441 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-07 19:00:20 +00:00
lrn@google.com 13d8eae15a Faster _Smi.toString()
Add tests.

R=ajohnsen@google.com, srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33416 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-07 09:31:53 +00:00
rmacnak@google.com 62ad4b82ce Revert "Access to imports in the VM's runtime mirrors. Extend test coverage of the source mirrors."
Review URL: https://codereview.chromium.org//189293002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33402 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-06 22:45:29 +00:00
rmacnak@google.com 2d0e54a94d Access to imports in the VM's runtime mirrors. Extend test coverage of the source mirrors.
BUG=http://dartbug.com/10360
R=gbracha@google.com, hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33397 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-06 22:02:29 +00:00
ajohnsen@google.com b26561d41d Fix last commit.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33364 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-06 09:24:54 +00:00
ajohnsen@google.com c3dfdbe772 Fix fromEnvironment when called from isolates.
BUG=
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33363 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-06 09:16:41 +00:00
lrn@google.com fd4b12a479 Fix file still using old Isolate constructor.
Review URL: https://codereview.chromium.org//187793002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33329 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-05 14:25:15 +00:00
rmacnak@google.com 42e8c08b3c Match existing expectation that delegate returns unwrapped values.
TBR

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33306 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-04 21:56:57 +00:00
rmacnak@google.com d515f61a35 Work around bug where closures are missing #call to support delegation of #call to closures.
BUG=http://dartbug.com/16995
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33303 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-04 21:10:04 +00:00
rmacnak@google.com d3a92a0f3d Hoist hasReflectedType and reflectedType from ClassMirror to TypeMirror.
R=gbracha@google.com, regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33291 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-04 19:01:26 +00:00