Commit graph

8079 commits

Author SHA1 Message Date
karlklose@google.com 0eaa4d4717 cps-ir: Support compilation of methods that use interceptor calling convention.
This is a modified version of sra@'s CL https://codereview.chromium.org/1020243002/ with kmillikin@'s comments addressed.

R=sigurdm@google.com, kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45680 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-11 12:38:14 +00:00
iposva@google.com 16a29667dd - Revert r45669 to address Windows issues.
R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45672 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-09 00:59:00 +00:00
iposva@google.com 7f5cdff385 - Refactor builtin.dart before any further work in this file.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45669 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 23:58:01 +00:00
rmacnak@google.com aba09abcb5 Update debugger_inspect_test for move to top-level method.
TBR=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45667 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 23:10:22 +00:00
koda@google.com 2c4dfb60c8 Don't attempt to walk the native stack by default.
This was unintentially enabled by default as a consequence of
https://codereview.chromium.org/1104323003/

BUG=23368
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45666 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 22:34:17 +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
rmacnak@google.com 7be0dddfca Remove dead --use_jscre flag.
Review URL: https://codereview.chromium.org//1135833003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45655 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 20:31:37 +00:00
rmacnak@google.com d36add736d Make copying from script insets omit line numbers and breakpoint indicators.
Review URL: https://codereview.chromium.org//1137523002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45652 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 19:58:29 +00:00
srdjan@google.com cae3b352a5 Fix occasional assert failure when disassembling: move assert to proper place.
Review URL: https://codereview.chromium.org//1133833003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45649 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 17:08:46 +00:00
srdjan@google.com 3ac643115f Remove unneeded flag declaratiosn (enable_type_checks, enable_asserts).
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45647 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 16:48:43 +00:00
srdjan@google.com 4cce388543 Add flag --support_debugger, controls emitting single stepping checks. Disable in --noopt, 6% gain.
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45641 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 10:33:12 +00:00
srdjan@google.com c969e016f3 After sudying IrregExp compilation, it seems too complicated to do lazy local var descriptors for those. The amount of eagerly generated descriptors is small enough that it IMO does not warrant the additional complexity. Cleaned up, removed the flag.
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45631 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 07:04:21 +00:00
srdjan@google.com e47ecf48c0 Eagerly create local var descriptors for artificially created methods (they cannot be regularly parsed).
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45606 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 19:04:28 +00:00
johnmccutchan@google.com 655545c881 Only add -lrt on Linux, not on Mac
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45603 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 17:40:01 +00:00
asiva@google.com b5336c5726 Unify processing of Keywords and predefined symbols in the same loop and add accessors for keyword symbol handles.
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45602 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 17:28:02 +00:00
regis@google.com 52b19e2b14 Make sure the bound of a mixin type parameter is finalized before instantiating
it during finalization (fix issue 23385).
Print more info in ToCString() for an unresolved type.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45598 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 16:08:11 +00:00
johnmccutchan@google.com 95064c2d0d Fix Observatory rebuild
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45589 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 12:45:33 +00:00
ricow@google.com e92f697236 Remove dart2dart support from testing scripts and status files
I will leave it to the dart2js people to remove the support from the dart2js tools (there is also a bunch of comments still in code, do a git grep)

R=kustermann@google.com, floitsch@google.com, kmillikin@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45588 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 11:29:55 +00:00
srdjan@google.com ba038822fb Reenable eager local var descriptors until issue with one test resolved.
Review URL: https://codereview.chromium.org//1130133002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45584 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 06:33:56 +00:00
srdjan@google.com ace53da9b7 FIxed 'typo', enabled lazy var descriptors generation again.
Review URL: https://codereview.chromium.org//1130963002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45583 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 05:34:44 +00:00
srdjan@google.com fef4e08b75 Fix breakage by disabling lazy local var descriptors.
Review URL: https://codereview.chromium.org//1133523002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45582 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 04:31:31 +00:00
srdjan@google.com 3744661bc4 Lazily generate local var descriptors.
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45581 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 04:16:50 +00:00
johnmccutchan@google.com 37feb0c855 Add embedded_dart_io source_set for Sky
BUG=
R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45576 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 21:36:15 +00:00
fschneider@google.com 5dd0bc5c52 VM: Reduce size of PC descriptors with --noopt.
In this case, deoptimization descriptors are not needed.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45573 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 20:45:13 +00:00
rmacnak@google.com b48fc7a2f4 Make script-insets obey their bounds, and other padding tweaks.
R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45570 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 17:10:43 +00:00
johnmccutchan@google.com 1c16abecf7 Fix breakage due to package upgrades
Paired with https://codereview.chromium.org/1129463003/

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45567 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 14:53:12 +00:00
regis@google.com 8d26ed95e6 Implement Smi_bitLength intrinsic on mips, arm, and arm64.
Add support for clz instruction in arm64 assembler, disassembler, and simulator.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45564 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 13:56:08 +00:00
lrn@google.com 92c526b2a2 Make EfficientLength public, as EfficientLengthIterable.
R=iposva@google.com, sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45556 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 09:00:45 +00:00
srdjan@google.com 3f4e5da63d Reduce code size: in unoptimized code do not inline array allocation if length is known.
R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45549 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 05:48:54 +00:00
hausner@google.com ddd1db9bd2 Fix FieldAccess test
Removing an overly strict assertion I added today.

TBR=asiva

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45548 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 05:03:52 +00:00
koda@google.com b5ea484105 Share code for building recognized native getters.
Internalizing the maps will add a few more of these, so let's avoid duplication.

R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45547 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 02:49:56 +00:00
hausner@google.com ad130e2b0f Minor cleanup for getter/setter lookup
Prevent a few getter/setter name mangling calls and random cleanup I came across while doing some experiments.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45544 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 23:42:53 +00:00
johnmccutchan@google.com 76d972c9f4 Add debugger to BUILD.gn
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45542 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 21:51:16 +00:00
johnmccutchan@google.com a25e355731 Add hasStoppedAtBreakpoint
BUG=
R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45532 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 17:30:19 +00:00
fschneider@google.com 399e2a160a VM: Don't emit usage counter code when optimizations are disabled.
Review URL: https://codereview.chromium.org//1127453003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45530 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 17:06:18 +00:00
johnmccutchan@google.com a19cd071e5 Add 'dart:debugger' library
- Add the 'dart:debugger' library.
- Add the 'Debugger' class.
- Add explicit Dart breakpoint triggered by a call to: Debugger.breakHere();
- Add Debugger.breakHereIf(bool expr)

R=hausner@google.com, turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45529 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 17:05:37 +00:00
srdjan@google.com ce1e6777b1 Move megamorphic lookup code to stub instead of inlining. Preformance loss < 5%, instruction size reduced by 30% (when using always-megamorphic).
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45525 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 14:07:48 +00:00
regis@google.com a2f43064dc Fix Bigint_rsh on mips (was obviously not properly tested).
Review URL: https://codereview.chromium.org//1124553006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45522 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 10:11:41 +00:00
regis@google.com 9d0987d1e7 Implement bigint shift intrinsics on arm64.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45521 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 07:32:33 +00:00
regis@google.com 6692703a9c Implement bigint shift intrinsics on MIPS.
Remove unnecessary post index offset for last store in ARM Bigint_rsh intrinsic.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45520 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 07:32:10 +00:00
ricow@google.com 005befeba2 Skip huge array allocation in ARM tests.
This is suspected to cause flaky C++ OOM crash on the build bot.

R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45518 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 06:11:11 +00:00
koda@google.com 624cf5b13e Propagate failures from VirtualMemory::Commit.
BUG=23314

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45515 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 00:01:29 +00:00
johnmccutchan@google.com e862e8ad8f Fix analyzer warnings in service tests
BUG=
R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45511 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 21:29:01 +00:00
hausner@google.com a4e1e8d61d Do not swallow compilation errors when setting breakpoint
Fixes 23352

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45510 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 21:03:48 +00:00
johnmccutchan@google.com 8eff84f560 Fix build
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45507 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 20:43:36 +00:00
fschneider@google.com 8b806c67b9 Revert parts of r45502 and always generate guard field instructions.
R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45506 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 20:32:41 +00:00
johnmccutchan@google.com 2f7cff7170 Display isolate message queue in Observatory debugger
- Log the parameters to RPCs
- Display messages like stack frames
    - handler function and script visible
    - message preview instead of local variables
- Expanded and previewed messages do not collapse when stepping within the existing message
- Mark patch classes as finalized to avoid ASSERT on class_finalizer.cc:2358 **
- Support iterating over message queues
- Support printing the message queue as JSON
- Inhibit OOB messages from being handled if we are iterating over the message queue
    - avoids dead lock when looking up port handler (done in Dart code with message handler locked) and a stack overflow trigger to handle OOB messages
- make getObject understand message ids
- Fix dartbug.com/23355

** Need to discuss with Ivan and Matthias (reviewed code differs from committed code but matches my fix):
https://codereview.chromium.org//828353002
https://code.google.com/p/dart/source/detail?r=42612

R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45505 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 20:20:44 +00:00
fschneider@google.com e2afe6429c VM: Improve unoptimized code size by avoid emitting field guards.
Avoid emitting field guard code for fields that have dynamic cid and/or
no fixed length. To keep unoptimized and optimized flow-graphs in sync, the
deopt-id counter has to be advanced accordingly if the guard instructions are
not emitted.

If optimizations are disabled via --noopt, do not emit any field guards and
edge counters.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45502 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 18:46:39 +00:00
srdjan@google.com dbeedf6d26 Add --noopt flag that sets all kind of flags to make unoptimzied code as fast as possible (and not running optimized code at all).
Add flag --always_megamorphic_calls, causes instance calls to use megamorphic instead of ICdata calls.

R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45475 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-01 20:55:24 +00:00
rmacnak@google.com 6b85ce75dc When attempting to navigate to a page for an isolate that doesn't exist, offer to visit the same page for the each of the isolates that currently exist.
- Remove trailing slash from vm-connect page for uniformity with other pages
- Fix script-inset sizing.

R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45472 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-01 18:39:19 +00:00
rmacnak@google.com 18a5d6f392 Add breadcrumb for the VM.
R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45471 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-01 18:23:24 +00:00
turnidge@google.com b18024efb1 Add the --steal-breakpoints flag.
Add a test.

Update debugging_test.dart to not use line number instead of token pos to make it modestly less fragile.

BUG=
R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45470 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-01 17:56:35 +00:00
rmacnak@google.com a6e42c48b5 Deal with deferred loading in the VM mirrors.
- Invalidate MirrorSystem.libraries when a load completes.
- Recheck if a deferred import's target has been loaded before failing.
- Allow loading libraries from a LibraryDepedencyMirror.
- Propogate compile-time error when attempting to reflect a deferred type.

BUG=http://dartbug.com/22592
R=asiva@google.com, gbracha@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45444 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-28 23:47:45 +00:00
johnmccutchan@google.com e4f20705f5 Fix idle ticks during isolate startup
- Change default isolate vm tag from idle to Embedder
- When a thread is exiting an isolate, only set the Idle tag if the isolate has been made runnable. Set LoadWait tag otherwise.

R=iposva@google.com, rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45436 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-28 00:32:44 +00:00
fschneider@google.com ca629181d0 VM: Use canonical empty-array for empty inlining meta-data.
When inlining meta-information is not used, use Object::empty_array()
instead of Array::New(0), thus saving those allocations.

Guard places for length 0 - before all code objects had an inlining
interval array of length at least 1.

This saves 2 old-space array allocations per unoptimized code object.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45435 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-27 22:50:02 +00:00
rmacnak@google.com f5146670c6 Fix unsimulated ARM64 build.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45434 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-27 22:16:53 +00:00
johnmccutchan@google.com c670979533 - Fully load both Dart and Stub code kinds
- Ouptut "_optimized" field for fake code objects.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45433 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-27 22:00:18 +00:00
rmacnak@google.com 44bb8bf95f Enable profiler by default on Android, and reduce profiler sampling rate for Android, ARM and MIPS.
Raspberry Pi 1 B+ (700MHz single-core ARMv6)
--profile_period=1000  DeltaBlue(RunTime): 231748.1111111111 us.
--profile_period=10000 DeltaBlue(RunTime): 117826.64705882352 us.
--profile_period=20000 DeltaBlue(RunTime): 111494.05555555555 us.
--profile_period=50000 DeltaBlue(RunTime): 101028.45000000001 us.
--profile=false        DeltaBlue(RunTime): 100488.70000000001 us.

Raspberry Pi 2 B (900MHz quad-core ARMv7)
--profile_period=1000  DeltaBlue(RunTime): 19612.676470588238 us.
--profile_period=10000 DeltaBlue(RunTime): 18774.51401869159 us.
--profile_period=20000 DeltaBlue(RunTime): 18611.314814814818 us.
--profile_period=50000 DeltaBlue(RunTime): 18940.10377358491 us.
--profile=false        DeltaBlue(RunTime): 18242.463636363635 us.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45432 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-27 21:45:51 +00:00
regis@google.com d5bace63ad Support profiling of simulated Dart code on mips, arm, and arm64.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45430 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-27 19:55:53 +00:00
rmacnak@google.com 0184cf0eca Add links to Observatory documentation and bug tracking.
BUG=http://dartbug.com/23224
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45428 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-27 17:25:33 +00:00
johnmccutchan@google.com e23be8563a Fixes to enable building dart:io implementation cleanly in mojo tree
+ make Observatory respect script line offsets (which Sky uses).

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45427 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-27 14:46:32 +00:00
iposva@google.com a1854d45ac Fix http://dartbug.com/23290
- Ensure that we do have unoptimized code available when generating
  coverage information.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45419 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 23:31:15 +00:00
johnmccutchan@google.com 405d097ac8 Fix importing builtin libraries in gen_snapshot
BUG=
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45418 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 22:08:44 +00:00
nweiz@google.com 67f65fef97 Make observatory keep using html5lib.
Observatory has its own separate set of third_party packages.

TBR

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45413 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 20:50:24 +00:00
rmacnak@google.com 9b245afa1e Fix showing values of instance fields.
BUG=
R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45411 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 20:13:42 +00:00
nweiz@google.com 70a846ad6c Update pubspecs and dependencies to get pkgbuild tests working.
This also removes the vendored copy of Angular, which was an outdated version of
an unstaffed branch.

R=pquitslund@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45410 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 20:08:53 +00:00
srdjan@google.com 6a524865a1 Remove public int.is64Bit.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45407 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 18:53:05 +00:00
rmacnak@google.com 327b85d956 Move symbol demangling to dart:_internal to remove dart:core dependency on dart:mirrors.
BUG=
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45405 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 17:49:58 +00:00
hausner@google.com 1890e567fe Simplification in resolving classes
The helper functions in Parser to resolve classes in the library
and prefix scope created an unnecessary handlescope. With libraries
caching previous lookups, and with namespaces now using dictionaries,
there are just a handful (so to speak) of handles allocated for the
lookup. That does not warrant a handlescope. Removed the helper
functions.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45399 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 15:45:54 +00:00
johnmccutchan@google.com 50ec92f8f2 Fix service rpc parameter validation
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45391 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 00:36:24 +00:00
johnmccutchan@google.com 583f48a132 Add crash dumps to service protocol and Observatory
- Add _getCrashDump RPC
- crash dump service response is map of request uris to responses, includes:
  -- getVM
  -- getFlagList
  -- for each isolate:
      -- getIsolate
      -- _getAllocationProfile
      -- getStack
- Add FakeVM to service library
- Add load crash dump to Observatory connect page
- Removes old chromium target support from connect page
- Make debugger page display stack even if libraries can't be loaded
- Fix reload of vm-connect page
- Fix polymer initialization calls

R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45390 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 00:08:07 +00:00
regis@google.com 98ae5ba15a Implement bigint shift intrinsics on arm.
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45385 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-23 22:20:54 +00:00
srdjan@google.com 70774b53fa Fix flag —no-propagate-ic-data.
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45381 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-23 20:32:43 +00:00
turnidge@google.com aa1363c2af Update hack in test_helper.dart to handle new error message.
BUG=
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45379 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-23 18:32:54 +00:00
turnidge@google.com d9f65329c3 Do not JSON encode the 'result' of a service rpc.
Before a response looked like this...

{ result:<string> id:* }

...where result was always a json encoded string.  This meant that
users of the service protocol had to json decode both the outer
message and the result, which was silly.

Now a response looks like this:

{ result:<map> id:* }

This means that users of the service protocol only need to decode once.

We have changed event formats as well.  Previously, an event looked like this:

{ result:<string> }

(Essentially a result without an id.)  The result was json encoded,
requiring the user to double-decode.

Now an event looks like this:

{ event:<map> }

This allows us to distinguish events from rpc results and avoids
double-decoding.  It also avoids having an id-less rpc result mistaken
for an event.

------------

Some details and associated changes:

- Unify GCEvent and ServiceEvent in the VM.

- Move sequence number handling out of dart code and into JSONStream
  in the VM.  Plumbing.  I needed to do this to avoid double-encoding.
  Some of the dart code gets a bit simpler.

- Update C++ tests to have a sequence number.

- Change format of method/params used in Error responses to be more json-y.

- Strip out double decoding in the service lib.

- Improvements to tests.  I was running into some races and other issues.

- Fail fast when we run into a message decoding problem.  Instead of
  returning a service exception, we now disconnect from the vm.

- VMDisconnected => ConnectionClosed.

- Add some support for a reason string when disconnecting from the vm
  in the service library.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45378 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-23 17:55:08 +00:00
ajohnsen@google.com ab6f8cc118 Make all of stdout/stderr/stdin pipes close-on-exec when spawing child processes.
BUG=
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45370 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-23 07:37:53 +00:00
rmacnak@google.com 948e638dd8 Fix script-view. Hide annotations except the current position when debugging.
Review URL: https://codereview.chromium.org//1079163009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45364 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 20:49:33 +00:00
regis@google.com 2e2bcf6149 Use a breakpoint instruction for a stop message on arm instead of
a svc instruction (or hlt instruction on arm64).
The instructions svc and hlt are used in conjunction with a simulator only.
At least, gdb now stops on armv5te when hitting a stop message (no prompt).
Add support for printing stop message in disassembly on mips and arm64.
Clean up various bkpt codes on arm (now similar to arm64 and mips).

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45363 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 20:45:52 +00:00
hausner@google.com ec56ffcc1d Minor refactoring of local name resolution
Not much to see here, move along please.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45357 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 19:45:19 +00:00
koda@google.com db58faa53e Fix array allocation overflow check on arm/arm64/mips.
When adding an object size in bytes to the allocation top address,
we must check for *unsigned* overflow, not signed overflow. 32-bit example:
if top is 0xfffff000 and size is 0x1008, then top + size is an unsigned,
but not a signed, overflow.

Add similar unit test for typed data (same issue).

BUG=23254
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45354 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 18:32:37 +00:00
rmacnak@google.com e2c41789ee Mirrors memory usage tweaks.
- Don't build and cache vestigial members/constructors maps.
- Avoid creating multiple LibraryMirrors for the same library.
- Store infrequently used method flags as a bitfield.
- Don't cache MethodMirror source.

mirrors_reader_test final heap size: 10.8 -> 8.9 MB (-17.5%)
mirrors_reader_test time: 1.55 -> 1.33 seconds (-14.2%)

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45352 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 17:51:49 +00:00
johnmccutchan@google.com 73fe0259ff CPU profile displayed in three tables with a tree
Table #1:
All functions sortable on inclusive or exclusive.

Table #2:
Callers of focused function.

Table #3:
Callees of focused function.

Tree:
Inclusive or Exclusive rooted profile tree filtered by focused function.

Also includes:

- Kill LinkLocationManager.
- Merge HashLocationManager into LocationManager.
- Kill nav-control element.
- Add goParameter to navigate based on page parameters (e.g. ?isolateId=...).

R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45348 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 14:05:20 +00:00
fschneider@google.com 3ec3e1bec2 VM: Fix potential bug in x64 inline cache stub.
A frame entered with EnterStubFrame, must be left with
LeaveStubFrame. It did not cause a crash since the inline cache stubs
don't load a new pool pointer, but leave PP unchanged and use the callers pp.

I checked other platforms - they already use LeaveStubFrame in the right places.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45345 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 13:11:07 +00:00
lrn@google.com a8036defab Ensure that native function throws on bad argument instead of aborting.
Review URL: https://codereview.chromium.org//1072193006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45343 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 12:40:45 +00:00
lrn@google.com f139d0e93b Add List.unmodifiable constructor.
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45334 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 10:48:22 +00:00
fschneider@google.com 99f775103e VM: Fix dissassembly output of stub code.
Make --disassemble-stubs works with multiple isolates.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45333 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 10:45:17 +00:00
rmacnak@google.com 529993214f Fix missing annotations in script inset when first annotation is outside the subset of lines being displayed.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45326 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 00:42:55 +00:00
johnmccutchan@google.com 0afab79fde Skip coverage test on Windows
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45319 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 20:10:13 +00:00
hausner@google.com 21ca62f8bc Properly resolve top-level setters
Fixes issue 4386.

When converting a getter to a setter (converting a right-hand
side expression to a left-hand side, assignable entity),
we need to know where to look for the setter function.
Top-level setters need to be resolved in the library or prefix
scope in which the getter was found.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45316 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 17:36:34 +00:00
rmacnak@google.com 11d54fd84f Reapply "Add tests for evalutating against activation records."
Also kill the testee if the tester has an exceptions running its tests.

BUG=http://dartbug.com/20047
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45305 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 01:13:59 +00:00
johnmccutchan@google.com 52022c23fd Do not register service isolate descendants for debugging
BUG=
R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45304 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 01:10:54 +00:00
asiva@google.com ec55c135c5 Fix check for return of error before calling SyncDirectoryListing.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45292 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 17:23:10 +00:00
zra@google.com a1c3f3356a Marks crashing test as crash on MIPS.
Review URL: https://codereview.chromium.org//1062743004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45283 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 14:42:18 +00:00
vegorov@google.com 7db7425826 Reland r45243.
Type and constant propagator should guard against mutable class ids.

Constant strings can be externalized so we can't fold away class checks against
them.

Prevent CP from removing redefinitions of constants with mutable cids.

BUG=
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45275 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 10:42:54 +00:00
koda@google.com db7d4bb417 Skip vm/cc/ArrayLengthMaxElements on simulators while debugging issue 23254.
BUG=23254
TBR=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45267 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-18 02:36:49 +00:00
rmacnak@google.com f415625d5c Revert "Add tests for evalutating against activation records."
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45264 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-18 00:56:26 +00:00
rmacnak@google.com 677c32a426 Add tests for evalutating against activation records.
Report an exception when the testee hits an assertion failure.

BUG=http://dartbug.com/20047
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45263 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-18 00:06:21 +00:00
koda@google.com 6ff7a0afad Extend list length unit test.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45262 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 23:56:55 +00:00
turnidge@google.com ec2519c464 Apparently every flag is modified in some test configurations on the buildbot.
This broke my assumption that I could find at least one unmodified flag.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45261 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 23:28:00 +00:00
turnidge@google.com a91774ba56 Fix buildbot.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45260 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 22:32:09 +00:00
turnidge@google.com ad2bb796bc My new tests made some bad assumptions about flag values.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45259 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 22:04:32 +00:00
srdjan@google.com 425c6de684 Emit OSR check stub only if needed.
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45258 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 21:25:53 +00:00
turnidge@google.com ca5de9eac9 Kill service_test.cc tests in favor of dart tests for the service protocol.
Associated cleanups and fixes that I noticed as I rewrote the tests.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45257 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 21:08:02 +00:00
johnmccutchan@google.com 900f88389c Set version back to 111
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45255 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 20:35:43 +00:00
johnmccutchan@google.com 75ac0ef5e8 Analytics version for 1.10
TBR=iposva

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45254 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 20:31:50 +00:00
regis@google.com c983ebf506 Fix bigint division (issue 23238).
Add regression test.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45253 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 20:30:29 +00:00
hausner@google.com a75b05bc31 Don’t search scope of top-level class twice
When resolving an identifier in top-level code, we don’t need
to search the class scope. That scope is searched again when
resolving the identifier in the library scope.

Sadly, the change makes no measurable difference. It’s just a drop
in the bucket.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45249 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 18:08:12 +00:00
vegorov@google.com ea74236e5c Revert "Type and constant propagator should guard against mutable class ids."
This reverts commit r45243.

Reason: VM segfauls when running dart2js in Release mode.

TBR=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45245 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 17:39:52 +00:00
vegorov@google.com 1cf4621d46 Type and constant propagator should guard against mutable class ids.
Constant strings can be externalized so we can't fold away class checks against them.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45243 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 16:58:25 +00:00
zra@google.com c90248c51d Adds comments about ARM versions.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45242 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 16:42:32 +00:00
fschneider@google.com 1fa1c69019 Remove redundant variable descriptors from optimized code.
The unoptimized code already contains a copy of these, so
we don't need to store them in two places.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45228 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 09:11:38 +00:00
rmacnak@google.com 9f56280609 Add asserts that isolates have a root library set up before they become runnable.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45224 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 00:44:47 +00:00
koda@google.com ce40dfd81e Fix List length size check; add test.
Ensures that we throw an exception rather than exit the VM (FATAL).

BUG=dart:23227
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45223 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 00:34:44 +00:00
iposva@google.com 2028a4ee7e - Avoid inconsistency of for example IterateObjects vs VisitObjects.
The majority of the sites uses VisitXYZ.
- Removed IterateNew* and IterateOld* as they are not needed any longer.

R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45221 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 23:16:25 +00:00
srdjan@google.com fc8076b6e3 Reduce instruction size on X64.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45220 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 21:10:23 +00:00
regis@google.com 9a2468736a Add support for debug break in Dart source.
The new flag --enable-debug-break turns the otherwise illegal Dart statement
  break "message";
into a break instruction preceded with a debug message, the equivalent of
emitting an Assembler::Stop("message").
Add a language test expecting a syntax error without the flag.
Change expected break instruction in arm64 simulator.
Remove constants related to now deleted simulator tracing on mips and arm64.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45218 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 19:32:48 +00:00
rmacnak@google.com 899490d306 Add annotation for function declarations. Mark functions with performance problems in red.
Reduce the saturation of the coverage markers.

Creating service-refs is horribly expensive: build the details for call sites and function declarations lazily.

Report is_inlinable instead of CanBeInlined because the latter depends whether the function currently has code or breakpoints.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45217 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 19:06:35 +00:00
sra@google.com 39dfecbfb5 Revert "Change ListIterator to only check for concurrent modification at each iteration"
Revert "Fix ListIterator.iterator function hash for VM."

This is not as easy to optimize for dart2js as initially thought.
Revert this change while we discuss.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45216 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 18:53:39 +00:00
johnmccutchan@google.com 138828554a Add page view analytics to Observatory
BUG=
R=sethladd@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45215 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 16:36:27 +00:00
lrn@google.com ef51a58b22 Fix ListIterator.iterator function hash for VM.
Review URL: https://codereview.chromium.org//1094533002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45199 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 09:17:56 +00:00
sra@google.com 6467b4302d dart2js implementation of StringBuffer.writeAll that optimizes better.
Sometimes we can avoid the StringBuffer object:

    t1 = new P.StringBuffer(leftDelimiter);
    t1.writeAll$2(parts, ", ");
    t1 = t1._contents += rightDelimiter;
    return t1.charCodeAt(0) == 0 ? t1 : t1;
-->
    t1 = P.StringBuffer__writeAll(leftDelimiter, parts, ", ") + rightDelimiter;
    return t1.charCodeAt(0) == 0 ? t1 : t1;

Also updated tests with missing cases.

R=lrn@google.com

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45188 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 23:13:29 +00:00
sra@google.com 18dd1aa826 Revert "dart2js implementation of StringBuffer.writeAll that optimizes better."
StringBuffer.writeAll is expected by pub tests to not be patched or inlined.  I'll fix that and redo.

TBR=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45186 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 22:55:05 +00:00
koda@google.com 95bdd07cfb Never mark free list elements.
Avoid confusion between heap premarking and verification by introducing the
invariant that FreeListElement is never marked.

Also fix incorrect statement about instruction objects being allocated premarked.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45185 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 22:18:07 +00:00
sra@google.com 54718dc6e2 dart2js implementation of StringBuffer.writeAll that optimizes better.
Sometimes we can avoid the StringBuffer object:

    t1 = new P.StringBuffer(leftDelimiter);
    t1.writeAll$2(parts, ", ");
    t1 = t1._contents += rightDelimiter;
    return t1.charCodeAt(0) == 0 ? t1 : t1;
-->
    t1 = P.StringBuffer__writeAll(leftDelimiter, parts, ", ") + rightDelimiter;
    return t1.charCodeAt(0) == 0 ? t1 : t1;

Also updated tests with missing cases.

R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45184 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 22:02:05 +00:00
regis@google.com 639df72133 Implement bigint shift intrinsics on IA32.
Make shifter register ECX explicit in shld and shrd instructions on IA32.
Fix bad encoding of shld and shrd on X64 and update assembler tests.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45182 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 20:46:24 +00:00
zra@google.com 86bfd7cb30 Adds a simarmv5te build and test target.
Also:
- Removes command line flags to choose simulated arm version.
  I think we should use build targets instead, like in this change,
  to make building and testing more obvious.
- Skips pkg tests on all simulators.

R=regis@google.com, ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45181 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 20:44:43 +00:00
koda@google.com 8990cbfcd2 Before write-protecting a PageSpace, return bump allocation block to freelist.
This fixes a potential issue where attempts to iterate over a write-protected
heap might try to ensure it's walkable by writing a header into the bump block.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45173 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 16:59:02 +00:00
johnmccutchan@google.com 6f40403682 Remove embedder-package scheme
- Soon mojo embedder private packages will be imported with a 'dart:_' prefixes.
- Add an explicit test of transitive private library access. This ensures that imports of 'dart:embedder_private_packages' cannot access anything imported within it.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45169 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 15:49:50 +00:00
karlklose@google.com d839c64766 Establish test expectations for dart2js running with the CPS based backend.
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45162 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 11:44:02 +00:00
rmacnak@google.com 26548a2f3d Remove some duplication in code that extracts the source for a function.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45145 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 19:41:38 +00:00
rmacnak@google.com 5797153584 Add Dart_NewIntegerFromUint64. Fix Dart_IntegerToUint64 for negative Smis.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45143 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 17:52:06 +00:00
johnmccutchan@google.com 484a2d2cfa Disable debugging_test on Windows
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45141 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 15:56:10 +00:00
vegorov@google.com d93103a35b Fix String._substringUnchecked intrinsic on x64.
It should check sminess of both start and end, not of end only.

BUG=
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45139 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 13:27:35 +00:00
fschneider@google.com 210c1073ce VM: Fix bug in stack map builder.
It did not crash because unoptimized code never has both
untagged cpu registers and FPU registers on the stack, but
resulted in unnecessary alloction of empty stackmaps in
unoptimized code.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45137 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 12:37:51 +00:00
hausner@google.com c9400962f7 Cleanup obsolete setter code
Early on in Dart, it was ok to have a static getter and dynamic setter
with the same name. This is no longer the case. Remove code that handles
the obsolete case.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45122 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 21:23:10 +00:00
koda@google.com c042387868 Move CHA field back to Isolate, pending a permanent fix.
Since the Thread structure is currently cleared on Enter/ExitIsolate,
there is a risk that CHA is cleared if an embedder callback executes during
compilation and switches/spawns isolates. This CL eliminates that risk.

However, Isolate is still not a good long-term place for CHA,
since it doesn't fit with a concurrent compilation model. Issue 23153 tracks
the work towards a permanent solution that couples its life cycle with
compilation.

R=fschneider@google.com, iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45121 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 20:59:51 +00:00
fschneider@google.com 4aa1febbe6 Eliminate object table and use regular object pool for deoptimization infos.
On platforms that already use an object pool, we had a separate object table
used only for deoptimization infos. With this CL we don't have separate
tables, but only use the common object pool for both purposes.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45108 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 15:43:58 +00:00
lrn@google.com e96a973492 Reduce timer stack overhead by getting immediate callback and run it, instead of calling through function.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45097 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 12:35:40 +00:00
lrn@google.com 0e22f7402f Move implementation from IterableBase to Iterable.
Keep IterableBase around, but just extend Iterable.

There is no good reason to have IterableBase different from Iterable. The only argument is to be consistent with ListBase, but that's also inconsistent with, e.g., Stream.
ListBase only exists because List uses the default List constructor, so it's not a good super-class. As a usability-tradeoff, the ListBase class exists as a super-class.
Iterable doesn't have the same problem, so applying that "trade-off" has no up-side.

(A better long-term solution would be to be able to designate another constructor as the default "super()" constructor to call, so List could be used as a superclass).

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45096 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 12:26:15 +00:00
lrn@google.com 1b208bd6e6 Update Isolate API.
Remove AS_EVENT as priority of ping/kill. It wasn't very usable or predictable.
Make priority consistently named and a named parameter.
Add response object to ping/addExitListener so it doesn't have to send null.
This is useful for cases where you want to use the same receive port for
multiple purposes.

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45092 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 10:29:54 +00:00
regis@google.com 23aa3d20e3 Avoid restoring the outer saved try context when inside a finally.
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45083 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 23:24:05 +00:00
regis@google.com 8b73c2a3e5 Simplify restoring of saved try contexts in async code by passing around the
relevant variables instead of scopes and try indices.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45081 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 22:15:00 +00:00
rmacnak@google.com c4403ec250 Ensure call_site_data_test runs with unoptimized code so invocation counts are accurate.
BUG=http://dartbug.com/23160
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45073 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 17:12:06 +00:00
fschneider@google.com c2fad4230c VM: Enable collection of unoptimized code for optimized functions.
Until now, code GC was limited to function that have not been optimized.
With lazy generation of unoptimized code on deoptimization we can now
collect unoptimized code for optimized functions as well.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45062 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 12:02:30 +00:00
ricow@google.com 8a77499ec5 Mark service/call_site_data_test as flaky on linux
This is not really flaky, but is failing when running with optimization counter tresshold 5

R=iposva@google.com
BUG=23160

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45050 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 06:56:03 +00:00
johnmccutchan@google.com 093460be01 Run service tests in a zone that gracefully handles websocket disconnections
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45046 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 23:58:31 +00:00
johnmccutchan@google.com f6a86e830e Disable code_test on Windows
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45045 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 23:38:56 +00:00
johnmccutchan@google.com 647c355f8c Relocate service library tests and hookup a working status file
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45043 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 22:57:59 +00:00
regis@google.com 8a0194b846 Fix mint shifting by zero on MIPS (issue 23117).
Add regression test.
Restore formatting space dropped by mistake in simulator tracing output.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45042 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 22:50:25 +00:00
johnmccutchan@google.com cef8aa3a34 Enable observatory tests by default
BUG=
R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45039 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 21:43:28 +00:00
koda@google.com 61c32bf1b8 Update graph_test with new class id.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45038 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 21:40:26 +00:00
turnidge@google.com 0edd5aae1e Some cleanups in the code that posts results to service clients.
- Remove the notion of event families and masks.  This wasn't really used.

- Change "response" to "result" in our response map to be more json-rpc-like.

- Pass events to the service isolate as Strings.

- Add more type declarations around raw data (Uint8List) responses.

BUG=
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45034 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 21:08:38 +00:00
turnidge@google.com 6f519e9d96 Fix all Observatory warnings/errors.
BUG=
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45032 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 20:30:59 +00:00
johnmccutchan@google.com 198120555f Allow for 'embedder-package' URI scheme in builtin.dart
- Will be used by Mojo embedder.

R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45031 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 20:23:39 +00:00
hausner@google.com eb83e6f8aa Allocate named parameter names in old space
Make sure the array of names of named actual parameters remains
in old space when it grows. The array may be used as a literal
when generating code for a NSM exception, so it must be in old space.

Fixes issue 23121.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45024 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 18:37:42 +00:00
koda@google.com ea5a3de93d Fix auto-refresh in Heap profile.
To avoid lag when the profile page cannot keep up with the GC events,
keep at most one outstanding auto-refresh request (but make sure to refresh
up to and including the latest GC).

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45015 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 16:01:39 +00:00
fschneider@google.com d2513e7841 Add assertion for variable index of reused potentially reused AST nodes.
The flow graph inliner reuses the callee ASTs, therefore nodes may already
have an index assigned. Make sure it matches.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44995 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 09:08:06 +00:00
iposva@google.com 320b0e5541 - Remove JSCRE from the runtime.
R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44987 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 23:59:23 +00:00
rmacnak@google.com 369c119539 Remove dead ClassMirror._methods. Remove FunctionTypeMirror.members|constructors that should have been removed along with ClassMirror.members|constructors.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44986 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 22:17:23 +00:00
hausner@google.com aa75044ff7 Fix spurious resume when awaiting future in async* code
Fixes issue reported in bug 23116.

The equivalent fix for dart2js contains a test case for this.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44985 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 22:09:20 +00:00
rmacnak@google.com b3f4ce9bd8 Deal with type arguments of generic local functions in VM mirrors.
BUG=http://dartbug.com/14913
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44983 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 21:40:51 +00:00
regis@google.com 831406238c Remove zapping of registers introduced in r37297 that has not turned up any GC
bugs in a long time.

R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44982 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 20:56:28 +00:00
regis@google.com 6404ee602e Replace MIPS TraceSimMsg calls with Comment calls.
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44981 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 19:59:50 +00:00
vegorov@google.com 3062d3bae0 Compress deopt instructions in memory using variable length encoding.
Remove DeoptInfo type entirely and store compressed instructions in the TypedData.

BUG=
R=fschneider@google.com, iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44966 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 13:08:36 +00:00
rmacnak@google.com 766df03b1b Fix MethodMirror.source when the method is on the first line in a script.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44957 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 01:02:48 +00:00
regis@google.com 11fb39533c Make sure declared upper bounds are resolved when finalizing a type containing a
cycle via bounds (issue 23089).
Add regression test.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44956 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 00:59:52 +00:00
zra@google.com bce0195683 Fixes bug in LoadIndexedInstr on ARM.
Assembler::ElementAddressForRegIndex already untags the index.

On MIPS, the removed instruction had no effect.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44955 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-07 23:48:38 +00:00
johnmccutchan@google.com eb233f2cb4 Fix Windows build
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44944 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-07 19:19:51 +00:00
johnmccutchan@google.com afe774a4c4 Remove profiler signal handler on shutdown
BUG=https://github.com/domokit/mojo/issues/79
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44943 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-07 18:33:01 +00:00
zra@google.com 9eaea2e779 Fixes ARM instruction version checking.
Emulates umaal on ARMv5TE.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44940 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-07 17:36:46 +00:00
sgjesse@google.com 5973b2c422 Make the construction of a ProcessResult public
There was really no need for it to be a private implementation.

BUG=http://dartbug.com/23070
R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44935 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-07 13:05:45 +00:00
fschneider@google.com 9709db7f76 VM: Add infrastructure to support deferred generation of unoptimized code.
Add deferred deoptimization instructions for return address, pc marker and
object pool pointer. This enables generating unoptimized code lazily
on deoptimization.

This CL does not change the way unoptimized code is generated or collected
yet, but just provides the mechanisms needed. This can be used to allow
code GC for the unoptimized code of optimized functions.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44934 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-07 12:32:22 +00:00
turnidge@google.com 03fbeff0bf Go back to old naming for implicit functions to fix the build.
Investigate offline.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44926 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 20:04:45 +00:00
regis@google.com face2b5503 Cache the intermediate result of a div (or rem) operation on bigint and reuse if
followed by rem (or div) with identical dividend and divisor.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44925 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 19:51:38 +00:00
turnidge@google.com fb591fc36a Continue improving the documentation for the vm service protocol.
Clean up the protocol a bit as I go.

---

Addendum:

Clean up inconsistencies between field and function ownership in the protocol.

Change the names of implicit closure functions (!)

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44923 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 19:24:47 +00:00
srdjan@google.com 2a89dbdcbf A CheckClass instruction that compares against a null class only can be optimized to check instance instead of its class, since null-class has only one instance (not counting the sentinel, transitional etc temorary instances).
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44920 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 17:32:09 +00:00
zra@google.com 6dc0a4b7a0 Updates status file for fixed test on Android content shell.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44913 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 15:53:43 +00:00
johnmccutchan@google.com 5c7d4bd9d3 Fix crash when posting a message to a send port with port id 0.
BUG=
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44906 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-05 19:06:29 +00:00
asiva@google.com 956ec7cd52 Eliminate some duplicate symbols in the predefined symbols list (the keyword list already has these symbols).
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44901 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-04 00:20:08 +00:00
rmacnak@google.com 7b24669458 Display multiline strings as multiline in Observatory's inspector.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44892 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-03 21:30:50 +00:00
rmacnak@google.com 0f06986f55 Use evaluate:source as the uri of eval scripts instead of the empty string, so e.g., package:stack_trace will tolerate them.
BUG=http://dartbug.com/23006
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44884 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-03 18:38:01 +00:00
hausner@google.com 0b99d6dc95 Better error messages when matching parens and braces
Tell user where the mismatched closing paren or brace
opens.

Fix for 22820 and improvement for (previously closed) 2936

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44882 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-03 17:07:25 +00:00
zra@google.com f6028da01d Fixes bug in typed data read/write for floats and doubles.
When reading from a byte array as floats or doubles, perform the
endianness correction before converting to a float or double
rather than the other way around. This is to avoid floating
point canonicalization changing the bytes before we put them
in the right order.

Unrelatedly, this change also adds armv5te as an architecture
needing extra time for tests to correct an oversight in my
last CL.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44871 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-02 20:22:39 +00:00
turnidge@google.com 52538c5315 Tidy up the service protocol. Begin improving the documentation.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44865 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-02 19:16:35 +00:00
koda@google.com 549c74a3da Avoid caching thread in parser.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44854 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-02 01:14:31 +00:00
koda@google.com db37a330e4 Add missing ExitIsolate to benchmark test.
TBR=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44851 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 23:29:56 +00:00
asiva@google.com 5989674640 Fix compiler errors that seem to show up in the Android build under mojo/sky
../../dart/runtime/vm/compiler.cc: In static member function 'static dart::RawError* dart::Compiler::Compile(const dart::Library&, const dart::Script&)':
../../dart/runtime/vm/compiler.cc:181:18: error: variable 'isolate' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
   Isolate* const isolate = Isolate::Current();
                  ^
../../dart/runtime/vm/compiler.cc: In static member function 'static dart::RawObject* dart::Compiler::EvaluateStaticInitializer(const dart::Field&)':
../../dart/runtime/vm/compiler.cc:1145:18: error: variable 'isolate' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered]
   Isolate* const isolate = Isolate::Current();
                  ^

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44850 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 23:10:56 +00:00
regis@google.com b5ec6bb9b6 Move zero-ing code out of shift intrinsic (not needed if destination is new).
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44849 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 22:37:47 +00:00
koda@google.com 909b3f5cb5 Fix Dartium build: Add missing Dart_ExitIsolate before call to Dart_CreateIsolate.
The API specifies that there must be no current isolate when creating a new one.
Add the corresponding check.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44848 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 22:32:22 +00:00
hausner@google.com 125c3db54b Tweak debugger safe point generation
This change eliminates debugger safe points (DebugStepCheck calls)
on variable assignments where the value is loaded from an internal
variable.

This fixes issues like the one reported in bug 22447 by eliminating
some safe points from implicitly generated code that interfered
with user code.

To fully eliminate the root cause of this, we’d have to record the
order in which safe points on a source line are executed. That’s for
another day, month, year...

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44847 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 22:31:33 +00:00
johnmccutchan@google.com afdc076292 Do not register service isolate descendants with service
Review URL: https://codereview.chromium.org//1053713003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44842 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 20:23:42 +00:00
rmacnak@google.com 61639129a7 Call site data UI tweaks.
- Make calls have the same cursor as links.
 - Highlight a call site when its data it visible.
 - Don't display the table header when a call site has no data.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44840 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 19:43:36 +00:00
koda@google.com f4419287aa Prepares for multiple threads by further decoupling Thread from Isolate.
- Replace Isolate::SetCurrent with more explicit Thread::Enter/ExitIsolate.
- Lazily initialize Thread instances when entering an isolate, to avoid new API calls for embedders.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44835 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 17:48:11 +00:00
regis@google.com 80410ae6d7 Implement bigint shift intrinsics on x64.
Add assembler support and tests for shld and shrd instructions on x64.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44834 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 17:35:52 +00:00
hausner@google.com 9613ed6300 Let debugger find async function literals
This is a fix for issue 22030.

When looking for known functions, consider even non-debuggable
functions, so that we don’t set the breakpoint too eagerly
in the outer function.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44829 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 00:18:11 +00:00
zra@google.com 34044a4ca8 Adds armv5 build and test target.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44828 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-31 23:11:33 +00:00
hausner@google.com f5339aaabb Add the implicit return in the correct sequence node
Make sure we add the implicit return node into the sequence
node that contains the function’s code. Previously, we added
the implicit return in the outermost sequence. If the outermost
sequence is at a different context level than the sequence that
contains the function’s code, the debugger cannot access the
captured variables when stopped at the return statement.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44826 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-31 22:11:06 +00:00
turnidge@google.com d6561a3667 Fix some Observatory issues that crept in with my last couple changes.
- need ObservatoryApplication class in ObservatoryDebugger
- mainPort is gone now

BUG=
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44818 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-31 19:33:38 +00:00
asiva@google.com f752505e8d Fix windows compilation error "cannot allocate an array of constant size 0".
Review URL: https://codereview.chromium.org//1045253003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44817 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-31 19:32:23 +00:00