Граф коммитов

117 Коммитов

Автор SHA1 Сообщение Дата
Carsten "Tomcat" Book 558930f4e9 Backed out changeset e673dbc9848f (bug 1232686) for breaking VS2013 Builds 2016-04-16 10:57:53 +02:00
Terrence Cole 2177cca5cd Bug 1232686 - Use decltype to infer Variant::match return type; r=fitzgen 2015-12-15 07:45:22 -08:00
Chris Peterson 5cf84aa32d Bug 1103588 - Part 2: Replace deprecated String#contains with String#includes in devtools tests. r=jryans 2016-04-09 16:04:36 -07:00
Nicholas Nethercote 60dcde7875 Bug 1261723 (part 2) - Separate class ops from js::Class. code=njn,h4writer. r=efaust,bz.
js::Class op are often all null. And when they're not all null, they're often
duplicated among classes. By pulling them out into their own struct, and using a
(possibly null) pointer in js::Class, we can save 114 KiB per process on
64-bit, and half that on 32-bit.
* * *
imported patch separate-ClassOps-2

--HG--
extra : rebase_source : bd751bf247e9491c1966a123dbeffa573657dfb1
2016-04-01 11:00:01 +11:00
Nick Fitzgerald cd2c23a435 Bug 1249788 - Implement the census individuals view; r=jsantell
This adds the INDIVIDUALS view state to the memory panel, renames "dominator
tree display" to "label display", and adds a view for listing the individual
nodes in a census group and inspecting each nodes' retaining paths.

--HG--
rename : devtools/client/memory/actions/dominator-tree-display.js => devtools/client/memory/actions/label-display.js
rename : devtools/client/memory/reducers/dominator-tree-display.js => devtools/client/memory/reducers/label-display.js
2016-04-11 18:04:31 -07:00
Nick Fitzgerald d6a64fd361 Bug 1250966 - Ignore retaining paths that are strictly a super set of other paths. r=jimb 2016-04-06 16:23:00 -04:00
Nick Fitzgerald 1a331c72d1 Bug 1260939 - Add a method for getting census individuals and their shortest paths to HeapAnalyses{Client,Worker}; r=jimb a=kwierso
MozReview-Commit-ID: HHJ2masZB4k

--HG--
extra : histedit_source : bbc90e79f8ddc76b79faec7ce027b549aaaead45
2016-03-31 16:19:59 -07:00
Nick Fitzgerald c4c900965c Bug 1260590 - Add the `CensusUtils.getCensusIndividuals` utility; r=jimb a=kwierso
This commit adds the `getCensusIndividuals` utility for getting the individual
node IDs that match the census leaves specified by the given indices in a
pre-order depth-first traversal of a census report generated with the given
breakdown.

MozReview-Commit-ID: A4IRcP82iCC

--HG--
extra : histedit_source : e48cc59b522ce82f649f077b4686cea4715980f1
2016-03-31 16:19:22 -07:00
Nick Fitzgerald dfb9426d0e Bug 1260307 - Add the `CensusUtils.getReportLeaves` utility for getting leaves in a census report; r=jimb 2016-03-29 08:54:00 +02:00
Nick Fitzgerald 3475bae57b Bug 1260261 - Associate a `CensusTreeNode` with the leaf in the census report from which it was generated; r=jimb
This commit gives every `CensusTreeNode` instance a `reportLeafIndex` member
that is an index into a pre-order traversal of the census report from which it
was generated. This can be used to get the leaf in the census report
corresponding to a given `CensusTreeNode` instance.
2016-03-29 08:53:00 +02:00
Nick Fitzgerald 664b09649c Bug 1260260 - Add comments documenting members of `CensusTreeNode`; r=jsantell 2016-03-28 14:31:00 +02:00
Nick Fitzgerald a5bb09fb90 Bug 1258236 - Change the way we test for end-of-stream in ReadHeapSnapshot; r=sfink
Fold reading the size of the next message and testing whether the stream has
more data into the same operation.

MozReview-Commit-ID: GUJymKy7qsj
2016-03-25 14:53:00 +01:00
Nick Fitzgerald 6c085d3c3b Bug 1257687 - Add a utility to convert a count breakdown into a bucket breakdown. r=jsantell
--HG--
extra : amend_source : 7e06a8679279385a584effae291a63217801a45a
2016-03-18 17:47:41 -04:00
Nick Fitzgerald d5b9afe7c5 Bug 1257696 - Ensure that repeatedly converting the same census report into a CensusTreeNode tree results in the same CensusTreeNode tree. r=jsantell 2016-03-17 16:42:00 -04:00
Nick Fitzgerald 1685818a63 Bug 1254092 - TraceIncomingCCWs should work at the JSCompartment level of granularity. r=jimb
There can be multiple compartments within the same zone, only one of which is a
debuggee. In this scenario, CCWs from other compartments into the debuggee
compartment should be traced and treated as roots. Therefore, dealing with CCWs
at the JS::Zone level is incorrect, and this patch changes the granularity level
to JSCompartments. If you look at the callers and uses of the function, it makes
much more sense now.

Additionally, it renames `JS_TraceIncomingCCWs` to `JS::TraceIncomingCCWs`.

--HG--
rename : devtools/shared/heapsnapshot/tests/gtest/DoesCrossZoneBoundaries.cpp => devtools/shared/heapsnapshot/tests/gtest/DoesCrossCompartmentBoundaries.cpp
rename : devtools/shared/heapsnapshot/tests/gtest/DoesntCrossZoneBoundaries.cpp => devtools/shared/heapsnapshot/tests/gtest/DoesntCrossCompartmentBoundaries.cpp
2016-03-14 16:11:00 +01:00
Nick Fitzgerald 2903e378ec Bug 1226879 - Fix census tree sorting issue with inverted allocation stack breakdown; r=jimb 2016-02-24 13:11:00 +01:00
Nick Fitzgerald 6d647d768f Bug 1250307 - Add the `by: "bucket"` breakdown option; r=jimb
This commit introduces `{ by: "bucket" }` breakdown type. Similar to `by:
"count"`, this breakdown type is a leaf and doesn't further categorize or filter
nodes that it counts. Instead, it accumulates them in a bucket and reports them
as a array of node IDs.

MozReview-Commit-ID: EeyWlrj9ujf
2016-02-23 14:15:51 -08:00
Nick Fitzgerald 2d9d0a66d0 Bug 1248085 - Compute shortest paths in the HeapAnalysesWorker; r=jimb 2016-02-12 15:23:00 +01:00
Nick Fitzgerald 82a2a6c955 Bug 1247658 - Expose a method to JS for find the shortest retaining paths of some nodes in a heap snapshot; r=bz r=jimb
This commit adds the `computeShortestPaths` method to the `HeapSnapshot` webidl
interface. It implements this new method on the
`mozilla::devtools::HeapSnapshot` class.

--HG--
extra : rebase_source : 1772547b7093afd35918602b15cc52b8e07fc646
2016-02-11 14:32:00 +01:00
Julian Descottes 698c26c08d Bug 1246570 - mem.tool parentMap maps nodeId->node, remove verbose xpcshell logs;r=fitzgen 2016-02-10 17:57:37 +01:00
Sebastian Hengst b77d966c3d Backed out changeset e1576fc08c1c (bug 1246570) for XPCshell failures. r=backout 2016-02-10 12:55:11 +01:00
Julian Descottes 058c215317 Bug 1246570 - memory tool: parentMap should map nodeId->node. r=fitzgen 2016-02-08 21:16:22 +01:00
Nick Fitzgerald b8817f5424 Bug 1246017 - Create the parent map in the HeapAnalysesWorker; r=jimb 2016-02-05 15:11:48 -08:00
Carsten "Tomcat" Book 045e9f2c83 Backed out changeset 92889fed3b3b (bug 1246017) for xpcshell bustage 2016-02-05 14:06:27 +01:00
Nick Fitzgerald 34215b63aa Bug 1246017 - Create the parent map in the HeapAnalysesWorker; r=jimb 2016-02-04 18:05:00 +01:00
Nick Fitzgerald dd1c92ae4e Bug 1226878 - Fix incorrect totals and percents in memory tool; r=jimb
When filtering, we were merging total counts and total bytes as we added
matching paths from the unfiltered tree into the new, filtered tree. This was
incorrect, and caused us to double, triple, ... count the totals.

--HG--
extra : rebase_source : 6df8ff346c938e728b912901e01671ba2ad0cc9d
2016-02-04 16:10:00 +01:00
Nick Fitzgerald c0e5ca6e55 Bug 1219554 - Follow up: HeapAnalysesClient should set its Worker reference null upon destruction; r=jsantell
This makes attempts to use the HeapAnalysesClient after the worker has already
been destroyed into an earlier, less quiet error so we can catch more of them
and catch them sooner.
2016-02-04 11:53:00 +01:00
Bill McCloskey c663839ade Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
Carsten "Tomcat" Book 3d3ee3ca4a Merge mozilla-central to fx-team 2016-01-21 12:30:07 +01:00
Carsten "Tomcat" Book adbf945ebf merge mozilla-inbound to mozilla-central a=merge 2016-01-21 11:49:16 +01:00
Nick Fitzgerald 84be97e900 Bug 1241221 - Part 1: Fix incorrect reporting of "moreChildrenAvailable". r=jdescottes
The condition checked when reporting whether there were `moreChildrenAvailable`
when constructing the initial DominatorTreeNode tree from a DominatorTree was
backwards. This commit fixes the condition and adds a test that fails without
the condition fix.
2016-01-20 23:29:46 -05:00
Nick Fitzgerald 967b356fd0 Bug 1241221 - Part 0: Test retained size of nodes in dominmator trees. r=sfink
This adds a new test for dominator trees computed from heap snapshots, to make
sure that a node's retained size matches the following:

    retainedSize(node) = shallowSize(node) + sum(retainedSize(c) for c in children(node))

This test did not find the bug described in bug 1241221, but seems like a
valuable test to have anyways.
2016-01-20 13:08:00 -05:00
Nick Fitzgerald d5dae46c5f Bug 1220336 - Give HeapSnapshot.creationTime tests more slack for WinXP. r=jdescottes
These two tests have been intermittently failing on WinXP because the
`Date.now()` timers only have a granularity of +/- 15 milliseconds on that
platform. This commit ensures that we have a range of at least 30 milliseconds
before and after taking the snapshot to ensure that the snapshot's timestamp
will fit within the range.
2016-01-19 13:51:00 +01:00
Julian Descottes eea767427d Bug 1215955 - Add deleteSnapshot to HeapAnalysisWorker. r=fitzgen 2016-01-12 10:41:17 +01:00
Lars T Hansen 066de48f44 Bug 1239666 - part 3, devtools test case changes. r=sphink
--HG--
extra : rebase_source : fbc8881f6db1961399b302a0714c6d3e98d6c9ae
extra : histedit_source : 2c88643e3219c63bff7d1b2a7b17fe579cbbdfe2
2016-01-18 09:49:17 +01:00
Luke Wagner 6ebd19920f Bug 1239601 - improve the UniquePtr situation (r=jorendorff)
--HG--
extra : commitid : FwqWNSZ3SKY
extra : rebase_source : 75ed67bfadcbdaeb5bf89a57ad6ca9ef75b7f1f0
2016-01-15 18:26:06 -06:00
Wes Kocher 137b0dc6d1 Backed out changeset c457397a08bb (bug 1215955) for being a possible cause of frequent devtools failures in browser_profiler_tree-abstract-02.js a=backout
--HG--
extra : commitid : 9hiF1ztDIiJ
extra : histedit_source : 6388bc5df724f62b90c3309794bde9df82fa5631%2C131cc268c81bccca87b5dfc6ce58ae21230768cf
2016-01-15 10:43:01 -08:00
Julian Descottes 19cec19293 Bug 1215955 - Add deleteSnapshot to HeapAnalysisWorker. r=fitzgen 2016-01-12 10:41:17 +01:00
Julian Descottes 85c19fa4d4 Bug 1238639 - HeapAnalysesWorker getCreationTime throws when given non-existant path;r=fitzgen
--HG--
extra : transplant_source : v%81ga%DA%C8%25%F5%BF.af%86%236w%A4%1D%02%E1
2016-01-12 11:13:54 +01:00
Nick Fitzgerald 7a4c555f3e Bug 1239154 - Add default bug component to memory tool related directories; r=jsantell 2016-01-13 12:27:30 -08:00
Nick Fitzgerald 4463f7dec1 Bug 1236673 - Add a method for getting the canonical node along a path; r=jsantell 2016-01-06 13:57:12 -08:00
Nick Fitzgerald ee947c5414 Bug 1235883 - Add support for inserting lazily loaded children into a DominatorTreeNode tree; r=jsantell
This commit adds the `DominatorTreeNode.insert` method to insert new
DominatorTreeNode children that have just been loaded from the
HeapAnalysesWorker into an existing partially complete DominatorTreeNode
tree. This is done in a persistent and immutable fashion so that we can use
=== to differentiate different generations of `DominatorTreeNode` trees but
still share the vast majority of the underlying structure.

As infrastructure for the insertion, HeapAnalysesWorker's
`getImmediatelyDominated` response also returns the path from the root to the
node whose immediately dominated children are being fetched. This makes it much
easier to know where to insert the newly loaded children.
2016-01-06 13:57:12 -08:00
Ehsan Akhgari f7680dbea7 Bug 579517 follow-up: Remove NSPR types that crept in 2015-12-30 22:52:50 -05:00
Jeff Walden 5be7be38a1 Bug 1235615 - Split JS::CompartmentOptions into JS::CompartmentCreationOptions that are immutable characteristics of a compartment, and JS::CompartmentBehaviors that may be changed after the compartment's been created. r=terrence
--HG--
extra : rebase_source : f08c380ae247d3308d4c36788ac765de1b75af50
2015-12-28 16:15:52 -06:00
Nick Fitzgerald fe06b65df8 Bug 1232390 - Use HeapSnapshot.describeNode to generate labels for nodes; r=jsantell 2015-12-18 12:05:14 -08:00
Nick Fitzgerald 6d19d48472 Bug 1231883 - Implement HeapSnapshot.describeNode; r=mrbkap
This commit implements the HeapSnapshot.describeNode method which allows chrome
JS code to request a description of a given node as specified by our existing
"breakdown" language. This description can be used to generate a human-readable
label for the node.
2015-12-18 12:05:14 -08:00
Nick Fitzgerald ffd963dd3f Bug 1231763 - Extract breakdown parsing from JS::ubi::Census. r=jimb 2015-12-16 09:19:00 +01:00
Patrick Brosset b9206ee742 Bug 1229859 - Massively reduce the number of eslint errors in devtools by ignoring lib files, adding missing .eslintrc files and making some rules be warnings; r=Mossop
--HG--
extra : commitid : F4M9s89to3Y
extra : rebase_source : 768a99038b43f548d8e0f88248d1be1fe7e5c579
extra : histedit_source : 619e1e7f909a09a7f5731ad8cef9e9a714d76b5e%2Ca78d84e263764af29e9e9e42f419f8189b223d8c
2015-12-10 15:46:32 -05:00
Nick Fitzgerald 886206e422 Bug 1229960 - Add support for computing and traversing dominator trees to HeapAnalysisWorker; r=jsantell
This commit defines `DominatorTreeNode`, a JS class representing a node in a
heap snapshot's dominator tree. Three heap analysis client/worker
request/responses request and create these `DominatorTreeNode`s. Unlike
censuses, dominator trees are too big to practically mirror in memory as JS
object structures. Instead, we have one request to get a partial/shallow
representation of the tree starting from the root, and another to get subsequent
children and siblings in the tree. This allows for incremental, lazy, and
bounded mirroring of the dominator tree as `DominatorTreeNode`s.
2015-12-03 09:15:13 -08:00
Nick Fitzgerald 1523a17aa1 Bug 1226440 - Expose a method to get a node's immediate dominator; r=bz,sfink
This commit adds the `getImmediateDominator` method to `DominatorTree` which
returns the id of the immediate dominator of the node associated with the given
id. This enables walking the dominator tree from leaves up parents all the way
to the root of the tree.
2015-11-30 17:38:06 -08:00