Commit Graph

962 Commits

Author SHA1 Message Date
Jim Blandy
eb0712728b 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
2f855ebf20 Bug 1074911 - Remove JS_ASSERT and JS_ASSERT_IF macros. r=jorendorff 2014-10-01 19:17:53 +02:00
Nicolas B. Pierron
8b681bc06c 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
ddd906f3a1 Bug 650161 - We don't need an objectMoved hook for global objects r=terrence 2014-09-29 09:50:17 +01:00
Terrence Cole
e7ebd76a55 Bug 1064346 - JSFunction's extended attributes expect POD-style initialization. r=billm 2014-09-10 15:42:36 -07:00
Ehsan Akhgari
03fe591dc7 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
23f8fad496 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
f5477c2a39 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
314b0c946b Bug 1069694 - Remove or move around functions in OldDebugAPI. r=shu 2014-09-23 15:25:31 +02:00
Terrence Cole
e1752155cd Bug 1068123 - Make the MOZ_GCTIMER logs more verbose and readable; r=jonco 2014-09-19 08:39:54 -07:00
Terrence Cole
049d73bdd4 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
3ac0124533 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
c2120e3335 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
dda83ff66a 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
d31bf30d11 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
dd4dc6edcf 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
ba9f4da7e2 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
0a650f2717 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
ef14470f6c 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
b93d09903a 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
b6ec2341c9 Bug 1061404 - Move ArrayBuffer view list into per compartment tables, r=sfink. 2014-09-17 11:13:17 -07:00
Lars T Hansen
5cf3fff6ae 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
1b8f15631b Bug 1054882 - Rollup patch. r=till, r=sstangl, r=jorendorff 2014-09-16 18:45:31 +02:00
Shu-yu Guo
621f26a3c6 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
27e45aa4dd Bug 1045945 - Initialize the destroy principals callback for workers r=bent 2014-09-15 16:49:11 +01:00
Eric Faust
9b8255f0c4 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
29dc9aff5e 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
b3b77faddd Bug 1063962 - Replace jschar typedef with C++11 char16_t type. r=jandem 2014-07-21 21:43:21 -07:00
Shu-yu Guo
7950a2613f Bug 1056411 - Part 2: Remove the JSAPI C debug mode functions. (r=jimb) 2014-09-08 21:03:31 -07:00
Shu-yu Guo
eb5d9a9824 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
3dadae9f33 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
12e9caf8c5 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
945e41fa38 Bug 1060976 - Fix more bad implicit constructors in the JS engine; r=jorendorff 2014-09-05 15:11:39 -04:00
Jim Blandy
defdd9cbce 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
49104fabe9 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
25be307de9 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
8970bac29c 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
02d7fe5435 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
6cb763f5f4 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
7c0e7fd498 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
ca1195c2a2 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
d8d02056fe 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
73adbee102 Bug 1031880 - Remove JS_SetSingleStepMode. r=jorendorff 2014-08-31 19:08:41 +02:00
Kannan Vijayan
980195c376 Bug 1057082 - Part 1 - Add profilingActivation linked list and refactor ProfilingFrameIterator. r=luke 2014-08-26 14:03:04 -04:00
Nicholas Nethercote
cf5ec4adfc 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
9e377a03c6 Bug 1055758 - rm Ion CompilerRoot infrastructure. r=bhackett
--HG--
extra : rebase_source : 73d4b369b240436d0c2cc95a9f40cac783c6adb5
2014-08-20 12:18:49 +02:00
Brian Hackett
63ed4cf7b0 Bug 934450 - Allow objects to have copy on write elements, r=billm,jandem. 2014-08-19 22:25:37 -08:00
Bobby Holley
1fdb7585c8 Bug 1050340 - Handle object and array. r=luke 2014-08-18 14:18:39 -07:00
Bobby Holley
601fef2922 Bug 1050340 - Handle maps and sets. r=luke 2014-08-18 14:18:39 -07:00
Bobby Holley
93348157b7 Bug 1050340 - Handle boxed values with a new proxy trap. r=luke 2014-08-18 14:18:39 -07:00
Dan Gohman
d4dcf10a95 Bug 1054334 - SpiderMonkey: Eliminate unnecessary parentheses around return values r=nbp 2014-08-18 12:20:40 -07:00
Dan Gohman
70a7c8657e Bug 1054334 - SpiderMonkey: Delete unneeded semicolons r=nbp 2014-08-18 12:20:39 -07:00
Terrence Cole
45d3423e01 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
4b716098cc Bug 650161 - Implement compacting GC for JSObjects r=terrence 2014-08-14 11:52:24 +01:00
Jon Coppeard
f91b2acbc0 Bug 650161 - Update pointers to relocated objects r=terrence 2012-06-05 11:47:42 -07:00
Jon Coppeard
ba0e871fea Bug 1052422 - Remove trivial shim functions that call into the GC r=sfink 2014-08-14 10:32:06 +01:00
Jim Blandy
912aa4c4ee 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
2031db478b 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
fb3fcd966d Backed out changeset dc66d16f19c8 (bug 1052422) for hazard analysis failures 2014-08-14 13:38:51 +01:00
Ed Morley
98625ac358 Backed out changeset 3adf62f886d9 (bug 650161) 2014-08-14 12:52:41 +01:00
Ed Morley
a052b30af8 Backed out changeset edc768336c80 (bug 650161) 2014-08-14 12:52:34 +01:00
Jon Coppeard
5ae930f7bd Bug 650161 - Implement compacting GC for JSObjects r=terrence 2014-08-14 11:52:24 +01:00
Jon Coppeard
f6bc914690 Bug 650161 - Update pointers to relocated objects r=terrence 2012-06-05 11:47:42 -07:00
Jon Coppeard
628a9f8e1a Bug 1052422 - Remove trivial shim functions that call into the GC r=sfink 2014-08-14 10:32:06 +01:00
Ehsan Akhgari
2b398bdd1b Bug 1044596 - Fix more bad implicit conversion constructors in the JS engine; r=jorendorff 2014-07-27 13:40:52 -04:00
Jon Coppeard
a4a71fde44 Bug 1052388 - Rename JS_CallHeapFooTracer() functions to JS_CallFooTracer() r=terrence r=smaug 2014-08-13 10:05:22 +01:00
Terrence Cole
255bf6c3fb Bug 1033442 - Remove non-pod calloc from MallocProvider and AllocPolicy; r=jonco 2014-08-05 14:06:35 -07:00
Jim Blandy
46ff4b8265 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
06cdfd176e Bug 1003302: Implement ubi::Node::compartment. r=terrence 2014-08-11 12:46:39 -07:00
Nicholas Nethercote
3e1c93b184 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
cc4c222321 Bug 1047120 - PurpleBuffer doesn't actually need to use Heap<T>; r=mccr8,jonco 2014-07-31 14:43:45 -07:00
Ryan VanderMeulen
d0c75ec899 Merge m-c to inbound. a=merge
CLOSED TREE
2014-08-06 16:50:19 -04:00
Terrence Cole
f9a1f7967a 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
f7f8c6db38 Bug 879008 - New UI for the sampling Profiler, r=rcampbell,fitzgen,pbrosset 2014-08-06 11:25:18 -04:00
Jim Blandy
e0641ae185 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
81691c2535 Backed out changeset 61a25c10da62 (bug 1038544) for build failures 2014-07-31 14:40:16 -07:00
Jim Blandy
9ff0067fee 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
8d289ce0fd Bug 1045940 - Rename needsBarrier to needsIncrementalBarrier; r=jonco 2014-07-28 10:16:56 -07:00
Jim Blandy
7ebf34b190 Bug 1038316: Add support for ES6 Symbols to ubi::Node. r=sfink 2014-07-30 17:14:19 -07:00
Jim Blandy
74a8398e27 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
63359ec098 Bug 1045584 - Remove everything relating to frames from OldDebugAPI. r=jandem,bholley 2014-07-30 14:26:46 +02:00
Terrence Cole
3cc44bc3b7 Bug 1045181 - Miscellaneous small cleanups in js::gc; r=jonco 2014-07-29 10:47:43 -07:00
Luke Wagner
43734ba31b 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
aa6f30446c 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
a2f63f6a3e Bug 1040390 - Add JS::ProfilingFrameIterator::stackAddress (r=dougc)
--HG--
extra : rebase_source : a5f1823e8e9fb96aeb2813ce5105dc9096a054d7
2014-07-29 09:56:21 -05:00
Jon Coppeard
fe8bcdd001 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
5f98bf8180 Bug 1043588 - Remove some unused functions from OldDebugAPI. r=jimb 2014-07-25 14:26:40 +02:00
Tom Schuster
5641840326 Bug 1031878 - Remove JS_SetWatchPoint and friends. r=jimb 2014-07-25 14:26:40 +02:00
Tom Schuster
0c81b4ab09 Bug 1043577 - Remove PropertyDescArray stuff. r=jimb 2014-07-25 14:26:40 +02:00
Tom Schuster
8703e4f327 Bug 1043578 - Remove JS_SetDebuggerHandler and friends. r=jimb 2014-07-25 14:26:40 +02:00
Tom Schuster
55ca76bc2e Bug 1031876 - Remove JS_SetTrap and friends. r=jimb 2014-07-25 14:26:39 +02:00
Jan de Mooij
da58004330 Bug 1031529 part 2 - Remove JS_THREADSAFE #ifdefs everywhere. r=bhackett 2014-07-24 11:56:43 +02:00
Nick Fitzgerald
b4cf06074c Bug 993085 - Part 1: Add the Debugger.Memory.prototype.trackingAllocationSites accessor property r=jimb 2014-07-21 18:16:13 -07:00
Luke Wagner
3600bd622d 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
43146abc14 Bug 1027885 - OdinMonkey: maintain AsmJSActivation::fp in all frames in profiling mode (r=dougc) 2014-07-21 10:58:12 -05:00
Jim Blandy
11962c4a04 Bug 1031881: Remove unused elements of JSDebugHooks, and their supporting code. r=sfink 2014-07-19 18:07:05 -07:00
Tom Schuster
d6adf566e8 Bug 1036136 - Implement structured cloning for Map and Set objects. r=jorendorff,bent 2014-07-19 23:44:53 +02:00
Bill McCloskey
c312284088 Bug 1016738 - Simplify/fix "dead compartment" logic (r=luke,jonco) 2014-06-17 11:20:33 -07:00
Nicholas Nethercote
b4a9c6b93b 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
9d81f568b0 Bug 1037886 - Report Latin1 and TwoByte strings separately in about:memory. r=njn 2014-07-16 19:11:50 +02:00
Jon Coppeard
2b012b6ea4 Bug 1038274 - Really fix previous problem with landing r=me 2014-07-16 12:04:33 +01:00
Jon Coppeard
a6ed14e402 Bug 1038274 - Add max heap size constants to pass to JS_NewRuntime() r=terrence 2014-07-16 10:01:20 +01:00
Jon Coppeard
a359fd0529 Backed out changeset 5290e42e8345 (bug 1038274) for disabling GC malloc trigger 2014-07-16 11:34:49 +01:00
Jon Coppeard
af3b47bd75 Bug 1038274 - Add max heap size constants to pass to JS_NewRuntime() r=terrence 2014-07-16 10:01:20 +01:00
Jon Coppeard
c92aaa300f Bug 941804 - Reduce chunk size to 256K for B2G r=terrence 2014-07-15 09:42:47 +01:00
Chris Peterson
b9179175a0 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
5971c7aac8 Bug 857648 part 6. Remove the now-unused JS::DescribeStack API. r=jimb 2014-07-04 01:25:30 -04:00
Carsten "Tomcat" Book
0bc9a2f7f0 Backed out changeset a1feed3cd303 (bug 941804) for b2g bustage on a CLOSED TREE 2014-07-14 12:34:33 +02:00
Jon Coppeard
6ffd60e7c7 Bug 941804 - Reduce chunk size to 256K for B2G r=terrence 2014-07-14 10:05:17 +01:00
Jeff Walden
1b00e1824b 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
b297e14b15 Bug 1034627 part 7 - Cleanup and expose UTF8 conversion functions. r=terrence 2014-07-11 16:22:37 +02:00
Ed Morley
d6d6dd55ba Backed out changeset 110fbc2ebc1a (bug 1034627) 2014-07-11 15:46:33 +01:00
Jan de Mooij
b8df866c2b Bug 1034627 part 7 - Cleanup and expose UTF8 conversion functions. r=terrence 2014-07-11 16:22:37 +02:00
Jon Coppeard
7c93db3865 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
8ea1b7923f 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
04afd90124 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
b23eec19c4 Backed out changeset 03b7d111cc86 (bug 857648) 2014-07-04 08:23:17 +02:00
Boris Zbarsky
492ffadc2f Bug 857648 part 6. Remove the now-unused JS::DescribeStack API. r=jimb 2014-07-04 01:25:30 -04:00
Dan Gohman
2db5003bfb 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
9ee04be984 Bug 1030400 - Add sym to the 32 bit big endian branch. r=jorendorff 2014-06-25 18:48:00 +02:00
Jan de Mooij
12d5cba650 Bug 1027528 part 15 - Make structured clone work with Latin1 strings. r=jorendorff,bent 2014-06-25 08:05:41 +02:00
Jim Blandy
7162d26f9a 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
05ff43e9d5 Bug 1028358; r=jonco
--HG--
extra : rebase_source : 41cf1eaa104bf386c77777be906236d1d15a2622
2014-06-23 12:36:36 -07:00
Jason Orendorff
e54535bb40 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
0bfce2ba30 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
c4d2ca3a88 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
c3317f9be6 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
08dc80ac48 Bug 1017302 - Expose add-on IDs to JS engine (r=bholley) 2014-06-21 11:54:22 -07:00
Brian Hackett
cf6c9fa3ca Bug 1020012 - Consolidate ScriptSources with the same source, r=luke. 2014-06-21 10:39:04 -07:00
Jan de Mooij
a2a4ffc44c Bug 1027528 part 3 - Make JS_EncodeString and friends handle Latin1 strings. r=Waldo 2014-06-20 12:39:44 +02:00
Birunthan Mohanathas
f475f7189b Bug 1026535 - Fix mismatched class/struct tags. r=ehsan 2014-06-18 17:57:51 -07:00
Nicholas Nethercote
39f29c384a 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
75b29a3306 Backed out changeset aca2ec2457ec (bug 1016738) for re-introducing frequent WebRTC crashes. 2014-06-17 21:12:43 -04:00
Bill McCloskey
f78d78d6ea Bug 1016738 - Simplify/fix "dead compartment" logic (r=luke,jonco) 2014-06-17 11:20:33 -07:00
Jan de Mooij
7c009a346a 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
c90d15b368 Bug 1024038 - Remove YARR, r=jandem. 2014-06-16 15:37:53 -07:00
Jim Blandy
0b21a198f7 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
e596c6f439 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
fcbaa23ac2 Backout 277bacd9f2f8 (bug 1023719) for causing intermittent crashes.
--HG--
extra : rebase_source : e6c9e54dd2df572da7f8cdf3cd6226a1aeeee883
2014-06-13 06:39:16 -07:00
Nicholas Nethercote
c910878600 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
931ec954cc 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
a8724b8a11 Bug 1016738 - Back out for webrtc crashes. 2014-06-09 12:30:38 -07:00
Jon Coppeard
521b24a4d6 Bug 1021114 - Remove GCMethods::kind() in favour or RootKind::rootKind() r=terrence 2014-06-07 10:34:57 +01:00
Jon Coppeard
f0d27d5981 Bug 988486 - Make more GCRuntime members private and add necessary accessors r=terrence 2014-06-07 10:34:57 +01:00
Ryan VanderMeulen
559d06da25 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
b5b6eca182 Bug 1020869 - Make IdToTypeId, StringIsArrayIndex etc work with Latin1 strings. r=bhackett 2014-06-07 14:59:52 +02:00
Jon Coppeard
744336b199 Bug 1021114 - Remove GCMethods::kind() in favour or RootKind::rootKind() r=terrence 2014-06-07 10:34:57 +01:00
Jon Coppeard
388b62b349 Bug 988486 - Make more GCRuntime members private and add necessary accessors r=terrence 2014-06-07 10:34:57 +01:00
Jim Chen
3b5c74e922 Bug 1013326 - Move script principals APIs to jsfriendapi; r=luke 2014-06-06 18:39:40 -04:00
Jason Orendorff
736717218a Bug 1017067 - Merge deleteProperty/deleteElement ops back into a single deleteGeneric op. r=bhackett. 2014-06-05 13:19:23 -04:00