zra@google.com
a4b84a722a
Ensures that stubs added to each object pool on x64
...
are generated before they are used by reordering the
list of stubs.
R=iposva@google.com
Review URL: https://codereview.chromium.org//258133002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35524 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-29 14:48:00 +00:00
johnmccutchan@google.com
15eff079d7
Collect samples during isolate startup
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//250883017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35522 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-29 14:17:31 +00:00
asiva@google.com
54397efcc5
Minor cleanup.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//259143002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35512 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-29 00:32:22 +00:00
hausner@google.com
f5dd5598ac
Don’t set more than one code breakpoint per token position
...
Some time ago when operator== calls had inlined null checks at
the call site, the debugger had to instrument multiple code breakpoints
that were all mapping to the same source position. This is no longer
necessary. This change makes sure we set a code breakpoint only at
the lowest compiled code address, so that expressions like i++ no longer
result in 2 or 3 breakpoints (one each for load filed, add, store field).
Fixes 18397.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//256243002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35510 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-28 23:40:34 +00:00
fschneider@google.com
b3098a263b
Fix polymorphic inlining of method dispatchers.
...
Field dispatchers and noSuchMethod dispatchers are generated by the VM
compiler and should always be inlined - this CL fixes the case of polymorphic
inlining where dipatchers were not inlined in the same way as for monomorphic
calls sites.
R=iposva@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//235013002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35490 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-28 18:01:57 +00:00
hausner@google.com
8e56764233
Fix registration of closure functions
...
Closure functions get registered in the class by the
compiler backend. The incorrect assumption was that each
closure only gets visited once. However, closures in finally
clauses are duplicated when the AST nodes of the finally
clause are inlined. This change avoids the duplicate registration.
Fixes issue 18225
R=srdjan@google.com
Review URL: https://codereview.chromium.org//252893002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35487 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-28 17:20:09 +00:00
srdjan@google.com
66c18e7c7d
Address comments on Issue 258563004.
...
Review URL: https://codereview.chromium.org//252873003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35486 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-28 17:17:38 +00:00
srdjan@google.com
6723f390fa
Disable optimizing compiler on SIMARM64.
...
R=zra@google.com
Review URL: https://codereview.chromium.org//256103003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35484 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-28 16:02:28 +00:00
srdjan@google.com
5ce61408ae
Fix SIMARM64 to compile on Mac, fix compilation because of ICData change.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//257793005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35460 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-26 00:13:32 +00:00
srdjan@google.com
93cf4041e4
Fix crashes: ComparisonInstr now has also kinds kIS and kISNOT: implement negation for those.
...
Review URL: https://codereview.chromium.org//251883004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35459 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-25 23:54:38 +00:00
regis@google.com
e0ab99b0b2
Remember all deopt reasons in ic_data, not just the last one.
...
Remember if a JS warning was issued in ic_data.
Save a word in ic_data on 64-bit platforms.
R=iposva@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//254723003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35457 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-25 23:45:14 +00:00
srdjan@google.com
0c2b0af123
Copy of Issue 231383002 after hard disk crash: First step in improving instance of test for a fixed set of value cids returning different results.
...
Review URL: https://codereview.chromium.org//258563004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35455 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-25 23:21:12 +00:00
zra@google.com
3274258b4d
Enables all codegen tests for arm64.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//259903002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35448 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-25 21:28:48 +00:00
turnidge@google.com
5e37b291bb
Disable an assertion until bug 18384 is fixed.
...
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//248173002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35445 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-25 20:48:17 +00:00
turnidge@google.com
18a8d7fe4c
Fixes bug where we would occasionally materialize a corrupted object.
...
On the slow path for a stack overflow check we manually spill the live
registers before our call to the runtime function. We were updating
all uses of these spilled registers in the Environment object but this
was not enough - we also need to update any uses of these spilled
registers in MaterializeObjectInstrs which are hanging off of the
Environment.
This would fail when a deoptimization was triggered during a stack
overflow check and a materialized object happened to refer to
registers.
I've been chasing this for a while and I was able to get it to
reliably reproduce by using the --stacktrace_every=N and the
--stacktrace_filter flags, which were added for this purpose.
ALSO:
Set the top context to null on exceptions/errors. This is needed for
the --verify-incoming-context flag.
Minor printing improvements.
R=fschneider@google.com
Review URL: https://codereview.chromium.org//246303004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35443 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-25 20:24:27 +00:00
zra@google.com
2dee7e5a6d
Enables all startup code for arm64.
...
Also, enables a few more codegen tests, and adds
a conditional move instruction.
R=regis@google.com
Review URL: https://codereview.chromium.org//253623003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35440 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-25 18:54:46 +00:00
koda@google.com
2373b673b3
Add Heap::isolate_ to simplify code.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//251373012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35434 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-25 17:49:27 +00:00
iposva@google.com
69fcc15576
- Account for live size in marker.
...
R=koda@google.com
Review URL: https://codereview.chromium.org//253493002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35413 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 23:20:48 +00:00
hausner@google.com
d7524ee0ba
Generate escape sequence for non-printable ascii characters
...
Fix issue 17857.
R=iposva@google.com
Review URL: https://codereview.chromium.org//254553003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35411 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 22:55:52 +00:00
koda@google.com
12fd7df2bc
Use history to estimate what fraction of allocation will be garbage => grow more when less garbage was collected.
...
Change semantics of heap_growth_rate flag to mean *maximum* number of pages we grow.
Allow more initial growth before first mark-sweep => many small programs will avoid mark-sweep.
R=iposva@google.com
Review URL: https://codereview.chromium.org//235343004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35410 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 22:30:20 +00:00
zra@google.com
321cec1c57
Fix build for ARM64.
...
Review URL: https://codereview.chromium.org//255543007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35406 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 22:08:20 +00:00
jacobr@google.com
8fd3f6a789
Workaround stacktrace crasher bug in the VM.
...
Fix for bug setting breakpoint after app reload.
BUG=
R=hausner@google.com
Review URL: https://codereview.chromium.org//254683003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35401 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 20:34:19 +00:00
iposva@google.com
84e4a2d2ce
- Remove unneeded creation of :saved_current_context_var
...
R=turnidge@google.com
Review URL: https://codereview.chromium.org//256623005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35400 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 20:31:45 +00:00
koda@google.com
40836ce1b5
Zero-sized new-space for VM isolate.
...
Also add unit test that ensures
a zero-sized Scavenger behaves correctly for all operations.
Reduces memory footprint by 32 MB.
R=iposva@google.com
Review URL: https://codereview.chromium.org//259483002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35389 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 18:13:36 +00:00
koda@google.com
8b204e9ac0
RingBuffer<T, N> utility with unit test; use for GC history.
...
Prompted by index-out-of-bounds error in old code (bug 18375).
BUG=dart:18375
R=iposva@google.com
Review URL: https://codereview.chromium.org//247793004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35384 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 17:07:51 +00:00
zra@google.com
9fc211af50
Enables simple static call test on arm64.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//255633002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35380 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 16:29:11 +00:00
srdjan@google.com
e4ecc75cfb
Copy of Issue 247503003: Fix inline tree printing and add more information to it.
...
(Lost all data on HD, using LGTM-d patch).
Review URL: https://codereview.chromium.org//258543002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35350 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 04:30:40 +00:00
iposva@google.com
0d236b7402
- Rationalize the way we use comments.
...
R=koda@google.com
Review URL: https://codereview.chromium.org//254483005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35349 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 01:57:47 +00:00
koda@google.com
fec858433b
Allocate assembler comments in old space.
...
TBR=iposva@google.com
Review URL: https://codereview.chromium.org//257443002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35347 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-24 00:49:46 +00:00
iposva@google.com
d8753e6f8b
- Remove some unnecessary classes from the object store.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//257413002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35343 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 23:45:17 +00:00
zra@google.com
37baacb116
Small fixes for Android.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//254383003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35342 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 23:20:24 +00:00
hausner@google.com
3f40651e3a
Support evaluation of expressions in context of a stack frame
...
This change adds a debugger API function to evaluate an expression
in the context of a particular stack frame. The expression can
refer to local variables accessible in the frame, but it cannot
alter the variables.
R=regis@google.com
Review URL: https://codereview.chromium.org//249533003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35340 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 22:56:23 +00:00
koda@google.com
66a5a51365
Remove VM isolate new-space allocation.
...
This was wrong, since those objects were never pre-marked.
Also, in a future change, we can completely avoid reserving new-space for the VM isolate.
Add ASSERT that VM isolate never allocates in new space.
R=iposva@google.com
Review URL: https://codereview.chromium.org//247623007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35339 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 22:48:33 +00:00
iposva@google.com
fd8565b071
- Add a minimal implementation of Capability.
...
- Make RawReceivePort and SendPort VM internal objects.
- Rationalize the creation of ports and their handling within the VM.
R=asiva@google.com
Review URL: https://codereview.chromium.org//243973002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35325 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 19:44:03 +00:00
koda@google.com
00ae3f7848
Fix accumulated size stats for fixed-size instances.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//249843003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35321 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 18:17:03 +00:00
regis@google.com
da0958c822
Expose functionality to create a stack trace to internal vm code.
...
Provide functionality to limit depth of printed stack trace.
Fix frame numbering in presence of invisible functions in stack trace.
Let FlowGraphBuilder know if it is building a graph to generate optimized code.
The above features will be used to warn on Javascript incompatibilities.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//248213002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35319 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 17:58:12 +00:00
zra@google.com
0995122da8
Enables first codegen test on arm64.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//246293010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35317 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 17:50:43 +00:00
koda@google.com
a36796b587
Connect heap map to instance view.
...
Clicking anywhere on the heap map sends an 'address' message to look up the object spanning the corresponding address.
Also fix issue with free list elements (which cannot be wrapped in handles).
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//249553003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35315 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 17:00:01 +00:00
rmacnak@google.com
7ba8ca5753
Reapply "Mark private functions in dart:* that are native or constructors as not visible (omitted from stack traces and ineligible for reflective enumeration or invocation)."
...
With fix for uninitialized is_dart_scheme_ when read from snapshot.
BUG=http://dartbug.com/15274
R=iposva@google.com
Review URL: https://codereview.chromium.org//247683002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35289 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 00:05:08 +00:00
regis@google.com
98bcbb0dae
Do not ignore side effects of a type test or type cast as expression, such
...
as bound errors in checked mode.
Added tests.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//246293008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35284 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-22 20:48:13 +00:00
zra@google.com
f94ea20502
Adds StoreIntoObject for arm64.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//247023004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35277 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-22 19:44:11 +00:00
johnmccutchan@google.com
1e72c0f6c4
Disable applyAuthorStyles
...
This allows us to remove the dependency on bootstrap.css (removal of bootstrap.css from third_party will happen in follow up CL).
As a side effect of this, the following changes have occurred:
- Removed Google Charts Table from allocation profile pane.
- Add a SortedTable view-model (used in allocation profile).
- Changes to CPU profile tree view.
- Consolidate string formatting utility functions.
There is some UI regression (font size is one size too small) that will have to be addressed in follow up CLs.
R=turnidge@google.com
Review URL: https://codereview.chromium.org//237683004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35266 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-22 16:01:14 +00:00
rmacnak@google.com
7840906011
Revert "Mark private functions in dart:* that are native or constructors as not visible (omitted from stack traces and ineligible for reflective enumeration or invocation)."
...
Review URL: https://codereview.chromium.org//246173002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35238 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-22 00:08:52 +00:00
rmacnak@google.com
69d82c334b
Mark private functions in dart:* that are native or constructors as not visible (omitted from stack traces and ineligible for reflective enumeration or invocation).
...
Ensure invocation_fuzz_test doesn't exit prematurely.
Also visit instance methods defined in superclasses.
Complete blacklist so invocation_fuzz_test passes on the VM.
B=http://dartbug.com/15274
R=iposva@google.com
Review URL: https://codereview.chromium.org//241993004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35234 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-21 23:24:17 +00:00
hausner@google.com
ea84b80f47
Add class id to debugger stack trace
...
Add the class id of the origin class of each activation frame’s function.
Top-level functions have no class id. The wire protocol for an activation
frame now looks like this:
CallFrame = “{“ functionName “:” String “,”
[ location “:” Location “,” ]
[ classId “:” Integer “,” ]
locals “:” NamedObjList “}“
R=devoncarew@google.com
Review URL: https://codereview.chromium.org//242453011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35232 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-21 23:16:41 +00:00
johnmccutchan@google.com
c3a88f02c0
Register existing isolates when service isolate is started
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//242493007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35227 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-21 22:16:34 +00:00
asiva@google.com
2d3f479fc6
Invoke the GC prolog and epilog callbacks during new gen GC too.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//245773002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35223 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-21 21:29:46 +00:00
zra@google.com
76dfb827cb
Adds load/store from signed, unscaled, 9-bit offset w/ no writeback to arm64.
...
I missed this before because it was in the docs under the assembler mnemonic ldur.
R=regis@google.com
Review URL: https://codereview.chromium.org//242983006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35222 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-21 20:30:27 +00:00
asiva@google.com
4eb6d5f7d8
Modify the Weak Reference Set creation API to make it easier to create
...
these sets in the GC Prologue code.
When this new API is not used in dartium:
Without prolog callbacks in New gen GC:
dom-modify createElement runs-per-second 260.94890510948903
dom-modify createTextNode runs-per-second 172.0
With prolog callbacks in New gen GC:
dom-modify createElement runs-per-second 316.0
dom-modify createTextNode runs-per-second 197.60479041916167
When this new API is used in dartium:
Without prolog callbacks in New gen GC:
dom-modify createElement runs-per-second 310.0
dom-modify createTextNode runs-per-second 174.4765702891326
With prolog callbacks in New gen GC:
dom-modify createElement runs-per-second 416.0
dom-modify createTextNode runs-per-second 241.75824175824175
R=iposva@google.com
Review URL: https://codereview.chromium.org//238063011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35215 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-21 18:31:15 +00:00
johnmccutchan@google.com
fdaf1b59bf
Undo r35207
...
Review URL: https://codereview.chromium.org//243583008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35208 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-21 16:03:52 +00:00