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
Nicholas Nethercote
ff47af9d66
Bug 952650 (part 16) - Remove JSVAL_TO_PRIVATE. r=till.
...
--HG--
extra : rebase_source : 603bb66a90484b488bedf1dd4da6935324c148c6
2014-04-28 16:01:31 -07:00
Nicholas Nethercote
4f31592f59
Bug 952650 (part 15) - Remove JSVAL_TO_GCTHING. r=till.
...
--HG--
extra : rebase_source : c9df656012842c35f4a0e069168842b5e6c4d935
2014-04-28 16:01:30 -07:00
Nicholas Nethercote
3717458071
Bug 952650 (part 14) - Remove JSVAL_IS_GCTHING. r=till.
...
--HG--
extra : rebase_source : 469430d481f5fdb14d49609d8460f9fcbc90927f
2014-04-28 16:01:30 -07:00
Nicholas Nethercote
0b29eb277a
Bug 952650 (part 13) - Remove JSVAL_IS_PRIMITIVE. r=till.
...
--HG--
extra : rebase_source : 450ba0261ef5a8546c81f9f645605e312585d6c6
2014-04-27 20:27:54 -07:00
Nicholas Nethercote
c79e0f8f0d
Bug 952650 (part 12) - Remove JSVAL_TO_OBJECT. r=till.
...
--HG--
extra : rebase_source : 60dcaa2b778d3cf6eb7dc1a4949aab010ed8c130
2014-04-27 19:58:52 -07:00
Rodrigo Rodriguez Jr.
bc17528767
Bug 952650 (part 11) - Remove JSVAL_TO_INT. r=njn.
...
--HG--
extra : rebase_source : 41923458bbf8fd957c9a57685df4969f1190bd9f
2014-04-27 19:55:08 -07:00
Rodrigo Rodriguez Jr.
b0de19588c
Bug 952650 (part 10) - Remove JSVAL_IS_NUMBER. r=njn.
...
--HG--
extra : rebase_source : eaef4276d665c9bb06eb695989fb4c3b08358069
2014-04-27 19:48:45 -07:00
Rodrigo Rodriguez Jr.
1b9dfa0db1
Bug 952650 (part 9) - Remove JSVAL_IS_INT. r=njn.
...
--HG--
extra : rebase_source : dc0c170914c2370c218cdbbe671d2a68628f5a87
2014-04-27 19:47:02 -07:00
Rodrigo Rodriguez Jr.
0a5bccece7
Bug 952650 (part 8) - Remove JSVAL_TO_STRING. r=njn.
...
--HG--
extra : rebase_source : 61ab9459c00849027498904863647e65453a1a43
2014-04-27 19:45:46 -07:00
Rodrigo Rodriguez Jr.
295e388ace
Bug 952650 (part 7) - Remove JSVAL_IS_BOOLEAN. r=njn.
...
--HG--
extra : rebase_source : 1ac334a052b7374dd9080d9bf89658e1f5d6168f
2014-04-27 19:44:05 -07:00
Rodrigo Rodriguez Jr.
8c9ffb503e
Bug 952650 (part 6) - Remove JSVAL_IS_STRING. r=njn.
...
--HG--
extra : rebase_source : ebd55749447f9feea04a78ff7cc17ba2dd2c5cd0
2014-04-27 19:41:01 -07:00
Rodrigo Rodriguez Jr.
d4df43e7c2
Bug 952650 (part 5) - Remove JSVAL_TO_DOUBLE. r=njn.
...
--HG--
extra : rebase_source : b1d9ba218fd1126f486f686ec5754dfaedac8b3c
2014-04-27 19:38:31 -07:00
Rodrigo Rodriguez Jr.
7b7c484d7f
Bug 952650 (part 4) - Remove JSVAL_IS_DOUBLE. r=njn.
...
--HG--
extra : rebase_source : 3c7065d9e487db70a1afed0a4143ae7b0cd23af9
2014-04-27 19:35:40 -07:00