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

110 Коммитов

Автор SHA1 Сообщение Дата
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