Steve Singer
74ec6b9f20
Bug 1030400 - Add sym to the 32 bit big endian branch. r=jorendorff
2014-06-25 18:48:00 +02:00
Jason Orendorff
aa5af229d2
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.
2014-06-23 10:55:51 -05:00
Jason Orendorff
2e4bca5600
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.
2014-06-23 10:55:51 -05:00
Jason Orendorff
63903fca62
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.
2014-06-23 10:55:51 -05:00
Terrence Cole
1a13d39839
Bug 1017650 - Re-arrange the GC API include dependency ordering; r=jonco
2014-06-16 11:59:45 -07:00
Jon Coppeard
742d6c52c1
Bug 1021114 - Remove GCMethods::kind() in favour or RootKind::rootKind() r=terrence
2014-06-07 10:34:57 +01:00
Ryan VanderMeulen
6f0dbcc424
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
e6832a4174
Bug 1021114 - Remove GCMethods::kind() in favour or RootKind::rootKind() r=terrence
2014-06-07 10:34:57 +01:00
Jon Coppeard
990b58b2f9
Bug 1008473 - Fix breakage on little endian 32 bit builds r=terrence
2014-06-03 16:29:39 +01:00
Jon Coppeard
86dc4ddeca
Bug 1008473 - Make Value::toGCThing() return a Cell pointer rather than void* r=terrence
2014-06-02 16:10:53 +01:00
Ehsan Akhgari
5292a10a42
Bug 1013663 - Fix some bad implicit conversion constructors in the JS engine; r=jorendorff,jandem
2014-05-25 21:46:24 -04:00
Heiher
e1c2fbcb4b
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
d991454d37
Bug 989414 - Access the store buffer through the chunk trailer; r=jonco
2014-05-01 09:26:12 -07:00
Jon Coppeard
d67f0ed243
Bug 959787 - Handlify remaining JS APIs r=terrence r=bz r=bholley
2014-04-30 10:10:33 +01:00
Nicholas Nethercote
8f7a0990e8
Bug 952650 (part 18) - Rename JSVAL_IS_SPECIFIC_BOOLEAN. r=till.
2014-04-28 16:55:40 -07:00
Nicholas Nethercote
121cf9ba60
Bug 952650 (part 16) - Remove JSVAL_TO_PRIVATE. r=till.
2014-04-28 16:01:31 -07:00
Nicholas Nethercote
7d15c38836
Bug 952650 (part 15) - Remove JSVAL_TO_GCTHING. r=till.
2014-04-28 16:01:30 -07:00
Nicholas Nethercote
9da212679f
Bug 952650 (part 14) - Remove JSVAL_IS_GCTHING. r=till.
2014-04-28 16:01:30 -07:00
Nicholas Nethercote
22241fec6d
Bug 952650 (part 13) - Remove JSVAL_IS_PRIMITIVE. r=till.
2014-04-27 20:27:54 -07:00
Nicholas Nethercote
2aae5772c2
Bug 952650 (part 12) - Remove JSVAL_TO_OBJECT. r=till.
2014-04-27 19:58:52 -07:00
Rodrigo Rodriguez Jr.
76724a5e28
Bug 952650 (part 11) - Remove JSVAL_TO_INT. r=njn.
2014-04-27 19:55:08 -07:00
Rodrigo Rodriguez Jr.
3d9f96fd48
Bug 952650 (part 10) - Remove JSVAL_IS_NUMBER. r=njn.
2014-04-27 19:48:45 -07:00
Rodrigo Rodriguez Jr.
fd3acee3e0
Bug 952650 (part 9) - Remove JSVAL_IS_INT. r=njn.
2014-04-27 19:47:02 -07:00
Rodrigo Rodriguez Jr.
ed3320f992
Bug 952650 (part 8) - Remove JSVAL_TO_STRING. r=njn.
2014-04-27 19:45:46 -07:00
Rodrigo Rodriguez Jr.
7020d33c12
Bug 952650 (part 7) - Remove JSVAL_IS_BOOLEAN. r=njn.
2014-04-27 19:44:05 -07:00
Rodrigo Rodriguez Jr.
cf436f0880
Bug 952650 (part 6) - Remove JSVAL_IS_STRING. r=njn.
2014-04-27 19:41:01 -07:00
Rodrigo Rodriguez Jr.
0cf9bff2a9
Bug 952650 (part 5) - Remove JSVAL_TO_DOUBLE. r=njn.
2014-04-27 19:38:31 -07:00
Rodrigo Rodriguez Jr.
98a55a7f8d
Bug 952650 (part 4) - Remove JSVAL_IS_DOUBLE. r=njn.
2014-04-27 19:35:40 -07:00
Rodrigo Rodriguez Jr.
9e62890e1f
Bug 952650 (part 3) - Remove JSVAL_TO_BOOLEAN. r=njn.
2014-04-27 19:34:12 -07:00
Rodrigo Rodriguez Jr.
ddb500cb53
Bug 952650 (part 2) - Remove JSVAL_IS_VOID. r=evilpies.
2014-04-27 19:32:05 -07:00
Rodrigo Rodriguez Jr.
34b9987192
Bug 952650 (part 1) - Remove JSVAL_IS_NULL. r=terrence.
2014-04-27 19:30:51 -07:00
Terrence Cole
996100701b
Bug 989414 - Implement BarrieredValue in terms of BarrieredPtr using GCMethods; r=jonco
2014-04-25 14:18:18 -07:00
Nicolas B. Pierron
431a4b559c
Bug 990106 part 3 - Recover RInstructions during bailouts. r=jandem
2014-04-29 10:17:51 -07:00
Shu-yu Guo
754cc81137
Bug 716647 - Part 1: Introduce JS_OPTIMIZED_OUT magic for optimized out slots and teach Debugger about them. (r=jandem)
2014-04-24 01:59:36 -07:00
Ms2ger
272e2f0d6d
Bug 981371 - Fix a confused assertion in JSVAL_IS_OBJECT_IMPL (64-bits); r=luke
2014-03-27 21:05:13 +01:00
Luke Wagner
6841ecc72b
Bug 979541 - Remove nonLazyScript use in ArgumentsObject::elements (r=jandem)
2014-03-05 14:49:36 -06:00
Jan de Mooij
c988391400
Bug 977538 - Disable PGO for CanonicalizeNaN. r=luke
2014-02-27 20:48:59 +01:00
Benjamin Bouvier
9fd3eb51d1
Bug 939843: Required changes in Spidermonkey; r=mjrosenb
2014-02-27 16:23:11 +01:00
Terrence Cole
7e8aca51e9
Bug 959787 - Handlify several JSAPI interfaces that can GC, Part 1; r=sfink,Ms2ger
2014-01-14 12:41:22 -08:00
Nicolas B. Pierron
766304139d
Bug 958471 - Assert range of Object/String Values' payload. r=jandem
2014-01-16 03:06:31 -08:00
Jon Coppeard
f4418b5f63
Bug 959683 - Use rooting typedefs consistently in our public API r=sfink
2014-01-15 10:31:00 +00:00
Sean Stangl
34032f2d84
Bug 939505 - Use JS_DEBUG in public headers. r=jorendorff
2013-12-06 15:03:08 -08:00
Jeff Walden
b07a5143c5
Bug 943839 - Simplify Anchor and get rid of JS_AnchorPtr. r=terrence
2013-12-02 15:43:30 -08:00
Jon Coppeard
9f8805a850
Bug 935136 - Remove the now unnecessary UnbarrieredMutableValueOperations r=terrence
2013-11-19 22:53:36 +00:00
Ed Morley
fdfcb204b1
Backed out changeset b75c703f2e7e (bug 935136)
2013-11-20 16:38:13 +00:00
Jon Coppeard
c92389ebf5
Bug 935136 - Remove the now unnecessary UnbarrieredMutableValueOperations r=terrence
2013-11-19 22:53:36 +00:00
Michael Shuen
cd59b81d1f
Bug 937916 - Implement TrueValue() and FalseValue(). r=sfink
2013-11-15 21:46:39 -05:00
Jon Coppeard
cac0f5c43c
Bug 935136 - Always barrier assignments to Heap<Value> r=terrence
2013-11-12 11:21:01 +00:00
Jan de Mooij
e2598f29bf
Bug 859892 - Rename JS_CANONICALIZE_NAN to JS::CanonicalizeNaN. r=Waldo
2013-10-17 10:16:17 +02:00
Nathan Froyd
a78625bd98
Bug 925807 - define JS_BITS_PER_WORD in terms of JS_64BIT; r=njn
2013-10-11 15:11:48 -04:00