Commit Graph

1020 Commits

Author SHA1 Message Date
Jon Coppeard
27ce20abe8 Bug 650161 - Fix crashes moving partially initialized DOM objects r=bz 2014-10-28 10:18:36 +00:00
Lars T Hansen
77267906bf Bug 1068684 - synchronous gc when the number of SharedArrayBuffers gets large. r=luke, r=jonco 2014-10-24 18:37:31 +02:00
Jon Coppeard
a3adff24a8 Bug 650161 - Relocate global objects (browser changes) r=bholley 2014-10-20 09:07:43 +01:00
Brian Hackett
87281e9299 Bug 1073842 - Remove slots/elements from non-native objects, use a new layout for proxies and typed objects, r=luke,billm,efaust,bz,sfink,jandem. 2014-10-17 16:57:52 -07:00
Nick Fitzgerald
b1db9690ab Bug 1082761 - Add Debugger.prototype.findObjects; r=jimb 2014-10-15 19:21:00 +02:00
Tom Schuster
e57363be0c Bug 1069694 - Remove OldDebugAPI from js/src. r=shu 2014-10-12 19:37:40 +02:00
Tom Schuster
c1e98cca78 Bug 1069694 - Remove JS_GetScriptSourceMap. r=shu 2014-10-04 17:38:08 +02:00
Brian Hackett
b6419e9f3a Bug 1073842 - Add NativeObject subclass of JSObject, remove ObjectImpl, r=luke. 2014-10-02 19:32:39 -07:00
Jim Blandy
a7342c18c3 Bug 1075564: Give JS::ubi::Node its implicit constructor back, with the right annotation this time. r=luke 2014-10-02 10:19:10 +01:00
Nicolas B. Pierron
5093e96c81 Bug 1074911 - Remove JS_ASSERT and JS_ASSERT_IF macros. r=jorendorff 2014-10-01 19:17:53 +02:00
Nicolas B. Pierron
206d7d6d49 Bug 1074911 - Replace JS_ASSERT by MOZ_ASSERT. r=jorendorff
Apply the following script

sed -i '
   /JS_ASSERT(/ {
     s/JS_ASSERT(/MOZ_ASSERT(/;
     :b;
     s/ \\$/\\/;
     /;/ { p; d; };
     n;
     s/^/ /;
     b b;
  };
  s/JS_ASSERT (/MOZ_ASSERT(/;
'

Except where the JS_ASSERT macro does not end with a semi-colon, where empty
lines are in the middle of the macro, and where the backslahes are always the
same-length after the expression.
2014-10-01 19:17:51 +02:00
Jon Coppeard
2013670e0e Bug 650161 - We don't need an objectMoved hook for global objects r=terrence 2014-09-29 09:50:17 +01:00
Terrence Cole
db9616cb01 Bug 1064346 - JSFunction's extended attributes expect POD-style initialization. r=billm 2014-09-10 15:42:36 -07:00
Ehsan Akhgari
6904219eef Bug 1068024 - Fix more bad implicit constructors in JS; r=luke,Waldo
--HG--
extra : rebase_source : 1eea3e7dfc3235a1b99d7deb131efda07dde4eac
2014-09-23 22:04:52 -04:00
Jon Coppeard
132fb38dd4 Bug 650161 - Unify the finalization and moving GC callbacks into a weak pointer update callback r=terrence r=bholley 2014-09-24 12:54:11 +01:00
Jeff Walden
3c33ef9a25 Bug 896116 - Morph the dependent-JSProtoKey system to explicitly store a JSProtoKey, rather than relying on a system where a single class represents the parent and dependent both. Also convert error objects (Error, RangeError, &c.) to be represented by multiple classes, not a single one. r=bholley, r=till
--HG--
extra : rebase_source : 1d1913c49ae58be86e991077bda96684c6afb941
2014-09-18 20:06:32 -07:00
Tom Schuster
7782444d76 Bug 1069694 - Remove or move around functions in OldDebugAPI. r=shu 2014-09-23 15:25:31 +02:00
Terrence Cole
91e1a9a93f Bug 1068123 - Make the MOZ_GCTIMER logs more verbose and readable; r=jonco 2014-09-19 08:39:54 -07:00
Terrence Cole
d428c6078c Back out changeset b7f417116d90 (Bug 1029549) for making the tree a beautiful orange color on a CLOSED TREE 2014-09-19 16:53:17 -07:00
Terrence Cole
98b09bfb3a Bug 1029549 - Sanity-check TenuredHeap pointers when accessing them; r=jonco
--HG--
extra : rebase_source : 3aeb0679d121e301b1b6c5aea2511dbc1a419e55
2014-09-19 15:51:57 -07:00
Jim Blandy
04bf937110 Bug 1063247: Let embeddings tell Debugger how to find the size of a malloc'd block of memory. r=terrence 2014-09-19 15:10:01 -07:00
Jim Blandy
24bff230a9 Bug 1063247: Amend JS::ubi::Node::size and its implementations to expect a mozilla::MallocSizeOf function. r=terrence
Note that JS::ubi::Node::size has no callers at present, so we can change its
type without changing any callers.
2014-09-19 15:10:01 -07:00
Jim Blandy
11c263f4f6 Bug 1063247: Allow implicit construction of JS::ubi::Node from JS::HandleValue. r=terrence
This seems reasonable, since a ubi::Node is really just a pointer with some
introspection support, so the value and the Node are pretty similar. And I don't
see cases where you'd want an error.
2014-09-19 15:10:00 -07:00
Terrence Cole
05be72f555 Backed out changeset a53aa43ab5f4 for Windows build bustage on a CLOSED TREE
--HG--
extra : rebase_source : d3a1aecd8882bc591898684c0a97f8929b7809a9
2014-09-19 09:40:53 -07:00
Terrence Cole
89f7f62c7c Bug 1068123 - Make the MOZ_GCTIMER logs more verbose and readable; r=jonco
--HG--
extra : rebase_source : 010b83f2302c2b10e7ef3d3bb347a9b7b57a51b4
2014-09-19 08:39:54 -07:00
Jon Coppeard
1ae2e41b28 Bug 650161 - Add an assertion that something is only ever called from a GC callback r=terrence 2014-09-19 09:57:11 +01:00
Jim Blandy
96cfd11162 Bug 1063233: Move JS::ubi::Node specializations for SpiderMonkey types closer to those types' definitions. r=terrence 2014-09-18 12:56:54 -07:00
Jim Blandy
153d508a49 Bug 1063233: Provide default definitions for optional JS::ubi::Node methods in Base. r=terrence 2014-09-18 12:56:53 -07:00
Brian Hackett
0593b4473d Bug 1061404 - Move ArrayBuffer view list into per compartment tables, r=sfink. 2014-09-17 11:13:17 -07:00
Lars T Hansen
ec944b3e01 Bug 1068539 - Keep the serialization format compatible, increment the version number. r=jorendorff,khuey 2014-09-17 17:10:59 +02:00
Lars T Hansen
ef7ed4ebde Bug 1054882 - Rollup patch. r=till, r=sstangl, r=jorendorff 2014-09-16 18:45:31 +02:00
Shu-yu Guo
d7d1af4ae1 Bug 1001090 - Part 1: Implement let temporal dead zone in the frontend and interpreter. (r=Waldo) 2014-09-15 16:30:45 -07:00
Jon Coppeard
93fa9ca8db Bug 1045945 - Initialize the destroy principals callback for workers r=bent 2014-09-15 16:49:11 +01:00
Eric Faust
385660b12e Bug 966518 - Part 0: Make proxy callability into a trap, rather than a class check. (r=bholley, r=djvj, r=peterv) 2014-09-10 15:52:36 -07:00
Terrence Cole
62fae135f8 Bug 914402 - Remove the defunct conservative stack scanner; r=sfink
--HG--
extra : rebase_source : c261ef7492694e9724c78edc7bc0dac7aa4357ba
2014-09-09 15:08:23 -07:00
Chris Peterson
d126c3c24f Bug 1063962 - Replace jschar typedef with C++11 char16_t type. r=jandem 2014-07-21 21:43:21 -07:00
Shu-yu Guo
f353135bf9 Bug 1056411 - Part 2: Remove the JSAPI C debug mode functions. (r=jimb) 2014-09-08 21:03:31 -07:00
Shu-yu Guo
c2475516fe Bug 1056411 - Part 1: Remove DebugFromC and clean up compartment debug mode logic. (r=jimb) 2014-09-08 21:03:31 -07:00
Wes Kocher
cff080e6ec Back out 11 changesets (bug 1063233 and bug 1063247)
* * *
Backed out changeset 7c7c837585fb (bug 1063233)
* * *
Backed out changeset e584d23b3ce3 (bug 1063233)
* * *
Backed out changeset ee169ca2e00b (bug 1063247)
* * *
Backed out changeset 514c713b2313 (bug 1063247)
* * *
Backed out 3 changesets (bug 1063247)

Backed out changeset a6033944c4c1 (bug 1063247)
Backed out changeset c7ffa64956c6 (bug 1063247)
Backed out changeset dd80b2984fe2 (bug 1063247)
* * *
Backed out 4 changesets (bug 1063233)

Backed out changeset 1f6db27e6240 (bug 1063233)
Backed out changeset b8e3d887faa2 (bug 1063233)
Backed out changeset 8e1913c07322 (bug 1063233)
Backed out changeset 04d42b23a489 (bug 1063233)
2014-09-05 17:42:45 -07:00
Jim Blandy
c46d5a6268 Bug 1063233: Remove use of UbiNode.h from IonCode.h, with consequent changes; Windows non-unified builds seem to be unhappy with it. CLOSED TREE r=bustage 2014-09-05 14:57:42 -07:00
Ehsan Akhgari
21a9749477 Bug 1060976 - Fix more bad implicit constructors in the JS engine; r=jorendorff 2014-09-05 15:11:39 -04:00
Jim Blandy
71484f95ca Bug 1063247: Let embeddings tell Debugger how to find the size of a malloc'd block of memory. r=terrence 2014-09-05 10:43:36 -07:00
Jim Blandy
796704a305 Bug 1063247: Amend JS::ubi::Node::size and its implementations to expect a mozilla::MallocSizeOf function. r=terrence
Note that JS::ubi::Node::size has no callers at present, so we can change its
type without changing any callers.
2014-09-05 10:43:35 -07:00
Jim Blandy
96c87e3727 Bug 1063247: Allow implicit construction of JS::ubi::Node from JS::HandleValue. r=terrence
This seems reasonable, since a ubi::Node is really just a pointer with some
introspection support, so the value and the Node are pretty similar. And I don't
see cases where you'd want an error.
2014-09-05 10:43:35 -07:00
Jim Blandy
2987a288ea Bug 1063233: Move JS::ubi::Node support for js::types::TypeObject next to where it is declared/defined. r=terrence 2014-09-05 10:37:19 -07:00
Jim Blandy
5d4c33121b Bug 1063233: Move JS::ubi::Node support for js::jit::JitCode next to where it is declared/defined. r=terrence 2014-09-05 10:37:19 -07:00
Jim Blandy
f45cc6900e Bug 1063233: Move JS::ubi::Node support for js::Shape and js::BaseShape next to their declarations and definitions. r=terrence 2014-09-05 10:36:07 -07:00
Jim Blandy
2f06da2369 Bug 1063233: Move JS::ubi::Node support for js::LazyScript to sit next to the rest of LazyScript's implementation. r=terrence 2014-09-05 10:34:03 -07:00
Jim Blandy
724dc1950b Bug 1062089: Rename js/public/DebugAPI.h to js/public/Debug.h. It's a public header file; *obviously* it's an API. r=jorendorff
--HG--
rename : js/public/DebugAPI.h => js/public/Debug.h
2014-09-05 10:32:29 -07:00
Jon Coppeard
9f938c20cc Bug 650161 - Add a class hook that's called when an object is moved r=terrence 2014-09-02 11:07:22 +02:00
Tom Schuster
4831caf277 Bug 1031880 - Remove JS_SetSingleStepMode. r=jorendorff 2014-08-31 19:08:41 +02:00
Kannan Vijayan
7141c60325 Bug 1057082 - Part 1 - Add profilingActivation linked list and refactor ProfilingFrameIterator. r=luke 2014-08-26 14:03:04 -04:00
Nicholas Nethercote
0c90379b35 Bug 1023719 - Report notable classes in the JS memory reporter. r=till.
--HG--
extra : rebase_source : 3139b17f6a660f460adb820c390368dc8367069a
2014-04-15 19:43:18 -07:00
Jan de Mooij
69fca6313c Bug 1055758 - rm Ion CompilerRoot infrastructure. r=bhackett
--HG--
extra : rebase_source : 73d4b369b240436d0c2cc95a9f40cac783c6adb5
2014-08-20 12:18:49 +02:00
Brian Hackett
8aadadd66a Bug 934450 - Allow objects to have copy on write elements, r=billm,jandem. 2014-08-19 22:25:37 -08:00
Bobby Holley
5e44b4c25a Bug 1050340 - Handle object and array. r=luke 2014-08-18 14:18:39 -07:00
Bobby Holley
f69cb3da4a Bug 1050340 - Handle maps and sets. r=luke 2014-08-18 14:18:39 -07:00
Bobby Holley
73f63e71ad Bug 1050340 - Handle boxed values with a new proxy trap. r=luke 2014-08-18 14:18:39 -07:00
Dan Gohman
d24f091257 Bug 1054334 - SpiderMonkey: Eliminate unnecessary parentheses around return values r=nbp 2014-08-18 12:20:40 -07:00
Dan Gohman
00b4fef72c Bug 1054334 - SpiderMonkey: Delete unneeded semicolons r=nbp 2014-08-18 12:20:39 -07:00
Terrence Cole
6606ad7310 Bug 1033442 - Remove non-pod realloc from MallocProvider and AllocPolicy; r=jonco
--HG--
extra : rebase_source : 507ab10313127ffcbf905c42438882aa9074c38a
2014-08-05 14:06:35 -07:00
Jon Coppeard
433a1060f6 Bug 650161 - Implement compacting GC for JSObjects r=terrence 2014-08-14 11:52:24 +01:00
Jon Coppeard
7e5aae13e9 Bug 650161 - Update pointers to relocated objects r=terrence 2012-06-05 11:47:42 -07:00
Jon Coppeard
88198618da Bug 1052422 - Remove trivial shim functions that call into the GC r=sfink 2014-08-14 10:32:06 +01:00
Jim Blandy
b39e51b735 Bug 961326: Give SpiderMonkey an API that embeddings can use to safely construct values for Debugger clients. r=jorendorff 2014-08-14 16:33:21 -07:00
Jim Blandy
140805033c Bug 1051115: Let users tell ubi::Edge not to provide edge names, as they're expensive to compute, and not everyone needs them. r=terrence 2014-08-14 15:59:59 -07:00
Ed Morley
28007bed9c Backed out changeset dc66d16f19c8 (bug 1052422) for hazard analysis failures 2014-08-14 13:38:51 +01:00
Ed Morley
1b0adcea11 Backed out changeset 3adf62f886d9 (bug 650161) 2014-08-14 12:52:41 +01:00
Ed Morley
ffff7b0770 Backed out changeset edc768336c80 (bug 650161) 2014-08-14 12:52:34 +01:00
Jon Coppeard
01b56566aa Bug 650161 - Implement compacting GC for JSObjects r=terrence 2014-08-14 11:52:24 +01:00
Jon Coppeard
5b1c8897ed Bug 650161 - Update pointers to relocated objects r=terrence 2012-06-05 11:47:42 -07:00
Jon Coppeard
5a19c6c4f0 Bug 1052422 - Remove trivial shim functions that call into the GC r=sfink 2014-08-14 10:32:06 +01:00
Ehsan Akhgari
e78b481c3a Bug 1044596 - Fix more bad implicit conversion constructors in the JS engine; r=jorendorff 2014-07-27 13:40:52 -04:00
Jon Coppeard
511f6ef1c5 Bug 1052388 - Rename JS_CallHeapFooTracer() functions to JS_CallFooTracer() r=terrence r=smaug 2014-08-13 10:05:22 +01:00
Terrence Cole
a6741673cf Bug 1033442 - Remove non-pod calloc from MallocProvider and AllocPolicy; r=jonco 2014-08-05 14:06:35 -07:00
Jim Blandy
474f4425e3 Bug 1012456: Implement Debugger.Memory.prototype.census, with trivial categorization (none, just counting). r=terrence 2014-08-11 12:46:39 -07:00
Jim Blandy
3ecc8b3e0b Bug 1003302: Implement ubi::Node::compartment. r=terrence 2014-08-11 12:46:39 -07:00
Nicholas Nethercote
609079cb43 Bug 1043605 - Fix up DEBUG/JS_DEBUG confusion in HashTable.h. r=jwalden.
--HG--
extra : rebase_source : ae56e815766be675083596e177844e2365e93906
2014-08-10 23:17:44 -07:00
Terrence Cole
3718c92afc Bug 1047120 - PurpleBuffer doesn't actually need to use Heap<T>; r=mccr8,jonco 2014-07-31 14:43:45 -07:00
Ryan VanderMeulen
b59183f1cc Merge m-c to inbound. a=merge
CLOSED TREE
2014-08-06 16:50:19 -04:00
Terrence Cole
260506a9ca 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
Victor Porof
ecac4bb9d0 Bug 879008 - New UI for the sampling Profiler, r=rcampbell,fitzgen,pbrosset 2014-08-06 11:25:18 -04:00
Jim Blandy
1b479f0f20 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
edf6b12068 Backed out changeset 61a25c10da62 (bug 1038544) for build failures 2014-07-31 14:40:16 -07:00
Jim Blandy
8bb6861710 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
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
Carsten "Tomcat" Book
e64cd11ad7 merge fx-team to mozilla-central 2014-05-21 13:57:43 +02:00
Victor Porof
07986ca4cd Bug 1004726 - Clean up profiler pseudo-stack representation. r=djvj,mrosenberg 2014-05-20 15:25:25 -04:00
Jon Coppeard
1d203c9d72 Bug 929314 - Remove Handle::repoint() r=terrence 2014-05-20 10:57:03 +01:00
Jon Coppeard
f17bd34eff Bug 988486 - Move verifier functions into GCRuntime r=terrence 2014-05-19 11:09:55 +01:00
Terrence Cole
e82db4c03a Bug 1013531 - Clarify the naming of the rooting analysis supression guards; r=sfink
--HG--
extra : rebase_source : 95229e907222dd7335f92ae13dd83f1065eabf58
2014-05-28 17:34:36 -07:00
Brian Smith
43faa7abc2 Bug 1010634, Part 4: Fix signed/unsigned conversion warning in js/ProfilingStack.h, r=luke
--HG--
extra : rebase_source : 7abda28eb58b81fd59a3c7deb2207b22e2075702
2014-05-29 20:54:49 -07:00
Ryan VanderMeulen
1206378822 Backed out 2 changesets (bug 1016738, bug 1017150) for spikes in GC-related crashes.
Backed out changeset 93c5b9181c84 (bug 1016738)
Backed out changeset c3ce56241969 (bug 1017150)
2014-05-30 15:23:02 -04:00
Bill McCloskey
2bfdd537fd Bug 1016738 - Simplify/fix "dead compartment" logic (r=luke,jonco) 2014-05-30 07:46:12 -07:00
Terrence Cole
9900a0509a Bug 1010655 - Always use the faster version of IsInsideNursery when possible; r=jonco
--HG--
extra : rebase_source : 18c195a3a5897529275deb210bfa7f57f8e29bd8
2014-05-14 19:48:09 -07:00
Ryan VanderMeulen
cd4118e735 Backed out changeset 36bfb1d8b8fe (bug 1010655) for Cpp test crashes. 2014-05-16 14:52:13 -04:00
Terrence Cole
07a92341f3 Bug 1010655 - Always use the faster version of IsInsideNursery when possible; r=jonco
--HG--
extra : rebase_source : 474ef235d747f9008f79b2ad0328ec1566b8c641
2014-05-14 19:48:09 -07:00
Luke Wagner
b1159b6282 Bug 1007383 - Include asm.js frames in JS::DescribeStack (r=jandem,robcee) 2014-05-15 12:30:45 -05:00
Ryan VanderMeulen
fed316d6b8 Backed out changeset ce34c13388f2 (bug 1007383) for crashtest failures. 2014-05-15 14:23:11 -04:00
Luke Wagner
20e7381038 Bug 1007383 - Include asm.js frames in JS::DescribeStack (r=jandem,robcee) 2014-05-15 12:30:45 -05:00
Dan Gohman
0085f65548 Bug 1004363 - SpiderMonkey: Eliminate unused functions. r=mjrosenb 2014-05-14 21:51:55 -07:00