Commit Graph

121 Commits

Author SHA1 Message Date
Terrence Cole
5f506c3139 Backed out changeset 6da67b7e65ac (Bug 1175642) for unexpected bustage on a CLOSED TREE. r=meow 2015-07-01 11:43:40 -07:00
Terrence Cole
2743137d82 Bug 1175642 - Fix the interface that RelocatablePtr uses to interact with the StoreBuffer; r=jonco
* * *
Bug 1175466 - "Allocate arguments objects in the nursery" [r=terrence]
2015-06-18 10:23:49 -07:00
Jan de Mooij
1578d8d59f Bug 1177892 part 4 - Remove INT_TO_JSVAL. r=evilpie 2015-06-30 21:10:04 -07:00
Jan de Mooij
91656f1d39 Bug 1177892 part 3 - Remove OBJECT_TO_JSVAL. r=evilpie 2015-06-30 21:09:46 -07:00
Jan de Mooij
2d19dfc5f6 Bug 1177892 part 2 - Remove PRIVATE_TO_JSVAL. r=evilpie 2015-06-30 11:20:58 -07:00
Jan de Mooij
50d0e1c75e Bug 1177892 part 1 - Remove BOOLEAN_TO_JSVAL and STRING_TO_JSVAL. r=evilpie 2015-06-30 11:20:56 -07:00
Ryan VanderMeulen
1c944f7ca5 Backed out changesets ad58c270ce87 and 849151330d60 (bug 1177892) for B2G bustage.
CLOSED TREE
2015-06-30 15:48:11 -04:00
Jan de Mooij
f7b999155b Bug 1177892 part 2 - Remove PRIVATE_TO_JSVAL. r=evilpie 2015-06-30 11:20:58 -07:00
Jan de Mooij
abbf48c613 Bug 1177892 part 1 - Remove BOOLEAN_TO_JSVAL and STRING_TO_JSVAL. r=evilpie 2015-06-30 11:20:56 -07:00
Jan de Mooij
61c36ee986 Bug 1177825 - Remove JSVAL_* constants. r=evilpie 2015-06-29 18:36:44 -07:00
Terrence Cole
85e78735cd Backout 6b847a10bbb1 (Bug 1175642) for being on top of a regression. 2015-06-24 16:25:12 -07:00
Terrence Cole
3df2f8a546 Bug 1175642 - Fix the interface that RelocatablePtr uses to interact with the StoreBuffer; r=jonco 2015-06-18 10:23:49 -07:00
Terrence Cole
a04630c2c6 Bug 1169097 - Remove CountHeap; r=sfink 2015-05-28 16:35:06 -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
0ba0ae0b91 Bug 1157533 - Share Value and jsid typed dispatch code; r=jonco 2015-04-23 10:42:31 -07: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
Brian Hackett
1c8357ba59 Bug 1143521 - Remove IsPoisonedPtr stuff, r=sfink. 2015-03-18 18:01:35 -07:00
Terrence Cole
62f1911d11 Bug 1128110 - Share common operators on pointer-like GC classes; r=sfink 2015-02-04 15:27:00 -08:00
Jon Coppeard
4bb8091dcb Bug 1107639 - Give PersistentRooted<Value> the standard operations on Value r=terrence 2015-01-23 10:23:56 +00:00
Ehsan Akhgari
1ac86d08eb Bug 1114351 - Use mozilla::IsNaN() in DOUBLE_TO_JSVAL(); r=Waldo
Note that this requires making sure that IsNaN is constexpr because it
needs to be passed to the constexpr IMPL_TO_JSVALUE() function in
DOUBLE_TO_JSVAL().

--HG--
extra : amend_source : dbd8bb0659b53e7d36d2600ac97f0a753ef772c7
2014-12-21 19:16:49 -05: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
Tom Schuster
70dad95d3c Bug 1097267 - Change to the simpler enumerate hook in the js engine. r=jorendorff 2014-12-11 19:31:10 +01:00
Terrence Cole
e98a1760b2 Bug 1107349 - Always build in enerational GC support; r=jonco 2014-12-04 09:45:05 -08:00
Terrence Cole
bf54351f2c Bug 1105069 - Part 3: Convert ExposeGCThingToActiveJS to use GCCellPtr; r=jonco
--HG--
extra : rebase_source : 68fc0a09b046eaf0042337d27bceac1de2b26150
2014-05-19 14:58:05 -07:00
Jeff Walden
aee18b25b3 Bug 712939 - Use JS_ENUM_HEADER and JS_ENUM_FOOTER only where absolutely necessary, and don't expose them for general use. r=jandem 2014-11-07 18:33:20 -08:00
Shu-yu Guo
e2b8496ba0 Bug 1092032 - Bias magic uint32s in ArgumentObject forwarded slots by the maximum JSWhyMagic value to distinguish them from the JSWhyMagic-based magic values. (r=luke) 2014-10-31 16:46:26 -07:00
Shu-yu Guo
621f26a3c6 Bug 1001090 - Part 1: Implement let temporal dead zone in the frontend and interpreter. (r=Waldo) 2014-09-15 16:30:45 -07:00
Terrence Cole
29dc9aff5e Bug 914402 - Remove the defunct conservative stack scanner; r=sfink
--HG--
extra : rebase_source : c261ef7492694e9724c78edc7bc0dac7aa4357ba
2014-09-09 15:08:23 -07:00
Brian Hackett
63ed4cf7b0 Bug 934450 - Allow objects to have copy on write elements, r=billm,jandem. 2014-08-19 22:25:37 -08:00
Dan Gohman
d4dcf10a95 Bug 1054334 - SpiderMonkey: Eliminate unnecessary parentheses around return values r=nbp 2014-08-18 12:20:40 -07:00
Terrence Cole
cc4c222321 Bug 1047120 - PurpleBuffer doesn't actually need to use Heap<T>; r=mccr8,jonco 2014-07-31 14:43:45 -07:00
Terrence Cole
f9a1f7967a Bug 1046945 - Move ExposeGCThingToActiveJS to js::gc:: and use the typed wrappers instead; r=jonco
--HG--
extra : rebase_source : 99d98ed9351f563ed3b6eb18ad67d2f3ae736df4
2014-07-31 12:14:17 -07:00
Terrence Cole
3cc44bc3b7 Bug 1045181 - Miscellaneous small cleanups in js::gc; r=jonco 2014-07-29 10:47:43 -07:00
Steve Singer
9ee04be984 Bug 1030400 - Add sym to the 32 bit big endian branch. r=jorendorff 2014-06-25 18:48:00 +02: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
Jason Orendorff
c4d2ca3a88 Bug 645416, part 2 - Add support for symbols to JS::Value. r=luke.
The API for symbol Values is much like the API for strings.

The implementation behind all this is in a later patch. Here, a class
JS::Symbol is declared, but not defined anywhere yet.

The constants being deleted from js/public/Value.h probably haven't been used
since Tracemonkey days.

--HG--
extra : rebase_source : 5b2d0cc4d99223483e850ee80913eef3854c427c
2014-06-23 10:55:51 -05:00
Jason Orendorff
c3317f9be6 Bug 645416, part 1 - Add an enum for symbols to JSValueType. r=nbp.
JSVAL_TYPE_SYMBOL is inserted between STRING and NULL, rather than added at the
end, in order to preserve all the inequality relations on JSValueTypes used
throughout Value.h. (Search the header for the operators < > <= >=.)

Otherwise, this pretty much just works. Some details of Ion snapshot layout
had to change to accommodate 4-bit types.

--HG--
extra : rebase_source : e3141e6a9ee32ef563dab43a4942a9e67d234865
2014-06-23 10:55:51 -05:00
Terrence Cole
e596c6f439 Bug 1017650 - Re-arrange the GC API include dependency ordering; r=jonco
--HG--
extra : rebase_source : bc27b7206c674ef2247169dd700b9fbf61e5bd74
2014-06-16 11:59:45 -07:00
Jon Coppeard
521b24a4d6 Bug 1021114 - Remove GCMethods::kind() in favour or RootKind::rootKind() r=terrence 2014-06-07 10:34:57 +01:00
Ryan VanderMeulen
559d06da25 Backed out 3 changesets (bug 1021114, bug 988486) for GC crashes on a CLOSED TREE.
Backed out changeset f56234ba7ec7 (bug 1021114)
Backed out changeset 14a4a9062253 (bug 988486)
Backed out changeset 03eccac81e15 (bug 988486)
2014-06-07 00:03:17 -04:00
Jon Coppeard
744336b199 Bug 1021114 - Remove GCMethods::kind() in favour or RootKind::rootKind() r=terrence 2014-06-07 10:34:57 +01:00
Jon Coppeard
18ebc7a15f Bug 1008473 - Fix breakage on little endian 32 bit builds r=terrence 2014-06-03 16:29:39 +01:00
Jon Coppeard
bbd134a650 Bug 1008473 - Make Value::toGCThing() return a Cell pointer rather than void* r=terrence 2014-06-02 16:10:53 +01:00
Ehsan Akhgari
ad3b490e96 Bug 1013663 - Fix some bad implicit conversion constructors in the JS engine; r=jorendorff,jandem 2014-05-25 21:46:24 -04:00
Heiher
66354089ba Bug 997274 - Value.h uses NUNBOX32 and PUNBOX64 instead of JS_BITS_PER_WORD. r=nbp 2014-05-21 06:47:10 -07:00
Terrence Cole
0431a736b3 Bug 989414 - Access the store buffer through the chunk trailer; r=jonco 2014-05-01 09:26:12 -07:00
Jon Coppeard
bed7fc43d9 Bug 959787 - Handlify remaining JS APIs r=terrence r=bz r=bholley 2014-04-30 10:10:33 +01:00
Nicholas Nethercote
18d2ee3b41 Bug 952650 (part 18) - Rename JSVAL_IS_SPECIFIC_BOOLEAN. r=till.
--HG--
extra : rebase_source : 73b6b9d92ca940249cdb1d6bdc71f9ee9bb498ec
2014-04-28 16:55:40 -07:00