Ehsan Akhgari
b940c3d6e8
Bug 1382339 - Improve SpiderMonkey hashing functions by using MFBT's HashGeneric more; r=jandem
2017-07-20 12:59:09 -04:00
Ehsan Akhgari
33114ba370
Bug 1382324 - Improve SpiderMonkey's pointer hashing function for pointers to neighboring memory locations; r=jandem
...
This is very similar to the fix to bug 1379282 for the XPCOM hashtables.
2017-07-20 12:23:07 -04:00
Boris Zbarsky
746467862d
Bug 1346389. Make --enable-shared-js link again, at least for an opt mac build with intl api disabled. r=sfink, a=waldo on the gcc-specific bits.
2017-03-10 23:52:55 -05:00
Boris Zbarsky
d6b2fc9b4d
Backed out changeset c1978f7d49c4 for build failures.
...
MozReview-Commit-ID: FOwcGtykkXR
2017-03-11 00:10:36 -05:00
Boris Zbarsky
160b2e80e9
Bug 1346389. Make --enable-shared-js link again, at least for an opt mac build with intl api disabled. r=sfink
...
MozReview-Commit-ID: 264vsCvhh9Z
2017-03-10 23:52:55 -05:00
Jan de Mooij
0770a8d8b4
Bug 1286795 part 3 - Change UbiNode APIs to take JSContext instead of JSRuntime. r=fitzgen
2016-07-23 19:52:25 +02:00
Chris Peterson
b175c9fdd5
Bug 1277106 - Part 2: Expand MOZ_UTF16() strings to u"" string literals. r=Waldo
2016-07-20 22:03:25 -07:00
Nick Fitzgerald
41cca25d10
Bug 1286108 - Do not provide construction methods for JS::ubi::TracerConcrete[WithCompartment]; r=jimb
...
These are supposed to be helper base classes that should not be instantiated
directly, so we shouldn't let it be possible to Concrete<T>::construct() them.
--HG--
extra : rebase_source : 1a136d2c9eee11c7bd5b0c96e596a43454aefcfa
2016-07-12 07:49:00 +02:00
Nick Fitzgerald
28d0598039
Bug 1286095 - Assert that `JS::ubi::Concrete<T>` inherits from `JS::ubi::Base`; r=jimb
2016-07-11 17:30:00 +02:00
Boris Zbarsky
5d3ead1816
Bug 1281061. Do an atom equality compare instead of a string compare on the script filename string in SavedFrame::isSelfHosted. r=fitzgen
2016-07-08 22:53:53 -04:00
Nick Fitzgerald
6300cda66b
Bug 1285302 - Add a note describing why 'JS::ubi::Size' is not size_t. r=jimb
2016-07-07 11:36:00 -04:00
Jeff Walden
aaeb46f1ff
Bug 1282795 - Declare JS::ubi::Concrete<T>::concreteTypeName within every JS::ubi::Concrete specialization to avoid use-before-declaration warnings related to templates. r=jimb
...
--HG--
extra : rebase_source : b552346c5b2b3a5d32ca513efd45356fe94f3abd
2016-07-05 17:41:12 -07:00
Sebastian Hengst
cfa0d595fb
Backed out changeset 2620e5ba1067 (bug 1282795) for 'Concrete' redeclaration in HeapSnapshot.h (static failure). r=backout
2016-07-07 19:26:27 +02:00
Jeff Walden
ccddc5c404
Bug 1282795 - Declare JS::ubi::Concrete<T>::concreteTypeName within every JS::ubi::Concrete specialization to avoid use-before-declaration warnings related to templates. r=jimb
...
--HG--
extra : rebase_source : 967291d2bb028a379fcf1217ef8b116af5122cad
2016-07-05 17:41:12 -07:00
Jeff Walden
d0b54a19b6
Backed out changeset 763642feedb0, Windows hates me. r=beepbeepbeep in a CLOSED TREE
2016-06-29 11:16:03 +01:00
Jeff Walden
75c0b2462e
Bug 1282795 - Forward-declare a bunch of TracerConcrete<T>::concreteTypeName[] so that the default virtual TracerConcrete<T>::typeName() can refer to those declarations before their definitions, without triggering compiler warnings up the wazoo. r=froydnj
...
--HG--
extra : rebase_source : b6601a210fbd87d3b7bba31ee03c6b5c5192c420
2016-06-28 17:06:56 +01:00
Jon Coppeard
a54a6f9345
Bug 1280407 - Use SystemAllocPolicy rather that the default with mozilla::Vector in the JS engine r=sfink r=fitzgen r=jandem
2016-06-18 10:46:13 +01:00
Sebastian Hengst
704cb4042f
Backed out changeset afc3c6a5f93a (bug 1280407) for mass Spidermonkey failures. r=backout
2016-06-18 14:50:38 +02:00
Jon Coppeard
c1235a507a
Bug 1280407 - Use SystemAllocPolicy rather that the default with mozilla::Vector in the JS engine r=sfink r=fitzgen r=jandem
2016-06-18 10:46:13 +01:00
Sebastian Hengst
90043bfdaa
Backed out changeset a58b9ab5dff0 (bug 1280407) for errors in testThreadingThread.cpp in SM(nu). r=backout
2016-06-18 12:53:01 +02:00
Jon Coppeard
404b8e32be
Bug 1280407 - Use SystemAllocPolicy rather that the default with mozilla::Vector in the JS engine r=sfink r=fitzgen r=jandem
2016-06-18 10:46:13 +01:00
Nick Fitzgerald
7b5d1178b4
Bug 1267551 - Use MOZ_MUST_USE in js/public/UbiNode.h; r=jimb
2016-06-17 13:52:43 +01: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
241e342004
Bug 961323 - Add a method for finding shortest retaining paths of `JS::ubi::Node` heap graphs; r=jimb
...
This commit adds `JS::ubi::ShortestPaths` which can find the N shortest
retaining paths starting from some root for any number of target nodes.
2016-02-11 10:38:00 +01:00
Nick Fitzgerald
70a5002b41
Bug 1247413 - Give JS::ubi::BreadthFirst handlers a non-const reference; r=jimb
2016-02-11 07:59:00 +01:00
Carsten "Tomcat" Book
b054cb159a
Backed out changeset 09836ef7b0f6 (bug 961323) for bustage on a CLOSED TREE
...
--HG--
extra : rebase_source : 80a8d58487f1e56624bd06572e09cc07e4404fe2
2016-02-12 08:41:24 +01:00
Nick Fitzgerald
649d03679a
Bug 961323 - Add a method for finding shortest retaining paths of `JS::ubi::Node` heap graphs; r=jimb
...
This commit adds `JS::ubi::ShortestPaths` which can find the N shortest
retaining paths starting from some root for any number of target nodes.
2016-02-11 10:38:00 +01:00
Terrence Cole
245c375321
Bug 1244365 - Remove Traceable; r=sfink
...
--HG--
extra : rebase_source : 8e6498b6e379b026c70b4ba7d13d30b664eef4ed
2016-01-29 16:56:11 -08:00
Luke Wagner
72ea23c63e
Bug 1239601 - improve the UniquePtr situation (r=jandem)
...
--HG--
extra : commitid : JegWAoGsuQ9
extra : rebase_source : 995c1b6ab8e4fd3b83c44741cd84a2d7b0d934d7
2016-01-15 18:26:20 -06: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
Nick Fitzgerald
11e1dd10a1
Bug 1226176 - Compute retained sizes in dominator trees and expose them to JavaScript; r=bz,sfink
2015-11-20 09:08:15 -08:00
Nick Fitzgerald
704858e786
Bug 1220031 - Add JS::ubi::Node::scriptFilename; r=sfink
2015-11-04 05:49:33 -08:00
Nick Fitzgerald
842b5596e6
Bug 1213436 - Reject core dumps with node IDs that don't fit in an IEEE 754 double; r=sfink
2015-10-13 11:59:00 +02:00
Nick Fitzgerald
30e17cfd82
Bug 1196461 - De-duplicate strings in heap snapshot core dumps; r=shu,jimb
...
This changeset replaces all of the
// char16_t[]
optional bytes someProperty = 1;
one- and two-byte string properties in the CoreDump.proto protobuf definition
file with:
oneof {
// char16_t[]
bytes someProperty = 1;
uint64 somePropertyRef = 2;
}
The first time the N^th unique string is serialized, then someProperty is used
and the full string is serialized in the protobuf message. All following times
that string is serialized, somePropertyRef is used and its value is N.
Among the other things, this also changes JS::ubi::Edge::name from a raw pointer
with commented rules about who does or doesn't own and should and shouldn't free
the raw pointer to a UniquePtr that enforces those rules rather than relying on
developers reading and obeying the rules in the comments.
2015-09-30 16:03:31 -07:00
Nick Fitzgerald
b3dadc255e
Bug 1206290 - Part 1: Implement a JS::ubi::PostOrder depth first traversal; r=sfink
2015-09-24 14:01:22 -07:00
Nick Fitzgerald
54a8708a3a
Bug 1182653 - Use JSRuntime* instead of JSContext* in ubi::Node infrastructure; r=sfink
...
This enables the use of ubi::Node in situations where a JSContext* is not
available, and paves the way for debugging utilities to dump shortest paths from
GC roots to a given ubi::Node that can be used while paused in a debugger.
2015-09-23 09:39:56 -07:00
Nick Fitzgerald
e1f7ac5d49
Bug 1199216 - Implement JS::ubi::Node::size for JSScript referents; r=sfink
2015-09-22 12:15:23 -07:00
Nick Fitzgerald
6085d9d0f0
Bug 1199215 - Implement JS::ubi::Node::size for JS::Symbol referents; r=sfink
2015-09-22 12:15:23 -07:00
Nick Fitzgerald
6f88dbdf6e
Bug 1206288 - Remove JS::ubi::SimpleEdge and make JS::ubi::Edge a concrete class; r=shu
2015-09-22 11:34:30 -07:00
Terrence Cole
eb27be9309
Bug 1199843 - Part 2: Use js::TraceChildren everywhere we don't need external linkage; r=jonco
...
--HG--
extra : rebase_source : 59ab475354a7d82dae761f55224da3402be59769
2015-09-02 09:01:02 -07:00
Jim Blandy
3220028411
Bug 1200345: Add comment to js/public/UbiNode.h warning about operating on graphs constructed by hostile code. DONTBUILD r=fitzgen
...
--HG--
extra : amend_source : 1b311d37f460547b8746e32305ac26994357c7ed
extra : histedit_source : defb2915ef54db03ed5481f0afea3eaa0bbf361c
2015-08-31 11:34:57 -07:00
Jim Blandy
b734c1b1fb
Backed out changeset 297155cba060 for landing with the wrong bug number.
...
--HG--
extra : histedit_source : f09370f5222ab9fc04b476e25a0a3b079b8257bf
2015-08-31 20:17:59 -07:00
Jim Blandy
613198b0b0
Bug 1200482: Add comment to js/public/UbiNode.h warning about operating on graphs constructed by hostile code. DONTBUILD r=fitzgen
...
--HG--
extra : rebase_source : 31678939953dca924a407b81f5f9bcc9757d4969
extra : amend_source : 7df635066094051304ae71c1ed36e829d2e35ceb
2015-08-31 11:34:57 -07:00
Nick Fitzgerald
6c1a43618e
Bug 1196634 - Part 4: Remove JS::ubi::Node::getCanonicalTypeName; r=sfink
2015-08-27 16:16:58 -07:00
Nick Fitzgerald
af148bc6a7
Bug 1196634 - Part 2: Serialize and deserialize coarseType; r=sfink
2015-08-27 16:16:58 -07:00
Nick Fitzgerald
ae6af42629
Bug 1196634 - Part 0: Define a JS::ubi::CoarseType enum; r=sfink
...
This commit defines the JS::ubi::CoarseType enum and a corresponding method
coarseType() on JS::ubi::Node base and concrete classes. It implements the
overrides for all concrete specializations whose referent does not belong to the
default Other type.
2015-08-27 16:16:57 -07:00
Nick Fitzgerald
791bfd6d0c
Bug 1198980 - Make JS::ubi::*::identifier be uint64_t instead of uintptr_t. r=sfink
2015-08-27 09:17:00 -04:00
Nick Fitzgerald
2f4cac96c2
Bug 1196631 - Make JS::ubi::Node::size return 1 by default. r=sfink
...
The old default was zero, but one is a better default in a couple ways: (1)
there are no zero-sized things in C++ so one is closer to the truth, and (2) it
gives us an idea of what magnitude of space is consumed by node specializations
which don't have a JS::ubi::Node::size override yet.
2015-08-27 06:03:00 -04:00
Nick Fitzgerald
a2b0c4594a
Bug 1139476 - Part 0: Add a takeCensus method to HeapSnapshot instances; r=sfink,bholley
2015-08-26 11:38:05 -07:00
Nick Fitzgerald
de13686cc6
Bug 1194424 - Part 3: Implement a concrete JS::ubi::StackFrame specialization backed by a frame deserialized from a core dump; r=sfink
2015-08-24 09:29:44 -07:00