Commit Graph

100 Commits

Author SHA1 Message Date
Terrence Cole
373a642a58 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
bab09d5096 Bug 1169791 - Strongly type GetTenuredGCThingZone; r=jonco, r=mccr8 2015-06-01 14:11:08 -07:00
Terrence Cole
7b1f37d23c Bug 1167453 - Rename JSGCTraceKind and make it a C++11 enum class; r=jonco 2015-05-22 10:40:24 -07:00
Terrence Cole
97c65455fd Bug 1164602 - Replace js::NullPtr and JS::NullPtr with nullptr_t; r=sfink 2015-05-13 14:07:34 -07:00
Jon Coppeard
38e7afe7ef 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
6b51a17c80 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
353df38b83 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
ebf64fc997 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
f981f078d8 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
1191cc32f1 Bug 1125412 - Expose an object for inspecting GC memory values, r=terrence 2015-01-26 15:32:54 -08:00
Birunthan Mohanathas
730659ae0a Bug 1120796 - Part 2: Replace ConvertibleToBool hackarounds with explicit bool operators. r=Waldo 2015-02-03 18:52:36 +02:00
Birunthan Mohanathas
318898d688 Bug 1120796 - Part 1: Prepare code for explicit bool operators. r=Waldo 2015-02-03 18:52:28 +02:00
Lars T Hansen
d0624c7b7c Bug 1118170 - remove PJS-specific bits from the GC. r=terrence 2015-01-14 09:21:59 +01:00
Terrence Cole
2a29797035 Bug 1119604 - Remove the void* accessor from GCCellPtr; r=sfink 2015-01-09 15:42:42 -08:00
Andrew McCreight
8590b36083 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
455fff82ba 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
9ce9f9b75c 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
9480090a4c 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
a67bb5b756 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
c3e592a91b 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
f3a641e89b 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
e98a1760b2 Bug 1107349 - Always build in enerational GC support; r=jonco 2014-12-04 09:45:05 -08:00
Terrence Cole
6fe27efc84 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
a693fbeadd 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
fe2ac1d0bc 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
c6a3264e3c Bug 1105069 - Part 2: Implement GCCellPtr; r=jonco
--HG--
extra : rebase_source : 429ccde74ab4732c864582b776c223b1f81b198c
2014-12-01 14:49:21 -08:00
Terrence Cole
24c51f3bbd 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
d06b4dec6a 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
4554819e05 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
e2e81fba58 Bug 1101921 - Nursery heap size should scale with the chunk size; r=jonco 2014-11-19 15:01:54 -08:00
Nicolas B. Pierron
8b681bc06c 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
8d289ce0fd Bug 1045940 - Rename needsBarrier to needsIncrementalBarrier; r=jonco 2014-07-28 10:16:56 -07:00
Terrence Cole
3cc44bc3b7 Bug 1045181 - Miscellaneous small cleanups in js::gc; r=jonco 2014-07-29 10:47:43 -07:00
Jon Coppeard
fe8bcdd001 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
2b012b6ea4 Bug 1038274 - Really fix previous problem with landing r=me 2014-07-16 12:04:33 +01:00
Jon Coppeard
a6ed14e402 Bug 1038274 - Add max heap size constants to pass to JS_NewRuntime() r=terrence 2014-07-16 10:01:20 +01:00
Jon Coppeard
a359fd0529 Backed out changeset 5290e42e8345 (bug 1038274) for disabling GC malloc trigger 2014-07-16 11:34:49 +01:00
Jon Coppeard
af3b47bd75 Bug 1038274 - Add max heap size constants to pass to JS_NewRuntime() r=terrence 2014-07-16 10:01:20 +01:00
Jon Coppeard
c92aaa300f Bug 941804 - Reduce chunk size to 256K for B2G r=terrence 2014-07-15 09:42:47 +01:00
Carsten "Tomcat" Book
0bc9a2f7f0 Backed out changeset a1feed3cd303 (bug 941804) for b2g bustage on a CLOSED TREE 2014-07-14 12:34:33 +02:00
Jon Coppeard
6ffd60e7c7 Bug 941804 - Reduce chunk size to 256K for B2G r=terrence 2014-07-14 10:05:17 +01:00
Jon Coppeard
7c93db3865 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
0bfce2ba30 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
931ec954cc 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
8cd3bb75dc Backed out changeset d89d4281fd8d (bug 933313) for bustage on a CLOSED TREE 2014-06-06 10:18:04 +02:00
Lars T Hansen
314ad612f7 Bug 933313 - Per-worker generational GC for PJS. r=jandem, r=shu, r=terrence 2014-06-06 09:21:52 +02:00
Jon Coppeard
a223582947 Bug 1008473 - Remove some redundant methods and misc tidyup r=terrence 2014-06-02 16:11:24 +01:00
Terrence Cole
550d6b3006 Bug 1010655 - Always use the faster version of IsInsideNursery when possible; r=jonco
--HG--
extra : rebase_source : 18c195a3a5897529275deb210bfa7f57f8e29bd8
2014-05-14 19:48:09 -07:00
Ryan VanderMeulen
582b987a26 Backed out changeset 36bfb1d8b8fe (bug 1010655) for Cpp test crashes. 2014-05-16 14:52:13 -04:00
Terrence Cole
65e68dba5c Bug 1010655 - Always use the faster version of IsInsideNursery when possible; r=jonco
--HG--
extra : rebase_source : 474ef235d747f9008f79b2ad0328ec1566b8c641
2014-05-14 19:48:09 -07:00