Terrence Cole
c410ae17c7
Bug 1045940 - Rename needsBarrier to needsIncrementalBarrier; r=jonco
2014-07-28 10:16:56 -07:00
Jim Blandy
a3de3d6a60
Bug 1038316: Add support for ES6 Symbols to ubi::Node. r=sfink
2014-07-30 17:14:19 -07:00
Jim Blandy
023482c98b
Bug 1045900: Move the declaration of INTERNED_STRING_TO_JSID from js/src/jsapi.h to js/public/Id.h. r=jwalden
2014-07-30 08:37:03 -07:00
Tom Schuster
901e429fff
Bug 1045584 - Remove everything relating to frames from OldDebugAPI. r=jandem,bholley
2014-07-30 14:26:46 +02:00
Terrence Cole
8d0192ae1b
Bug 1045181 - Miscellaneous small cleanups in js::gc; r=jonco
2014-07-29 10:47:43 -07:00
Luke Wagner
0accc7e372
Bug 1040390 - Integrate JS::ProfilingFrameIterator with the profiler (r=bgirard)
...
--HG--
extra : rebase_source : 7f9a022fb16a353d22242f60cfae4e5659798752
2014-07-29 09:56:22 -05:00
Luke Wagner
178eac00ed
Bug 1040390 - Replace ad hoc methods with JS::ProfilingFrameIterator::label() (r=dougc)
...
--HG--
extra : rebase_source : 396c7925edac39e39d16dea7a53da3ba34f68ddf
2014-07-29 09:56:21 -05:00
Luke Wagner
2bc805386c
Bug 1040390 - Add JS::ProfilingFrameIterator::stackAddress (r=dougc)
...
--HG--
extra : rebase_source : a5f1823e8e9fb96aeb2813ce5105dc9096a054d7
2014-07-29 09:56:21 -05: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
Tom Schuster
e8621763d5
Bug 1043588 - Remove some unused functions from OldDebugAPI. r=jimb
2014-07-25 14:26:40 +02:00
Tom Schuster
f74881d526
Bug 1031878 - Remove JS_SetWatchPoint and friends. r=jimb
2014-07-25 14:26:40 +02:00
Tom Schuster
55129cf4f1
Bug 1043577 - Remove PropertyDescArray stuff. r=jimb
2014-07-25 14:26:40 +02:00
Tom Schuster
1bc16cea39
Bug 1043578 - Remove JS_SetDebuggerHandler and friends. r=jimb
2014-07-25 14:26:40 +02:00
Tom Schuster
caaba7d772
Bug 1031876 - Remove JS_SetTrap and friends. r=jimb
2014-07-25 14:26:39 +02:00
Jan de Mooij
9dd0f57269
Bug 1031529 part 2 - Remove JS_THREADSAFE #ifdefs everywhere. r=bhackett
2014-07-24 11:56:43 +02:00
Nick Fitzgerald
87b69e2b9e
Bug 993085 - Part 1: Add the Debugger.Memory.prototype.trackingAllocationSites accessor property r=jimb
2014-07-21 18:16:13 -07:00
Luke Wagner
870604424c
Bug 1027885 - OdinMonkey: properly represent calls to builtin functions in the profiling stack (r=dougc)
2014-07-21 11:05:44 -05:00
Luke Wagner
94653a66ca
Bug 1027885 - OdinMonkey: maintain AsmJSActivation::fp in all frames in profiling mode (r=dougc)
2014-07-21 10:58:12 -05:00
Jim Blandy
0781fc5cfb
Bug 1031881: Remove unused elements of JSDebugHooks, and their supporting code. r=sfink
2014-07-19 18:07:05 -07:00
Tom Schuster
c25e1b9944
Bug 1036136 - Implement structured cloning for Map and Set objects. r=jorendorff,bent
2014-07-19 23:44:53 +02:00
Bill McCloskey
8c67fcff35
Bug 1016738 - Simplify/fix "dead compartment" logic (r=luke,jonco)
2014-06-17 11:20:33 -07:00
Nicholas Nethercote
256a1f168b
Bug 1038601 - Shrink js::HashTable. r=luke.
...
This patch reduces sizeof(js::HashTable):
- On 64-bit: from 32 bytes to 24 bytes.
- On 32-bit: from 24 bytes to 16 bytes.
The latter is particularly nice because jemalloc rounds up allocation requests
of 24 bytes to 32, but it can allocate 16 bytes without slop, so we're saving
16 bytes per heap-allocated HashTable.
This is done by:
- Shrinking |removedCount| and |hashShift|.
- Reordering the fields.
- Not defining |mutationCount| and |mEntered| in non-DEBUG builds rather than
using DebugOnly<> -- in non-DEBUG builds, DebugOnly<> fields take up 1 byte
each.
This change saves over 55 KiB when starting Firefox and loading Gmail.
The patch also uses uint32_t more consistently for the generation.
--HG--
extra : rebase_source : 8bdfbfe40f233711433bd9b7a2b5a19d69beacc7
2014-07-16 16:51:09 -07:00
Jan de Mooij
6675f63031
Bug 1037886 - Report Latin1 and TwoByte strings separately in about:memory. r=njn
2014-07-16 19:11:50 +02: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
Chris Peterson
23f9c657f5
Bug 1036780 - Replace MOZ_ASSUME_UNREACHABLE with MOZ_CRASH in js/src/gc. r=terrence
2014-06-29 23:05:34 -07:00
Boris Zbarsky
2a55c83f05
Bug 857648 part 6. Remove the now-unused JS::DescribeStack API. r=jimb
2014-07-04 01:25:30 -04: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
Jeff Walden
fa76238b4c
Bug 1037106 - Use UniquePtr to manage ownership of the Debugger C++ class instance created for a new Debugger object, until it can be stored in the Debugger object's private slot (and owned by it). r=jimb, r=luke
...
--HG--
extra : rebase_source : 0f283bdd22e0e1d320f12b60e9fe98b5a606aa8d
2014-07-09 17:58:43 -07:00
Jan de Mooij
e037c20ef0
Bug 1034627 part 7 - Cleanup and expose UTF8 conversion functions. r=terrence
2014-07-11 16:22:37 +02:00
Ed Morley
25406c0333
Backed out changeset 110fbc2ebc1a (bug 1034627)
2014-07-11 15:46:33 +01:00
Jan de Mooij
aa94a6f856
Bug 1034627 part 7 - Cleanup and expose UTF8 conversion functions. r=terrence
2014-07-11 16:22:37 +02: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
Nicholas Nethercote
2a0942be41
Bug 1036789 - Convert the third quarter of MFBT to Gecko style. r=Ms2ger.
...
--HG--
extra : rebase_source : 668cd394806203ddfa34bd4f226335ff26c846b5
2014-07-10 19:10:17 -07:00
Jeff Walden
48a41479a8
Bug 1036703 - Manage TokenStream::{sourceMap,display}URL_ using UniquePtr. r=jimb
...
--HG--
extra : rebase_source : 063beaeb184059b6a03338f05f4d073a5ea8bf27
2014-07-09 16:53:42 -07:00
Carsten "Tomcat" Book
d626e8a402
Backed out changeset 03b7d111cc86 (bug 857648)
2014-07-04 08:23:17 +02:00
Boris Zbarsky
bc8063b408
Bug 857648 part 6. Remove the now-unused JS::DescribeStack API. r=jimb
2014-07-04 01:25:30 -04:00
Dan Gohman
abf3658282
Bug 1004363 - IonMonkey: A new value-numbering implementation based on a dom-tree DFS. r=nbp
2014-06-27 10:38:44 -07:00
Steve Singer
f7e8253480
Bug 1030400 - Add sym to the 32 bit big endian branch. r=jorendorff
2014-06-25 18:48:00 +02:00
Jan de Mooij
21cfe56f5f
Bug 1027528 part 15 - Make structured clone work with Latin1 strings. r=jorendorff,bent
2014-06-25 08:05:41 +02:00
Jim Blandy
7a407c784d
Bug 961325: Give PersistentRooted a copy constructor that can take a 'const' original. r=terrence
2014-06-23 12:59:19 -07:00
Terrence Cole
06bb27de7f
Bug 1028358; r=jonco
...
--HG--
extra : rebase_source : 41cf1eaa104bf386c77777be906236d1d15a2622
2014-06-23 12:36:36 -07:00
Jason Orendorff
edb4532fbf
Bug 645416, part 21 - Add symbol jsids (SYMBOL_TO_JSID), removing the legacy support for object jsids (OBJECT_TO_JSID). r=terrence,r=jimb,r=efaust.
...
With just this patch, there are not actually any symbol jsids flowing through
the system, just as there are not actually any object jsids. But a subsequent
patch (part 23) changes this.
This patch deletes some code in CTypes.cpp that is simply confused about how
element accesses work: Int64 and UInt64 objects were never actually converted
to object jsids, so the code being removed here was already dead code.
--HG--
extra : rebase_source : 86f421c6454344e76ce5219b7b1aed5c83b45f24
2014-06-23 10:56:52 -05: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
Jason Orendorff
64a2896773
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
cc9b00ab80
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
Bill McCloskey
a144caadb7
Bug 1017302 - Expose add-on IDs to JS engine (r=bholley)
2014-06-21 11:54:22 -07:00
Brian Hackett
3ba0ec8938
Bug 1020012 - Consolidate ScriptSources with the same source, r=luke.
2014-06-21 10:39:04 -07:00
Jan de Mooij
a9a7517ec1
Bug 1027528 part 3 - Make JS_EncodeString and friends handle Latin1 strings. r=Waldo
2014-06-20 12:39:44 +02:00
Birunthan Mohanathas
bc0233fe47
Bug 1026535 - Fix mismatched class/struct tags. r=ehsan
2014-06-18 17:57:51 -07:00
Nicholas Nethercote
aaf6fb2124
Bug 1010064 - Allow memory reports to be anonymized. r=bsmedberg.
...
--HG--
extra : rebase_source : 5eb756b17a97e751deb0f47e909fdb35533cb23b
2014-05-20 23:06:54 -07:00
Ryan VanderMeulen
2c783e8f61
Backed out changeset aca2ec2457ec (bug 1016738) for re-introducing frequent WebRTC crashes.
2014-06-17 21:12:43 -04:00
Bill McCloskey
8e850f27e9
Bug 1016738 - Simplify/fix "dead compartment" logic (r=luke,jonco)
2014-06-17 11:20:33 -07:00
Jan de Mooij
d56b70afc1
Bug 1025875 part 8 - Make JS_EncodeStringToUTF8, print etc work with Latin1 strings. r=Waldo
2014-06-17 15:18:23 +02:00
Brian Hackett
5385dceeca
Bug 1024038 - Remove YARR, r=jandem.
2014-06-16 15:37:53 -07:00
Jim Blandy
d84b1105f4
Bug 960786: SpiderMonkey should provide an introspection API for memory heap analysis (ubi::Node) r=sfink
2014-06-16 15:18:57 -07:00
Terrence Cole
2cfeae1d9e
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
Nicholas Nethercote
2207ecfbcd
Backout 277bacd9f2f8 (bug 1023719) for causing intermittent crashes.
...
--HG--
extra : rebase_source : e6c9e54dd2df572da7f8cdf3cd6226a1aeeee883
2014-06-13 06:39:16 -07:00
Nicholas Nethercote
feeaf7db9a
Bug 1023719 - Report notable classes in the JS memory reporter. r=till.
...
--HG--
extra : rebase_source : 5a842c36cf7202f6751290da80cefb005fd8db95
2014-04-15 19:43:18 -07: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
Bill McCloskey
94dcca9b50
Bug 1016738 - Back out for webrtc crashes.
2014-06-09 12:30:38 -07:00
Jon Coppeard
1e52d084da
Bug 1021114 - Remove GCMethods::kind() in favour or RootKind::rootKind() r=terrence
2014-06-07 10:34:57 +01:00
Jon Coppeard
f9ee688bb5
Bug 988486 - Make more GCRuntime members private and add necessary accessors r=terrence
2014-06-07 10:34:57 +01:00
Ryan VanderMeulen
c926517847
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
Jan de Mooij
5a64b7de18
Bug 1020869 - Make IdToTypeId, StringIsArrayIndex etc work with Latin1 strings. r=bhackett
2014-06-07 14:59:52 +02:00
Jon Coppeard
a51d6e0272
Bug 1021114 - Remove GCMethods::kind() in favour or RootKind::rootKind() r=terrence
2014-06-07 10:34:57 +01:00
Jon Coppeard
f8eef3aa53
Bug 988486 - Make more GCRuntime members private and add necessary accessors r=terrence
2014-06-07 10:34:57 +01:00
Jim Chen
809db03f75
Bug 1013326 - Move script principals APIs to jsfriendapi; r=luke
2014-06-06 18:39:40 -04:00
Jason Orendorff
3362b05761
Bug 1017067 - Merge deleteProperty/deleteElement ops back into a single deleteGeneric op. r=bhackett.
2014-06-05 13:19:23 -04:00
Carsten "Tomcat" Book
7ec9b3199d
Backed out changeset d15632d88126 (bug 933313) for cppunit testfailures on a CLOSED TREE
2014-06-06 15:49:45 +02:00
Lars T Hansen
df0eb6e634
Bug 933313: Per-worker generational GC for PJS. Take 2. r=jandem, r=shu, r=terrence, r=jonco
2014-06-06 11:42:10 +02: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
Jon Coppeard
fb0a091308
Bug 1020690 - Type exact stack rooting machinery. r=sfink
...
--HG--
extra : rebase_source : 366ff0579912b8a03f29abb882cabcc982a44d47
2014-06-05 10:38:00 -04:00
Ryan VanderMeulen
cf6ea4c31e
Backed out changeset 846ee7c7debf (bug 1020690) for bustage.
...
CLOSED TREE
2014-06-05 14:39:11 -04:00
Jon Coppeard
095ddda7f4
Bug 1020690 - Type exact stack rooting machinery. r=sfink
2014-06-05 10:38:00 -04:00
Victor Porof
b3b4be1879
Bug 1017790 - Expose category information in the profiler data, r=djvj
2014-06-04 14:37:49 -04:00
Victor Porof
90e774e163
Bug 1019182 - ProfileEntry flags should be zeroed when setting frame data, r=djvj
2014-06-04 14:37:49 -04:00
Jon Coppeard
e3c37fbf79
Bug 1008473 - Fix breakage on little endian 32 bit builds r=terrence
2014-06-03 16:29:39 +01:00
Jan de Mooij
c3f02ebac2
Bug 1018568
- Make AutoAssertOnGC a nop in opt builds. r=terrence
2014-06-03 09:27:18 +02:00
Bill McCloskey
c6897ddf69
Bug 1016738 - Simplify/fix "dead compartment" logic (r=luke,jonco)
2014-05-30 07:46:12 -07:00
Jon Coppeard
0fbf27d590
Bug 1008473 - Remove some redundant methods and misc tidyup r=terrence
2014-06-02 16:11:24 +01:00
Jon Coppeard
c68efbdd4d
Bug 1008473 - Make Value::toGCThing() return a Cell pointer rather than void* r=terrence
2014-06-02 16:10:53 +01:00
Phil Ringnalda
3e5340dd29
Merge f-t to m-c
2014-05-31 20:31:07 -07:00
Victor Porof
ebedad1bb5
Bug 1007203 - Set the categories as flags on profile entries, r=djvj
2014-05-30 21:41:11 -04:00
Victor Porof
9ce7e9c089
Bug 1007203 - Always add categories when pushing to the pseudostack, r=djvj
2014-05-23 17:12:29 -04:00
Jan de Mooij
ce729bb6e9
Bug 1018243 - Use unsigned char instead of char for latin1 strings. r=luke
2014-05-31 10:44:32 +02:00
Ryan VanderMeulen
5822c2ae12
Backed out changeset 0d61bcf08362 (bug 1013531) for bustage.
...
CLOSED TREE
2014-05-29 13:26:55 -04:00
Terrence Cole
a3d66fba38
Bug 1013531 - Clarify the naming of the rooting analysis supression guards; r=sfink
...
--HG--
extra : rebase_source : ce44e4a4428414a132eae7167c485ff366b1f0a6
2014-05-28 17:34:36 -07:00
Victor Porof
07cede5f0b
Bug 1004726 - Clean up profiler pseudo-stack representation (relanded), r=djvj,jchen
2014-05-28 18:44:41 -04:00
Victor Porof
9e41feb374
Backed out changeset c2429d6c41fb (Bug 1004726) for regressions on B2G, r=me
2014-05-26 21:51:50 -04:00
Ehsan Akhgari
5b0272c079
Bug 1013663 - Fix some bad implicit conversion constructors in the JS engine; r=jorendorff,jandem
2014-05-25 21:46:24 -04:00
Bobby Holley
09f9f51b84
Bug 992958 - Add support for prototype JSPropertySpecs on ClassSpec. r=luke
2014-05-23 16:53:03 -07:00
Bobby Holley
8cb3d69adf
Bug 992958 - Streamline __proto__ getter and setter definitions into a JSPropertySpec. r=luke
...
We don't need the nativeCall bits anymore.
2014-05-23 16:53:02 -07:00
Dan Gohman
ad6d8397a0
Bug 1012971 - SpiderMonkey: Fix various warnings. r=nbp
2014-05-22 11:15:06 -07:00
Heiher
64ac1ec0b7
Bug 997274 - Value.h uses NUNBOX32 and PUNBOX64 instead of JS_BITS_PER_WORD. r=nbp
2014-05-21 06:47:10 -07:00