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

104 Коммитов

Автор SHA1 Сообщение Дата
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
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 5fa8570a2b Bug 1171780 - We no longer need to cast out of barrieried types in GC; r=jonco 2015-06-05 09:01:12 -07:00
Terrence Cole c16fb495f0 Bug 1169791 - Strongly type GetTenuredGCThingZone; r=jonco, r=mccr8
--HG--
extra : rebase_source : bedbbb99eb9655dc3f4079e0d3e5a376f7b83764
2015-06-01 14:11:08 -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 161a4c26ba Bug 1164602 - Replace js::NullPtr and JS::NullPtr with nullptr_t; r=sfink 2015-05-13 14:07:34 -07:00
Jon Coppeard 1f3e50337f Bug 1157382 - Fix possible data race caused by accessing the mark bits of cells in another runtime r=terrence 2015-05-07 10:14:40 +01:00
Brian Hackett 12ce37a8a6 Bug 1155033 - Handle cyclic or deep ObjectGroup tracing chains during cycle collection, r=terrence. 2015-04-24 18:22:15 -06: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
Steve Fink 9c855788fb Bug 1125412 - Expose an object for inspecting GC memory values, r=terrence
--HG--
extra : rebase_source : c98affaa7f01beb0757256cbe4d63bd78e297dac
2015-01-26 15:32:54 -08: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
Birunthan Mohanathas 847dbb9825 Bug 1120796 - Part 1: Prepare code for explicit bool operators. r=Waldo 2015-02-03 18:52:28 +02:00
Lars T Hansen 1608603caa Bug 1118170 - remove PJS-specific bits from the GC. r=terrence 2015-01-14 09:21:59 +01:00
Terrence Cole 513af9d1e5 Bug 1119604 - Remove the void* accessor from GCCellPtr; r=sfink 2015-01-09 15:42:42 -08:00
Andrew McCreight 82f576b6d9 Bug 1118044, part 2 - Use GCCellPtr in NoteJSChild. r=smaug,terrence
Also, strongly type the JS_TraceShapeCycleCollectorChildren function, and add an
isShape() method to GCCellPtr.
2015-01-08 15:30:54 -08:00
Terrence Cole 4b6a74fbf2 Bug 1105069 - Part 21: Remove AsCell in preference of GCCellPtr; r=jonco, r=mccr8
--HG--
extra : rebase_source : 5c4470f3efbd9dbe3caee08ed88b07da549912e0
2014-12-14 08:27:52 -08:00
Terrence Cole ed78ccb34a Bug 1105069 - Part 20: Standardize GC structure accessors; r=jonco
--HG--
extra : rebase_source : 109967b39544ef7afcdee1c2fe443d8ffcf85736
2014-12-14 08:27:51 -08:00
Terrence Cole 20e03ef2a5 Bug 1105069 - Part 17: Convert xpc_IsGrayGCThing to GCCellPtr; r=mccr8, j=jonco
--HG--
extra : rebase_source : 9fdc5ac9ca8de9c12a399532db7e77bc34abb7da
2014-12-05 09:38:34 -08:00
Terrence Cole a99f92dd64 Bug 1105069 - Part 15: Convert xpc_GCThingIsGrayCCThing to GCCellPtr; r=mccr8, r=jonco
--HG--
extra : rebase_source : 096b8eaf5b46afc1c40b0b9e8b233ec13c638c85
2014-12-09 16:22:51 -08:00
Terrence Cole b9503b77b2 Bug 1105069 - Part 13: Take uintptr_t directly in the GC's detail methods; r=jonco
--HG--
extra : rebase_source : 2a755ea61e4dab88abfcef44f49e6bda058c7f92
2014-12-05 09:38:33 -08:00
Terrence Cole b3fb25bc3f Bug 1105069 - Part 10: Convert NoteWeakMapping to GCCellPtr; r=jonco, r=mccr8
--HG--
extra : rebase_source : b660a676c03c4a0bbdc521a6401a2a619543aa2a
2014-12-05 09:38:32 -08:00
Terrence Cole d0e0d193b8 Bug 1107349 - Always build in enerational GC support; r=jonco 2014-12-04 09:45:05 -08:00
Terrence Cole 1bb5471d19 Bug 1105069 - Part 8: Remove implicit cast from GCCellPtr to js::gc::Cell*; r=jonco, r=mccr8
--HG--
extra : rebase_source : 0dfb2314f5d20770b7b92fa9fde23cb6c41f20d8
2014-12-01 22:34:25 -08:00
Terrence Cole dcf7f9a22d Bug 1105069 - Part 6: Convert IncrementalReferenceBarrier to GCCellPtr; r=jonco
--HG--
extra : rebase_source : 008ec53319b44347af7398f07a9753b914a1157e
2014-12-01 15:06:37 -08:00
Terrence Cole 0adfbe6015 Bug 1105069 - Part 4: Convert IsIncrementalReferenceBarrierNeededTenuredGCThing to GCCellPtr; r=jonco
--HG--
extra : rebase_source : b8b403745c98ec09e29340aa74a801bd633f0483
2014-05-19 14:58:05 -07:00
Terrence Cole 21bfd50b31 Bug 1105069 - Part 2: Implement GCCellPtr; r=jonco
--HG--
extra : rebase_source : 429ccde74ab4732c864582b776c223b1f81b198c
2014-12-01 14:49:21 -08:00
Terrence Cole 98a5f959aa Bug 1105069 - Part 1: Move GCTraceKind from jspubtd to TraceAPI; r=jonco, r=mccr8
--HG--
extra : rebase_source : 86fef608628fe2eaa6c6f91e84d90aa9e9baa84d
2014-12-01 14:49:07 -08:00
Terrence Cole d583da7d39 Bug 1101921 - Nursery heap size should scale with the chunk size; r=jonco
--HG--
extra : rebase_source : 0d50d5998f1d24af0e85050e617f2f088cb0b609
2014-11-19 15:01:54 -08:00
Terrence Cole 91cd09280f Backed out changeset 012e11e54840 (Bug 1101921) for build bustage on a CLOSED TREE
--HG--
extra : rebase_source : 38aac2c757b138fbdf754abb374f326048a5516a
2014-11-21 16:03:53 -08:00
Terrence Cole f3f0c8c515 Bug 1101921 - Nursery heap size should scale with the chunk size; r=jonco 2014-11-19 15:01:54 -08:00
Nicolas B. Pierron 206d7d6d49 Bug 1074911 - Replace JS_ASSERT by MOZ_ASSERT. r=jorendorff
Apply the following script

sed -i '
   /JS_ASSERT(/ {
     s/JS_ASSERT(/MOZ_ASSERT(/;
     :b;
     s/ \\$/\\/;
     /;/ { p; d; };
     n;
     s/^/ /;
     b b;
  };
  s/JS_ASSERT (/MOZ_ASSERT(/;
'

Except where the JS_ASSERT macro does not end with a semi-colon, where empty
lines are in the middle of the macro, and where the backslahes are always the
same-length after the expression.
2014-10-01 19:17:51 +02:00
Terrence Cole c410ae17c7 Bug 1045940 - Rename needsBarrier to needsIncrementalBarrier; r=jonco 2014-07-28 10:16:56 -07:00
Terrence Cole 8d0192ae1b Bug 1045181 - Miscellaneous small cleanups in js::gc; r=jonco 2014-07-29 10:47:43 -07:00
Jon Coppeard c71e29bdb6 Bug 1043888 - Make GetObjetZone() work on nursery objects and rename GetGCThingZone() to GetTenuredGCThingZone() r=terrence 2014-07-28 10:39:36 +01:00
Jon Coppeard e02ddd1af3 Bug 1038274 - Really fix previous problem with landing r=me 2014-07-16 12:04:33 +01:00
Jon Coppeard 2ed8ff7bfc Bug 1038274 - Add max heap size constants to pass to JS_NewRuntime() r=terrence 2014-07-16 10:01:20 +01:00
Jon Coppeard 0136e9a714 Backed out changeset 5290e42e8345 (bug 1038274) for disabling GC malloc trigger 2014-07-16 11:34:49 +01:00
Jon Coppeard 948a1ddf13 Bug 1038274 - Add max heap size constants to pass to JS_NewRuntime() r=terrence 2014-07-16 10:01:20 +01:00
Jon Coppeard 1a8a0cee9f Bug 941804 - Reduce chunk size to 256K for B2G r=terrence 2014-07-15 09:42:47 +01:00
Carsten "Tomcat" Book 783f4386db Backed out changeset a1feed3cd303 (bug 941804) for b2g bustage on a CLOSED TREE 2014-07-14 12:34:33 +02:00
Jon Coppeard b59461402a Bug 941804 - Reduce chunk size to 256K for B2G r=terrence 2014-07-14 10:05:17 +01:00
Jon Coppeard 07673e8cf9 Bug 1034621 - Make it possible to configure nursery size r=terrence
--HG--
extra : rebase_source : 7bdf2b2b15712a31baa34501ef4adcfe0ef8bf7d
2014-07-11 09:59:05 +01:00
Jason Orendorff 26bdfdcc2f Bug 645416, part 3 - Symbol layout and GC support for allocating them. r=terrence.
Layout: js/src/vm/Symbol.h defines the new class JS::Symbol. JS::Symbol is the
same size as JSString on all platforms, because the allocator does not support
smaller allocations.

Allocation: Since the purpose of symbols is to serve as property keys, they are
always allocated in the atoms compartment.

We take a lock when allocating. This could probably be replaced with a
main-thread-only assertion. However, if atom allocation is not already a
bottleneck, symbol allocation probably never will be.

Symbols are given their own finalize-class in the GC. This means we allocate a
page per zone for symbols, even though they are only ever allocated in the
atoms zone. Terrence thought this could be easily fixed later. It should be; we
never touch the page, but a 32-bit virtual address space does not just have
infinite pages to spare.

A jsapi-test exercises the new symbol allocation code. A few oddities in
jsapi-tests are fixed in passing.

Discussion after review led to some new assertions about minimum object size in
AllocateObject and AllocateNonObject.

--HG--
extra : rebase_source : 45abb651d3b1b493d77a5dd0eb554f96b058c63a
2014-06-23 10:55:51 -05:00
Lars T Hansen f6cd570167 Bug 933313: Per-worker generational GC for PJS. r=jandem r=terrence r=shu r=jonco 2014-06-09 22:04:14 -07:00
Carsten "Tomcat" Book 352f40fc4e Backed out changeset d89d4281fd8d (bug 933313) for bustage on a CLOSED TREE 2014-06-06 10:18:04 +02:00
Lars T Hansen 3bb7337386 Bug 933313 - Per-worker generational GC for PJS. r=jandem, r=shu, r=terrence 2014-06-06 09:21:52 +02:00