Граф коммитов

769 Коммитов

Автор SHA1 Сообщение Дата
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
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