Commit Graph

71 Commits

Author SHA1 Message Date
Jan de Mooij
f7fb3be6ec Bug 1466121 part 1 - Rename JSCompartment to JS::Compartment. r=luke
--HG--
extra : rebase_source : cd7140ecda54f0caa02a96f562167b3c9a107450
2018-06-07 16:44:40 +02:00
Robin Templeton
de41c625dd Bug 1366287 - Part 1.0: Define a new BigInt primitive type, with a GDB prettyprinter, Rust binding support, and a new out-of-line TraceKind. (Disabled by default, implemented only incompletely, currently passing --enable-bigint will disable JITs, will be flipped on Eventually once every sub-aspect is in place, Don't Have A Cow, Man.) r=jwalden, r=Ms2ger, r=sfink
--HG--
extra : rebase_source : aa13bd94bc6157ff8134894e3ba2e7a2b53e28d9
2018-05-24 11:26:09 -07:00
Andrew McCreight
6c4a1d23f2 Bug 1460636 - Don't trace jsids on ObjectGroup in the cycle collector. r=jonco,sfink
For some reason, the CC spends a lot of time tracing jsids on
ObjectGroups when an addon is installed. This patch avoids that by
adding a canSkipJsids flag to JSTracer, and using it in
ObjectGroup::traceChildren. If this is true, then the tracer is free
to not report every jsid. This flag is set to true for the two CC
tracers.

MozReview-Commit-ID: CWFqQEr0SxV

--HG--
extra : rebase_source : cc31c22717f8990166454db191e0d40c145e09f0
2018-05-11 11:38:58 -07:00
Jason Orendorff
e7c94fff59 Bug 1439063 - Part 1: Move several public headers from js/src to js/public. r=jandem.
js/src/jsalloc.h -> js/public/AllocPolicy.h
jsalloc.cpp -> js/src/util/AllocPolicy.cpp
jsbytecode.h -> merge into js/public/TypeDecls.h
jsprf.h -> js/public/Printf.h
jsprf.cpp -> js/src/util/Printf.cpp
jsprototypes.h -> public/ProtoKey.h
jswrapper.h -> js/Wrapper.h

--HG--
rename : js/src/jsalloc.h => js/public/AllocPolicy.h
rename : js/src/jsprf.h => js/public/Printf.h
rename : js/src/jsprototypes.h => js/public/ProtoKey.h
rename : js/src/jswrapper.h => js/public/Wrapper.h
rename : js/src/jsalloc.cpp => js/src/util/AllocPolicy.cpp
rename : js/src/jsprf.cpp => js/src/util/Printf.cpp
extra : rebase_source : 98b16d94c469202eab0303a8da844f1d0b6aa809
extra : amend_source : e0b16c1077226d6fe240f4d7096537f93b43f2b8
extra : histedit_source : d94e0ba7904a7d66742c7fac43f638aaec4fa4e5
2018-02-21 10:30:19 -06:00
Jon Coppeard
757573b0fe Bug 1417077 - Make JSTracer provide the current GC number and use this in nsXULPrototypeDocument::TraceProtos() r=sfink r=mccr8 2017-11-14 17:10:30 +00:00
Jon Coppeard
3075bc5440 Bug 1384885 - Do gray unmarking of cross zone edges as soon as they are found r=sfink 2017-07-28 11:06:40 +01:00
Jon Coppeard
73aaca8f5b Bug 1378717 - Allow inlining of TraceEdge API's null check r=sfink 2017-07-11 16:51:37 +01:00
Jon Coppeard
5d86054665 Bug 1371234 - Clear GC edges when deleting a GC managed object outside a GC r=sfink 2017-06-14 10:29:52 +01:00
Jon Coppeard
973692b373 Bug 1345177 - Make RegExpShared a GC thing r=sfink 2017-03-27 10:38:29 +01:00
Jon Coppeard
1376c2700e Backed out changesets e66f564d9749 and 0380d914ad39 (bug 1345177) for rooting hazards 2017-03-27 11:09:54 +01:00
Jon Coppeard
f7a6438226 Bug 1345177 - Make RegExpShared a GC thing r=sfink 2017-03-27 10:38:29 +01:00
Jon Coppeard
51ef98020d Bug 1335751 - Add js::CheckGrayMarkingState friend API to check there are black to gray edges r=sfink 2017-03-05 09:23:09 +00:00
Jon Coppeard
e81021b4be Backed out 2 changesets (bug 1335751) for mochitest devtools failures 2017-03-05 12:37:31 +00:00
Jon Coppeard
fecd704a79 Bug 1335751 - Add js::CheckGrayMarkingState friend API to check there are black to gray edges r=sfink 2017-03-05 09:23:09 +00:00
Jon Coppeard
ff9db2128c Bug 1318384 - Remove barriers on Zone typed object descriptors set to avoid reviving compartments r=billm 2016-11-23 10:15:05 +00:00
Shu-yu Guo
e2b6833e0a Bug 1263355 - Rewrite the frontend: bindings. (r=jorendorff,Waldo) 2016-08-25 01:28:47 -07:00
Jan de Mooij
0ad12515f4 Bug 1292892 part 1 - Stop using JSRuntime outside SpiderMonkey. r=bz,terrence,fitzgen,kanru 2016-08-11 14:39:22 +02:00
Steve Fink
87e914a089 No bug. Comment TracerKindTag values. r=me, a=DONTBUILD
MozReview-Commit-ID: EJbBTKpQgNo

--HG--
extra : transplant_source : K%26%27X%D3/%AD%AC%DF%E3%BE%9CG5%90%FA%A9%0E%7F%0F
extra : histedit_source : db0dc1c5815b8eccaedb369a3b9c3ea01c2b25ea
2016-06-17 01:46:51 +01:00
Jon Coppeard
35a9e3a430 Bug 1272604 - Add a zeal mode to check the heap after a moving GC r=terrence 2016-05-16 14:23:09 +01:00
Terrence Cole
b7c56d9cba Bug 1233862 - Add a WeakCache builtin to automatically manage sweeping; r=sfink
--HG--
extra : rebase_source : 5731194b652a17fdcbc666d965690949f28b3ada
2015-12-18 14:50:20 -08: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
Terrence Cole
52e9feb9d3 Bug 1234862 - Part 5: Rename DefaultGCPolicy to GCPolicy; r=sfink 2016-01-26 12:53:35 -08:00
Terrence Cole
738245d262 Bug 1238786 - Part 1: Allow null pointers in public tracing APIs; r=sfink
--HG--
extra : rebase_source : aaa025bffb09758f886450b8a6a9372a65fa6db7
2016-01-12 13:07:53 -08:00
Terrence Cole
cadd5c5f26 Bug 1238779 - Remove the unused and nonsensical JS_TraceRuntime; r=fitzgen 2016-01-12 13:07:54 -08:00
Luke Wagner
498e4980ad Bug 1238195 - Switch over some AutoVectorRooters to Rooted<TraceableVector>s and fill in some missing support (r=terrence)
--HG--
extra : commitid : GJxokWWXWjW
extra : rebase_source : ad0f7b28e6da997c139de661182980ecfced1b20
2016-01-11 12:37:11 -06:00
Terrence Cole
b7aa38d7ac Bug 1235923 - Part 1: Add C++ APIs for unbarriered pointer tracing; r=sfink 2015-12-30 10:10:29 -08:00
Terrence Cole
eca54a7ace Backout 9dfd86b06459c257390c2514380a09456b008e33 (Bug 1235923) for build bustage on a CLOSED TREE.
--HG--
extra : rebase_source : 412366ba75e73e2338a9ec21a96c40bd466fa6db
2016-01-06 12:05:08 -08:00
Terrence Cole
e03a483cfa Bug 1235923 - Part 1: Add C++ APIs for unbarriered pointer tracing; r=sfink 2015-12-30 10:10:29 -08:00
Terrence Cole
14bc095b59 Bug 1235598 - Part 1: Add better SpiderMonkey API support for tracing in C++; r=sfink
--HG--
extra : rebase_source : 777e1dd17331f38b482fc12ef1e2d96ec61fb02d
2015-12-30 08:52:12 -08:00
Steve Fink
ff55707b83 Bug 1225298 - Use GCHashMap for UniqueIdMap, r=terrence
--HG--
extra : rebase_source : 322f5b64eb3e3e37d3ab51ca813b05fe8e78e7bd
2015-11-18 17:37:03 -08:00
Terrence Cole
2f587b2fc3 Bug 1226687 - Part 1: Export a GCPolicy usable by JS::Heap; r=fitzgen
--HG--
extra : rebase_source : 7ac38143297ef92265faefe6ce800b6c55dcaa64
2015-11-20 13:53:19 -08:00
Steve Fink
696fbb25f1 Bug 1225298 - Use GC policy mechanism for sweeping hashtable-based collections. r=terrence
--HG--
rename : js/public/TraceableHashTable.h => js/public/GCHashTable.h
extra : rebase_source : b3451b355680e384bc7803a30c585fcc457c20c7
extra : amend_source : 441813b8991c13abad251d95b4f2c9867312c39e
2015-11-17 11:33:15 -08:00
Terrence Cole
2f08c5931f Bug 1225237 - Use stable hashing for DOMExpandoSet; r=jonco
--HG--
extra : rebase_source : 56667af18db264805536e8e559c5dd8d8b2750b3
2015-11-17 11:32:53 -08:00
Terrence Cole
80c5df8a70 Bug 1220310 - Generalize GC container trace function dispatch as GCPolicy; r=sfink
--HG--
extra : rebase_source : bf48dcfef48b74c1596a47decad9f52ea8a4bc2f
2015-11-03 07:08:05 -08:00
Terrence Cole
2ee6159bdb Bug 1219419 - Keep DefaultTracer simple for now; r=fitzgen
--HG--
extra : rebase_source : e9d040a6d574f5fa60158ff8521cde1cab08e14c
2015-10-28 13:42:16 -07:00
Michael Wu
ed4b205b47 Bug 1212663 - Use doxygen style comments in jsapi, r=Waldo 2015-10-17 13:27:16 -04:00
Terrence Cole
c5685d0363 Bug 1204594 - Use MOZ_RAII to replace GUARD_OBJECT where possible in the GC; r=sfink
--HG--
extra : rebase_source : 50eb4339b8fe16376c39a07978d61f6ea1f47eae
2015-09-15 12:12:26 -07:00
Terrence Cole
0716d4888f Bug 1199843 - Part 3: Strongly type JS::TraceChildren; r=jonco r=mccr8
--HG--
extra : rebase_source : c779897338dc4b73dca98517acb8d0eef7e0d7a5
2015-09-02 11:34:36 -07:00
Steve Fink
9adc1ff74c Bug 1164294 - Implement a linear-time ephemeron marking algorithm, r=terrence, r=jonco
--HG--
extra : rebase_source : 6478019f3ef8bb4379f41d4a6258930739e3fc87
extra : source : 28c31978b8d5b9ae08bf7d54fce16062efde9f4e
2015-08-12 16:55:40 -07:00
Terrence Cole
de72ab688b Bug 1191529 - Remove JSIdArray and AutoIdArray and replace with Rooted<IdVector>; r=mccr8, r=jonco
* * *
imported patch 2_remove_AutoIdArray_gk

--HG--
extra : rebase_source : f4492f209248c7ae4b74d7d0345c51fa893167da
2015-08-05 11:02:00 -07:00
Terrence Cole
8a66130f59 Bug 1189072 - Make DefaultTracer for struct types call T::trace; r=fitzgen
--HG--
extra : rebase_source : b2f06cc6128d2470363d8a96229434222a0ffb01
2015-07-29 14:59:49 -07:00
Jim Blandy
4e8fc0bdcb Bug 1180017 - Give GCCellPtr is<T> and to<T> methods, replacing isFoo and toFoo methods. Fix callers. r=terrence 2015-07-03 15:06:23 -07:00
Carsten "Tomcat" Book
25a2a75a56 Backed out changeset 465793bc6fcf (bug 1180017) for suspicion of causing bug 1188799 2015-07-29 15:27:12 +02:00
Jim Blandy
ff7cc06ef6 Bug 1180017: Give GCCellPtr is<T> and as<T> methods, replacing isFoo and toFoo methods. Fix callers. r=terrence
--HG--
extra : rebase_source : 4a381c5d8427ad2995426e65c69af1597b1557c2
2015-07-07 09:52:01 -07: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
Terrence Cole
5dd32db8cf Bug 1169086 - Use virtual dispatch to implement callback tracer; r=jonco, r=mccr8
--HG--
extra : rebase_source : 8da1af998621319f7a0112f1870080dd8835063e
2015-05-28 16:35:08 -07:00
Terrence Cole
a30542d559 Bug 1167795 - Share the root and child tracing code in DumpHeapComplete; r=mccr8
--HG--
extra : rebase_source : 376b490de75cc92f3af5fb3dfafa6e4a0176f524
2015-05-26 09:17:12 -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
d508a33c53 Bug 1161726 - Use a custom tracer for tenuring to avoid the indirect calls; r=jonco
--HG--
extra : rebase_source : e240e6fdbf3f959576bdfec305a96d73ffdb15b0
2015-05-04 17:36:31 -07:00