Commit Graph

787 Commits

Author SHA1 Message Date
Jim Blandy
16dfe8fa44 Bug 1038544: Implement ubi::Node::zone, to return the JS::Zone to which the node's referent belongs. r=terrence 2014-07-31 17:29:40 -07:00
Wes Kocher
9f8b36a680 Backed out changeset 61a25c10da62 (bug 1038544) for build failures 2014-07-31 14:40:16 -07:00
Jim Blandy
d8901f7d2a Bug 1038544: Implement ubi::Node::zone, to return the JS::Zone to which the node's referent belongs. r=terrence 2014-07-31 13:50:10 -07:00
Terrence Cole
2fd25e500c Bug 1045940 - Rename needsBarrier to needsIncrementalBarrier; r=jonco 2014-07-28 10:16:56 -07:00
Jim Blandy
b69defd915 Bug 1038316: Add support for ES6 Symbols to ubi::Node. r=sfink 2014-07-30 17:14:19 -07:00
Jim Blandy
dbe6c0ec6c 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
71db6314a9 Bug 1045584 - Remove everything relating to frames from OldDebugAPI. r=jandem,bholley 2014-07-30 14:26:46 +02:00
Terrence Cole
0530fb0a80 Bug 1045181 - Miscellaneous small cleanups in js::gc; r=jonco 2014-07-29 10:47:43 -07:00
Luke Wagner
8ae00b2cc6 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
d082a048a2 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
2875ab4eb5 Bug 1040390 - Add JS::ProfilingFrameIterator::stackAddress (r=dougc)
--HG--
extra : rebase_source : a5f1823e8e9fb96aeb2813ce5105dc9096a054d7
2014-07-29 09:56:21 -05:00
Jon Coppeard
0fdbee64d0 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
7fecfd389c Bug 1043588 - Remove some unused functions from OldDebugAPI. r=jimb 2014-07-25 14:26:40 +02:00
Tom Schuster
f68682512f Bug 1031878 - Remove JS_SetWatchPoint and friends. r=jimb 2014-07-25 14:26:40 +02:00
Tom Schuster
f64ba94266 Bug 1043577 - Remove PropertyDescArray stuff. r=jimb 2014-07-25 14:26:40 +02:00
Tom Schuster
159f339e95 Bug 1043578 - Remove JS_SetDebuggerHandler and friends. r=jimb 2014-07-25 14:26:40 +02:00
Tom Schuster
10abfe2a50 Bug 1031876 - Remove JS_SetTrap and friends. r=jimb 2014-07-25 14:26:39 +02:00
Jan de Mooij
09ba1e72b1 Bug 1031529 part 2 - Remove JS_THREADSAFE #ifdefs everywhere. r=bhackett 2014-07-24 11:56:43 +02:00
Nick Fitzgerald
10c2b54288 Bug 993085 - Part 1: Add the Debugger.Memory.prototype.trackingAllocationSites accessor property r=jimb 2014-07-21 18:16:13 -07:00
Luke Wagner
c23e7c31f9 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
2e1686059e Bug 1027885 - OdinMonkey: maintain AsmJSActivation::fp in all frames in profiling mode (r=dougc) 2014-07-21 10:58:12 -05:00
Jim Blandy
946ed74728 Bug 1031881: Remove unused elements of JSDebugHooks, and their supporting code. r=sfink 2014-07-19 18:07:05 -07:00
Tom Schuster
a4f09d0b10 Bug 1036136 - Implement structured cloning for Map and Set objects. r=jorendorff,bent 2014-07-19 23:44:53 +02:00
Nicholas Nethercote
06e58a92ae 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
aef09d50af Bug 1037886 - Report Latin1 and TwoByte strings separately in about:memory. r=njn 2014-07-16 19:11:50 +02:00
Jon Coppeard
9402c2694f Bug 1038274 - Really fix previous problem with landing r=me 2014-07-16 12:04:33 +01:00
Jon Coppeard
d3c5f00dd1 Bug 1038274 - Add max heap size constants to pass to JS_NewRuntime() r=terrence 2014-07-16 10:01:20 +01:00
Jon Coppeard
ad61333040 Backed out changeset 5290e42e8345 (bug 1038274) for disabling GC malloc trigger 2014-07-16 11:34:49 +01:00
Jon Coppeard
84f87fb5e3 Bug 1038274 - Add max heap size constants to pass to JS_NewRuntime() r=terrence 2014-07-16 10:01:20 +01:00
Jon Coppeard
aa96085812 Bug 941804 - Reduce chunk size to 256K for B2G r=terrence 2014-07-15 09:42:47 +01:00
Chris Peterson
09875e23cd 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
50869bf682 Bug 857648 part 6. Remove the now-unused JS::DescribeStack API. r=jimb 2014-07-04 01:25:30 -04:00
Carsten "Tomcat" Book
ef31078371 Backed out changeset a1feed3cd303 (bug 941804) for b2g bustage on a CLOSED TREE 2014-07-14 12:34:33 +02:00
Jon Coppeard
f183386d45 Bug 941804 - Reduce chunk size to 256K for B2G r=terrence 2014-07-14 10:05:17 +01:00
Jeff Walden
fd95b81fc7 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
fc879f8bbf Bug 1034627 part 7 - Cleanup and expose UTF8 conversion functions. r=terrence 2014-07-11 16:22:37 +02:00
Ed Morley
5d038eb7b2 Backed out changeset 110fbc2ebc1a (bug 1034627) 2014-07-11 15:46:33 +01:00
Jan de Mooij
d9f7a01855 Bug 1034627 part 7 - Cleanup and expose UTF8 conversion functions. r=terrence 2014-07-11 16:22:37 +02:00
Jon Coppeard
acf7c3159c 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
ab815d0c3b 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
30113651d3 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
88cf063694 Backed out changeset 03b7d111cc86 (bug 857648) 2014-07-04 08:23:17 +02:00
Boris Zbarsky
8c318bc506 Bug 857648 part 6. Remove the now-unused JS::DescribeStack API. r=jimb 2014-07-04 01:25:30 -04:00
Dan Gohman
243266ba02 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
42fa3c4301 Bug 1030400 - Add sym to the 32 bit big endian branch. r=jorendorff 2014-06-25 18:48:00 +02:00
Jan de Mooij
09e45e18c2 Bug 1027528 part 15 - Make structured clone work with Latin1 strings. r=jorendorff,bent 2014-06-25 08:05:41 +02:00
Jim Blandy
7253057ce9 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
82ba8842cb Bug 1028358; r=jonco
--HG--
extra : rebase_source : 41cf1eaa104bf386c77777be906236d1d15a2622
2014-06-23 12:36:36 -07:00
Jason Orendorff
00dd69c3f8 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
42a78a347e 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