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

79 Коммитов

Автор SHA1 Сообщение Дата
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
Nick Fitzgerald ecfd49638c Bug 1194426 - Add sourceLength and functionDisplayNameLength to JS::ubi::StackFrame. r=sfink
--HG--
extra : rebase_source : bddcd83e0e1e4f86bb22676ca8ff4d3240eaf6d3
2015-08-13 13:17:00 -04:00
Nick Fitzgerald d93cd5e9a8 Bug 1187062 - Part 2: Implement a concrete JS::ubi::StackFrame class backed by js::SavedFrame; r=sfink 2015-08-14 17:49:06 -07:00
Nick Fitzgerald 9404d4d0bb Bug 1187062 - Part 1: Add the JS::ubi::StackFrame interface; r=sfink 2015-08-14 17:49:06 -07:00
Ehsan Akhgari a056599e07 Bug 1188208 - Fix more constructors in js; r=jorendorff 2015-07-30 14:03:17 -04:00
Birunthan Mohanathas a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Terrence Cole 7afa7dfb04 Bug 1173889 - Strongly type the CallbackTracer dispatch function; r=jonco, r=mccr8
--HG--
extra : rebase_source : 413319f0701f8e92b8fc1c79a51f4a09c2c5cd39
2015-06-11 10:03:33 -07:00
Nick Fitzgerald 2c6810accb Bug 1024774 - Part 11: Implement a JS::ubi::Node specialization for DeserializedNode; r=jimb 2015-05-28 07:37:43 -07:00
Nick Fitzgerald 94d5c16a2e Bug 1024774 - Part 8: Add JS::ubi::Node::isLive; r=jimb 2015-05-28 07:37:43 -07:00
Nick Fitzgerald 273a313f37 Bug 1024774 - Part 3: Serialize heap snapshots. r=jimb 2015-05-28 07:37:42 -07:00
Nick Fitzgerald 1f67f55353 Bug 1149397 - JS::ubi::Node::edges should return a mozilla::UniquePtr; r=jimb 2015-05-28 07:37:42 -07:00
Terrence Cole c01ef51c2d Bug 1167453 - Rename JSGCTraceKind and make it a C++11 enum class; r=jonco
--HG--
extra : rebase_source : 7dbeee0826fa20477ed227c9d336fdfe6de6ffd2
2015-05-22 10:40:24 -07:00
Terrence Cole ae93611ac6 Bug 1167313 - Simplify UbiNode::construct dispatch using CallTyped; r=jimb
--HG--
extra : rebase_source : 880f5856665bea34ba27913d9b6b533bd9cdd1a4
2015-05-21 11:41:18 -07:00
Nick Fitzgerald fe7b1a60be Bug 1134865 - Part 3: Add JS::ubi::Node::jsObjectConstructorName; r=djvj 2015-04-27 10:57:06 -07:00
Jim Blandy c454df3a32 Bug 1063257: Implement JS::ubi::Node::size for JSString. r=sfink
--HG--
extra : rebase_source : 64d8d124637ffab49089fa4151285b523e0c6f9e
2015-03-22 23:06:51 -07:00
Carsten "Tomcat" Book bab9dbe9c4 Backed out 19 changesets (bug 1149397, bug 1065657, bug 1024774) for fixing Linux PGO xpcshell bustage on a CLOSED TREE
Backed out changeset 53058615e7a3 (bug 1024774)
Backed out changeset 68fe0894bb09 (bug 1065657)
Backed out changeset 1b9620d674df (bug 1024774)
Backed out changeset a31c514b59da (bug 1024774)
Backed out changeset 0fcf8757f6c2 (bug 1024774)
Backed out changeset 9a3c71b925d4 (bug 1024774)
Backed out changeset 783acc92af04 (bug 1024774)
Backed out changeset ad71c9a3446b (bug 1024774)
Backed out changeset 4f37e72e70f6 (bug 1024774)
Backed out changeset ec869578cc0a (bug 1024774)
Backed out changeset 3c1d306c8a3d (bug 1024774)
Backed out changeset b3a90f30892d (bug 1024774)
Backed out changeset cf7bbb3774c0 (bug 1024774)
Backed out changeset 2522eb4d3cf2 (bug 1024774)
Backed out changeset 89a502d88f9c (bug 1024774)
Backed out changeset 61046ad3161f (bug 1024774)
Backed out changeset 36706aaa2f06 (bug 1024774)
Backed out changeset ba8e68e05149 (bug 1149397)
Backed out changeset 532169437c2f (bug 1065657)

--HG--
rename : toolkit/components/protobuf/src/google/protobuf/extension_set.cc => toolkit/components/protobuf/google/protobuf/extension_set.cc
rename : toolkit/components/protobuf/src/google/protobuf/extension_set.h => toolkit/components/protobuf/google/protobuf/extension_set.h
rename : toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_pnacl.h => toolkit/components/protobuf/google/protobuf/generated_message_util.cc
rename : toolkit/components/protobuf/src/google/protobuf/stubs/stringprintf.h => toolkit/components/protobuf/google/protobuf/generated_message_util.h
rename : toolkit/components/protobuf/src/google/protobuf/io/coded_stream.cc => toolkit/components/protobuf/google/protobuf/io/coded_stream.cc
rename : toolkit/components/protobuf/src/google/protobuf/io/coded_stream.h => toolkit/components/protobuf/google/protobuf/io/coded_stream.h
rename : toolkit/components/protobuf/src/google/protobuf/io/coded_stream_inl.h => toolkit/components/protobuf/google/protobuf/io/coded_stream_inl.h
rename : toolkit/components/protobuf/src/google/protobuf/io/package_info.h => toolkit/components/protobuf/google/protobuf/io/package_info.h
rename : toolkit/components/protobuf/src/google/protobuf/service.cc => toolkit/components/protobuf/google/protobuf/io/zero_copy_stream.cc
rename : toolkit/components/protobuf/src/google/protobuf/io/zero_copy_stream.h => toolkit/components/protobuf/google/protobuf/io/zero_copy_stream.h
rename : toolkit/components/protobuf/src/google/protobuf/io/zero_copy_stream_impl.h => toolkit/components/protobuf/google/protobuf/io/zero_copy_stream_impl.h
rename : toolkit/components/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.cc => toolkit/components/protobuf/google/protobuf/io/zero_copy_stream_impl_lite.cc
rename : toolkit/components/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h => toolkit/components/protobuf/google/protobuf/io/zero_copy_stream_impl_lite.h
rename : toolkit/components/protobuf/src/google/protobuf/message_lite.cc => toolkit/components/protobuf/google/protobuf/message_lite.cc
rename : toolkit/components/protobuf/src/google/protobuf/message_lite.h => toolkit/components/protobuf/google/protobuf/message_lite.h
rename : toolkit/components/protobuf/src/google/protobuf/package_info.h => toolkit/components/protobuf/google/protobuf/package_info.h
rename : toolkit/components/protobuf/src/google/protobuf/repeated_field.cc => toolkit/components/protobuf/google/protobuf/repeated_field.cc
rename : toolkit/components/protobuf/src/google/protobuf/repeated_field.h => toolkit/components/protobuf/google/protobuf/repeated_field.h
rename : toolkit/components/protobuf/src/google/protobuf/stubs/common.cc => toolkit/components/protobuf/google/protobuf/stubs/common.cc
rename : toolkit/components/protobuf/src/google/protobuf/stubs/common.h => toolkit/components/protobuf/google/protobuf/stubs/common.h
rename : toolkit/components/protobuf/src/google/protobuf/stubs/hash.h => toolkit/components/protobuf/google/protobuf/stubs/hash.h
rename : toolkit/components/protobuf/src/google/protobuf/stubs/once.cc => toolkit/components/protobuf/google/protobuf/stubs/once.cc
rename : toolkit/components/protobuf/src/google/protobuf/stubs/once.h => toolkit/components/protobuf/google/protobuf/stubs/once.h
rename : toolkit/components/protobuf/src/google/protobuf/stubs/stl_util.h => toolkit/components/protobuf/google/protobuf/stubs/stl_util-inl.h
rename : toolkit/components/protobuf/src/google/protobuf/wire_format_lite.cc => toolkit/components/protobuf/google/protobuf/wire_format_lite.cc
rename : toolkit/components/protobuf/src/google/protobuf/wire_format_lite.h => toolkit/components/protobuf/google/protobuf/wire_format_lite.h
rename : toolkit/components/protobuf/src/google/protobuf/wire_format_lite_inl.h => toolkit/components/protobuf/google/protobuf/wire_format_lite_inl.h
2015-04-23 08:37:24 +02:00
Nick Fitzgerald b9bae0d887 Bug 1024774 - Part 11: Implement a JS::ubi::Node specialization for DeserializedNode; r=jimb 2015-04-22 11:09:54 -07:00
Nick Fitzgerald 0e6dcee572 Bug 1024774 - Part 8: Add JS::ubi::Node::isLive; r=jimb 2015-04-22 11:09:54 -07:00
Nick Fitzgerald 32af3e9ef8 Bug 1024774 - Part 3: Serialize heap snapshots. r=jimb 2015-04-22 11:09:54 -07:00
Nick Fitzgerald 7c042bbbe2 Bug 1149397 - JS::ubi::Node::edges should return a mozilla::UniquePtr; r=jimb 2015-04-22 11:09:53 -07:00
Ryan VanderMeulen 7d1cb87298 Backed out changeset 47abda42667c (bug 1063257) jit-test failures. 2015-04-16 16:27:34 -04:00
Jim Blandy 1d40faa3cd Bug 1063257: Implement JS::ubi::Node::size for JSString. r=sfink
--HG--
extra : rebase_source : c126a5e626d666941b0fc657fbd7fcf1450e0e35
extra : histedit_source : f5cf97b77bf057c6ca47a072fde7b67e1f28e671
2015-03-22 23:06:51 -07:00
Jim Blandy fc9d59392a Bug 1062473: Implement JS::ubi::Node::size for JSObjects. r=sfink,terrence
--HG--
extra : rebase_source : cc27cefa89ab9689cbfe7f62635a00c3363f4265
extra : histedit_source : fd7c1ca09c654b27536774d7b722319819dd74e0
2015-04-01 18:04:53 -07:00
Jim Blandy 161ee5e528 Bug 1155197: For JS::ubi::Node, provide jsObjectClassName directly in JSObject specialization. r=terrence
--HG--
extra : rebase_source : 2b192a3b74a6e9ac2e1bf9e967bcd8b2a7d41ce6
extra : histedit_source : 30b033cce6b71683240a117a8431d5c78cbc0581
2015-04-15 22:04:38 -07:00
Jan de Mooij b8b1677f0f Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 23:22:11 +01:00
Phil Ringnalda c8a25251c1 Backed out changeset 0c030f97a04f (bug 1144366) for being on top of patches being backed out
CLOSED TREE
2015-03-28 10:39:56 -07:00
Jan de Mooij 8d6d44ecb8 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 12:08:37 +01:00
Ehsan Akhgari 883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Nick Fitzgerald 84902745a6 Bug 1142338 - Debugger.Memory's census shouldn't use JS::ubi::Node::as<T>; r=sfink 2015-03-13 13:19:26 -07:00
Birunthan Mohanathas 1b10c9d731 Bug 1120796 - Part 2: Replace ConvertibleToBool hackarounds with explicit bool operators. r=Waldo 2015-02-03 18:52:36 +02:00
Ehsan Akhgari 4354953b4f Bug 1118486 - Part 1: Use `= delete` instead of MOZ_DELETE directly; r=Waldo
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:

#!/bin/bash

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "*/.git*" \
       ! -wholename "obj-*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Nick Fitzgerald 93795aa6b0 Bug 1102541 - Add JS::ubi::RootList::addRoot; r=shu 2014-12-16 10:50:43 -08:00