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
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
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
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
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
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
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
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
fschneider@google.com
f085adbd00
More precise range analysis for smi multiplication.
...
R=vegorov@google.com
Review URL: https://codereview.chromium.org//336773003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37355 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-16 11:13:55 +00:00
hausner@google.com
4eac05607f
Lazy loading of deferred libraries
...
Defer reading of source code of deferred libraries until the
Dart code executes the loadLibrary() call.
R=iposva@google.com
Review URL: https://codereview.chromium.org//328923002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37334 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-13 22:43:31 +00:00
fschneider@google.com
b0904c1409
Record field initializer with simple literals stores at compile-time.
...
This helps to rule out fields from being unboxing candidates earlier and
avoids generating extra code to track the type at runtime.
Also, align the location summary computation for instance field stores to
use the same condition as the code generation function.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//330243003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37310 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-13 11:49:34 +00:00
ngeoffray@google.com
4936f84613
Fix a bug in ParallelMoveResolver::AllocateScratchRegister, where we end up allocating PC on ARM.
...
1) Iterate from first_free_register to last_free_register to ensure we're not using protected registers.
2) Break when finding an ok register.
2) fixes allocating PC on ARM by itself, but we could need 1) for another architecture.
The reason this has not been exposed yet, is because we call this method for a memory <-> memory
swap, which almost never happens on ARM.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//337503003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37304 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-13 08:02:23 +00:00
fschneider@google.com
fd11452415
Add range analysis for left-shift smi operations.
...
I factored some operations out into the Range and RangeBoundary class,
so that they can be used from unit tests and added cc tests.
R=johnmccutchan@google.com , vegorov@google.com
Review URL: https://codereview.chromium.org//333643004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37303 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-13 07:41:08 +00:00
regis@google.com
1186078de6
Add support to trace warnings in TraceBuffer.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//328663008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37298 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-13 00:47:15 +00:00
rmacnak@google.com
5afea71262
Setup R10/EDX to be valid Oops before stub calls so when the debug stub saves them to the stack the GC doesn't try to deference out of the heap.
...
BUG=http://dartbug.com/19331
R=asiva@google.com , iposva@google.com
Review URL: https://codereview.chromium.org//335443002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37297 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-12 23:50:48 +00:00
rmacnak@google.com
da3b61d764
Add missing demangling to the VM's NoSuchMethodError. Ensure the VM's NoSuchMethorErrors for reflective invocation match those for non-reflective invocation.
...
Fix bug in VM demangling of setters.
Fix bug where test was not covering invocation on classes as intended.
BUG=http://dartbug.com/18042
R=asiva@google.com
Review URL: https://codereview.chromium.org//326263002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37294 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-12 22:53:00 +00:00
zra@google.com
c46103f74a
Updates snapshot test for last commit.
...
Review URL: https://codereview.chromium.org//330163002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37288 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-12 20:37:54 +00:00
zra@google.com
47e2465545
Begins removing intptr_t from raw object fields.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//328893002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37285 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-12 19:56:46 +00:00
koda@google.com
24cd5e2385
Double default new gen size on 64-bit (like old gen).
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//329923004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37284 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-12 19:54:16 +00:00