Commit Graph

6490 Commits

Author SHA1 Message Date
hausner@google.com f58745f751 Fix parsing and resolving of prefixed names
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37631 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-23 23:26:26 +00:00
srdjan@google.com 3da591793a Always inline Object.==.
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37630 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-23 23:18:02 +00:00
srdjan@google.com 97021b5861 Add class id constants fields to dart:_internal class 'ClassID'. Use the fields in the library (more uses to come).
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37628 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-23 22:41:59 +00:00
zra@google.com 2ab7fa6c72 Omits size bits when writing RawObject tags to a snapshot.
Makes snapshot ~30KB smaller.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37626 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-23 22:18:04 +00:00
johnmccutchan@google.com dc9f902fb1 Fix code coverage (again!)
BUG=
R=koda@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37617 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-23 21:05:15 +00:00
koda@google.com d3c0913a3d Make retained size human-readable.
BUG=dart:19444
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37614 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-23 19:47:07 +00:00
fschneider@google.com 0d82ac5c05 Remove unused pc-descriptor kind kReturn.
This kind is not needed since the only place where it is used
can be just replaced with kRuntimeCall as it behaves the same.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37592 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-23 10:50:50 +00:00
floitsch@google.com 7a20438bb8 Update timer and adjust frequency.
BUG= http://dartbug.com/19435
BUG= http://dartbug.com/19082
R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37586 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-23 09:33:59 +00:00
koda@google.com b23b4ddd52 Verify that GC can handle trailing fillers in large pages.
Assert that filler objects created by String::MakeExternal and Array::MakeArray in large pages are never marked.

Add unit test that exercises the verification code.

R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37577 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-22 00:49:41 +00:00
asiva@google.com 51d2a5d219 Fix build breakage.
Review URL: https://codereview.chromium.org//345973003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37569 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 21:20:30 +00:00
asiva@google.com 9a718b8235 Add a function Dart_AllocateWithNativeFields which allocates an object and sets the native fields in one call.
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37568 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 21:08:33 +00:00
srdjan@google.com d44423b766 Add VM internal Dart class 'ClassID' used to manage class-ids of known classes. Next CL: add constant fields corresponding to each class id (smiCid, oneByteStringCid, etc).
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37567 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 20:56:55 +00:00
koda@google.com bd979f84d5 Send allocation stats with each class and show in class view.
For each class, if there are any allocations, shows current number of instances, shallow size, and the already existing link for retained size.

Also refactor code in ClassTable to reduce duplication.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37566 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 20:17:42 +00:00
johnmccutchan@google.com 9aeb79505a Fix Observatory code coverage
BUG=
R=koda@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37555 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 16:06:30 +00:00
johnmccutchan@google.com c897df4e7b Make size of sample variable based on the profile depth flag.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37553 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 14:46:54 +00:00
fschneider@google.com b1dfcdde00 Compute ranges for >> smi shifts and eliminate overflow check for smi << operations.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37541 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 12:06:48 +00:00
johnmccutchan@google.com 3eb3bc3fa9 Extend Range analysis to 64-bit range and mint operations
- Convert many private static functions into public static methods on Range or RangeBoundary classes.
- Simplify ConstraintInstr::InferRange to just use RangeBoundary::Min and RangeBoundary::Max calls.
- Extend RangeBoundary to 64-bits.
- Include mints in RangeAnalysis.
- Introduce generic Range::BinaryOp.
- Require ranges passed to Range::BinaryOp are finite.
- Clamp ranges attached to BinarySmiOpInstr and BinaryMintOpInstr.
- InferRange for BinaryMintOp and UnboxInteger instructions.
- Correctly set mint constant ranges.
- Add many tests.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37521 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-19 21:13:26 +00:00
srdjan@google.com def66a2a93 Double constants in code should be canonical.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37518 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-19 21:08:50 +00:00
asiva@google.com 857304304f Do not add '-p' and 'c' options to VM options, the VM flag processing
functionality only accepts flags with the '--' prefix. It silently
ignores all following options if an invalid option is specified.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37517 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-19 21:00:50 +00:00
regis@google.com 8cf0d1034e Ensure that a javascript compatibility warning results in a
JavascriptCompatibilityError being thrown in all cases when --warning_as_error
is specified.
Prior to this change, some javascript compatibility warnings resulted in a
compile time error.
Change expectations accordingly in tests.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37515 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-19 20:57:41 +00:00
iposva@google.com f14e2c1842 - Cleanup FlowGraph:
Bailout is not really needed any longer after removing the optimize_try_catch flag.
  Ensure the availability of VerifyUseLists in non-DEBUG code.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37474 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-19 05:26:33 +00:00
regis@google.com 32f3e11d99 Cleanup of error and warning reporting.
R=hausner@google.com, srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37468 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-18 22:30:34 +00:00
koda@google.com a65edb0397 VM service: List all instances of a class.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37465 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-18 20:55:09 +00:00
johnmccutchan@google.com b67b9f0e20 Remove timers from Service_Isolate test because the internal C++ json parser can't handle floating point numbers.
Review URL: https://codereview.chromium.org//340843003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37462 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-18 20:16:52 +00:00
johnmccutchan@google.com 452545ddcd Visual refresh of allocation profile page
- Redo layout of page.
- Show human readable strings for used, free, and external memory for each space.
- Track time of last forced GC/accumulator reset in isolate and display them in allocation profile page.
- Track allocation statistics on Class object itself.
- Make isolate's heap reporting use heap's PrintToJSON.
- Manually insert allocation profile table rows into dom (removes usage of template repeat).
- Add some timing information to allocation profile page update (to help diagnose slow downs).

Other changes:
- Upgrade to Polymer 0.11-dev (finally ends erroneous console spam).
- Replace enteredView/leftView with attached/detached (polymer change).
- Add <link> tag to polymer.html for each element (polymer change).
- Move <script> tag outside of element (uniformity, clarity).
- Remove unused collapsible-content element.

R=koda@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37456 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-18 17:39:37 +00:00
zra@google.com 1dc0e2331b Removes open arrays (e.g. data[0]) from raw objects.
Replaces them with data() methods as in RawArray.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37450 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-18 15:58:16 +00:00
fschneider@google.com 1657f150f1 Fix our initial dead phi elimination in the presence of try-catch.
BUG=dartbug.com/19519
TEST=tests/language/try_catch_optimized4_test.dart
R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37444 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-18 14:27:45 +00:00
fschneider@google.com 941ffb9a52 Enable OSR optimization for functions with try-catch.
This is working. I added and extended tests to cover the
different cases  where OSR can occur (inside/outside try/catch)

BUG=dartbug.com/16313,dartbug.com/17442
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37441 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-18 09:16:25 +00:00
srdjan@google.com 1a82ace818 Clean ups: isolate() -> I
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37430 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 22:32:49 +00:00
koda@google.com 5d9bf05ca5 Grow new gen when enough of it survives.
1M default initial size is enough to run "hello world" without triggering scavenge.

Default sizes are doubled on 64-bit (like old gen).

Also clean up and clarify "new gen capacity". In particular, rename confusing flag "new_gen_heap_size".

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37429 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 22:25:35 +00:00
hausner@google.com 6cc8cbc53b Adding embedder API function Dart_FinalizeLoading
Embedder must call Dart_FinalizeLoading when all outstanding
load requests are satisfied, to complete the deferred loading
futures.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37423 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 21:05:30 +00:00
srdjan@google.com ee210974f6 Reduce default capacity of growable list from 4 to 2 elements. Improves performance.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37421 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 20:49:47 +00:00
zra@google.com 419dce3183 Fixes field access on MIPS for classes with many fields.
This mirrors yesterday's fix for ARM.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37419 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 20:44:24 +00:00
koda@google.com b700281db4 Missing file.
Review URL: https://codereview.chromium.org//343503002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37416 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 20:16:00 +00:00
johnmccutchan@google.com 1833604ae6 Show pid on Observatory VM page
BUG=
R=koda@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37415 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 20:15:49 +00:00
koda@google.com 2b2d188df7 Heap::AllocateExternal may trigger GC, so fix String::MakeExternal.
Note that this may happen even for size 0 (since we may be overdue for a GC).

Some unit tests still optimistically expect that GC will not trigger.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37414 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 19:41:13 +00:00
rmacnak@google.com 7ce5c53f0b Pass around the current isolate in exception handling code.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37409 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 18:17:03 +00:00
johnmccutchan@google.com c3211b9608 Avoid calling anything related to signals on Windows
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37402 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 15:58:05 +00:00
srdjan@google.com 58fd318f4c Cleanup: use a ZoneGrowableArray instead of Array for ICData map.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37400 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 15:52:05 +00:00
johnmccutchan@google.com 7a761048f3 Wrap signal listening with try catch to fix Windows
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37398 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 14:46:47 +00:00
johnmccutchan@google.com 03854e0e8c Make TypedList not implement ByteBuffer.
BUG=https://code.google.com/p/dart/issues/detail?id=10136
R=asiva@google.com, iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37397 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 14:34:45 +00:00
johnmccutchan@google.com 164a3500ef SIGQUIT toggles VM service HTTP server
R=ajohnsen@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37396 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 14:26:38 +00:00
fschneider@google.com e169c20859 Fix bug in ARM instance field stores.
A large number of fields resulted in wrong offset
computation for the generated code for stores.

BUG=dartbug.com/19649
TEST=tests/language/large_class_declaration_test.dart
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37389 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-17 09:28:24 +00:00
koda@google.com 9098859cb0 Refactor creation of FinalizablePersistentHandle into proper factory.
This exposes an issue (19482) with the API and external size tracking.

BUG=dart:19482
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37381 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-16 23:55:34 +00:00
srdjan@google.com 8f2dc961d0 Save ICData of unoptimized code in the function, thus preserving it across repated unoptimized compilations.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37378 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-16 22:24:05 +00:00
iposva@google.com 5864eb56c6 - Use I instead of isolate() where possible.
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37375 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-16 20:50:05 +00:00
koda@google.com 5886e8ec95 Light-weight stats counters for temporary experiments/debugging.
A single statement is enough to add a counter:
  ...
  Isolate::Current()->counters()->Increment("allocated", size_in_bytes);
  ...

I've been using these myself for a while now, but figured others might
find them useful too. They are not intended for production use, just temporary local experiments/investigation.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37367 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-16 17:13:20 +00:00
koda@google.com 9280007de5 Limit canvas height in heap map.
Apparently many broswers fail to display a canvas taller than 6K-8K pixels.

This is a stop-gap solution that stops loading pages when max height has
been reached, and displays the correct total count for the user.

Longer-term, we should provide a less detailed, high-level view for huge heaps.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37366 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-16 17:09:23 +00:00
lrn@google.com 31eeb6caf2 Revert "New, more validating, parser for URI." and follow-up patches.
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37359 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-16 12:32:35 +00:00
lrn@google.com 7c9b3a3bdd Another case of the VM getting a path into Uri.parse.
Committed: https://code.google.com/p/dart/source/detail?r=37354

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37358 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-16 11:39:08 +00:00