Commit Graph

609 Commits

Author SHA1 Message Date
Chris Peterson
610ad17d6a Bug 964016 - Part 2: Replace JS_UNLIKELY with MOZ_UNLIKELY. r=luke 2014-01-24 19:57:58 -08:00
Bobby Holley
03fb99d54e Bug 957688 - Kill off checkAccess. r=mrbkap 2014-01-24 16:08:26 -08:00
Terrence Cole
c069811bd3 Bug 963232 - Add extensive documentation to js/GCAPI.h; r=billm 2014-01-23 11:47:11 -08:00
Nicholas Nethercote
dd904d4ef9 Bug 961883 (part 3) - Measure and report the Nursery. r=terrence.
--HG--
extra : rebase_source : 6f12d47ca8cedc96b0dd0477ca4f71de08e47181
2014-01-21 17:17:08 -08:00
Nicholas Nethercote
286bcca0cc Bug 961883 (part 2) - Measure and report the StoreBuffer. r=terrence.
--HG--
extra : rebase_source : f298f0373b7fee99eee7a62060f882d628f97eb2
2014-01-21 17:17:02 -08:00
Nicholas Nethercote
674e5b03a5 Bug 961883 (part 1) - Measure and report the SourceDataCache. r=benjamin.
--HG--
extra : rebase_source : b599e19fb681e972b1f6e184c44f5a726a61009f
2014-01-20 19:52:57 -08:00
Nicholas Nethercote
7b29979d36 Bug 961883 (part 0) - Some tiny HashTable comment tweaks. r=luke.
--HG--
extra : rebase_source : 749b61ec992335aa5e2be63340e88b04ff236967
2014-01-20 19:52:52 -08:00
Jeff Walden
853804dbf3 Bug 948227 - Add code to warn when the __proto__ setter is called that it's very slow and shouldn't be used. (Don't use it yet, tho, because it requires the second part of bug 948583 to land first. Once that lands, fully enabling this just requires some uncommenting.) r=efaust
--HG--
extra : rebase_source : 87d320edcc99b6ef7df98c2470c78d4085aa4f99
2013-12-11 16:04:07 -08:00
Jon Coppeard
bda63a0cd6 Bug 961077 - Take marking function as template parameter in PersistentRootedMarker r=sfink 2014-01-23 09:53:42 +00:00
Steve Fink
c5a9558249 Bug 960342 - Add a RootedGeneric general class, r=terrence 2014-01-22 11:52:44 -08:00
Jon Coppeard
0c43048bda Bug 961077 - Make PersistentRooted use private inheritance when deriving from LinkedListElement r=sfink 2014-01-22 11:28:06 +00:00
Ms2ger
cac07e2f81 Bug 937952 - Replace JS_ROTATE_LEFT32 with mozilla::RotateLeft; r=Waldo 2014-01-20 08:58:26 +01:00
Terrence Cole
6d61394f63 Bug 959787 - Handlify several JSAPI interfaces that can GC, Part 5; r=jonco
--HG--
extra : rebase_source : 13c96b6118408cfb001a3191871cbf7ce4d8a2c3
2014-01-17 10:09:38 -08:00
Jon Coppeard
3156f036a7 Bug 960544 - Always export rooting APIs and stop linking unit tests against JS library r=glandium 2014-01-17 10:18:19 +00:00
Terrence Cole
57d2483809 Bug 959787 - Handlify several JSAPI interfaces that can GC, Part 1; r=sfink,Ms2ger
--HG--
extra : rebase_source : 0e0e75028f12db9cc4cf612a9205525669b70267
2014-01-14 12:41:22 -08:00
Nicolas B. Pierron
ff70ad2a6a Bug 958471 - Assert range of Object/String Values' payload. r=jandem 2014-01-16 03:06:31 -08:00
Jon Coppeard
809a6fa31d Bug 959683 - Use rooting typedefs consistently in our public API r=sfink 2014-01-15 10:31:00 +00:00
Boris Zbarsky
b90683e91c Bug 932837 part 2. Create a refcounted object to manage the lifetime of a JS::StackDescription. r=mccr8, terrence 2014-01-07 19:53:17 -05:00
Boris Zbarsky
949752a3ce Bug 932837 part 1. Make FrameDescription compute the line number lazily. r=jandem 2014-01-07 19:53:17 -05:00
Jeff Walden
fed794c4c3 Bug 956601 - Add Char16.h to RequiredDefines.h so that SpiderMonkey standalone works again, in compilers without native char16_t support. r=sstangl
--HG--
extra : rebase_source : 7a36d31e37e0336b9ccfe765d9c98353f6e56aa0
2014-01-05 18:05:11 -06:00
Jeff Walden
12220c1619 Bug 953296 - Implement mozilla::NullptrT as a typedef to use to accept nullptr values. Also add mozilla::IsNullPointer<T>, a trait for detecting *only* true nullptr (emulated nullptr [__null] used by gcc 4.4/4.5 isn't true nullptr). r=ehsan
Generally, if you want a decltype(nullptr)-based overload, you should use SFINAE and IsNullPointer.  (Examples are provided in NullPtr.h comments.)  The problem is NullptrT matches far more than just __null as emulated nullptr for gcc 4.4/4.5 overloading purposes.  This problem is unavoidable without true nullptr.  Currently, the only valid use for NullptrT is believed to be in operator overloads.  All existing nullptr-overloading code has been rewritten to use the appropriate technique for the situation, and MOZ_HAVE_CXX11_NULLPTR is no longer an API.

--HG--
extra : rebase_source : 01abfcb66ae569db7b04a7b53f5cd5fd8151bffd
2014-01-02 17:27:41 -06:00
Luke Wagner
d169b4cf47 Bug 924905 - Do a subsumes check inside the stack iterator. r=jandem
--HG--
extra : rebase_source : ff8407c4f79fd3e2264470379470c526a751e45f
2014-01-03 10:32:56 -06:00
Jan de Mooij
2992b45583 Bug 955838 - Remove JSScript::enclosingScriptsCompiledSuccessfully() and some unused friend API functions. r=bhackett 2014-01-03 11:19:50 +01:00
Ivan Jibaja
3ba6b7515b Bug 946042 - Add all SIMD functions to the interpreter. r=till 2013-12-18 16:28:32 -05:00
Jeff Walden
a5528a134c Inherit RangedPtr's operator= in all of SpiderMonkey's *CharsZ classes, so that assignment of the correct raw pointer to each will compile. No bug, r=terrence over IRC 2013-12-19 13:56:24 -05:00
Jan de Mooij
af0c1097a4 Bug 951666 - Rename IonCode to JitCode. r=njn 2013-12-18 23:01:51 +01:00
Wes Kocher
34a2e0d974 Backed out changeset ef0eeaec74a8 (bug 949183) on the theory that it somehow broke every single b2g test on a CLOSED TREE 2013-12-16 18:27:43 -08:00
Sean Stangl
d081b211ae Bug 949183 - Fix jsid static constructor explosion. r=Waldo 2013-12-16 14:40:05 -08:00
Brian Hackett
6844e7e5ca Bug 932982 - Trace type constraints and allow preserving jitcode in GCs without also marking all type information, r=billm, r=jandem 2013-12-12 13:10:54 -08:00
Andy Wingo
58d29b9c5e Bug 927782 - Part 10: Iterate block chain from compile-time block scope maps, not runtime blockChain. r=luke 2013-12-06 18:42:08 +01:00
Terrence Cole
a323919712 Bug 945250 - Evict the nursery before using CellIter; r=jonco 2013-12-04 15:23:30 -08:00
Wes Kocher
a613766f4c Backed out changeset 2a1e0a4f8d72 (bug 932982) for b2g m2 orange on a CLOSED TREE 2013-12-12 16:38:32 -08:00
Brian Hackett
2ad149fd13 Bug 932982 - Trace type constraints and allow preserving jitcode in GCs without also marking all type information, r=billm,jandem. 2013-12-12 13:10:54 -08:00
Sean Stangl
94bb42ef1a Bug 949195 - Don't refer to IsInRequest() when JS_DEBUG is not defined. r=efaust 2013-12-11 14:06:04 -08:00
Ryan VanderMeulen
aa42fbffac Backed out changeset a29d7f5ddde6 (bug 932982) for ggc asserts. 2013-12-12 13:56:32 -05:00
Brian Hackett
dc8e205d66 Bug 932982 - Trace type constraints and allow preserving jitcode in GCs without also marking all type information, r=billm,jandem. 2013-12-12 08:42:24 -08:00
Terrence Cole
51307974e1 Bug 948516 - Assert that js::HashTable pointers and enumerators are used correctly; r=luke 2013-12-03 12:51:02 -08:00
Ryan VanderMeulen
f076280148 Backed out changeset b93e7a83b308 (bug 932982) for Linux mochitest-bc leaks.
CLOSED TREE
2013-12-11 17:07:48 -05:00
Brian Hackett
e76e72614e Bug 932982 - Trace type constraints and allow preserving jitcode in GCs without also marking all type information, r=billm,jandem. 2013-12-11 10:12:33 -08:00
Sean Stangl
d6c11fe81b Bug 948638 - Always use jsid struct types. r=Waldo 2013-12-10 15:45:41 -08:00
Terrence Cole
e3a8f2bd80 Backout changeset 70e76314c8a7 for build bustage on a CLOSED TREE.
--HG--
extra : rebase_source : 83e1e8a5a4802ef0b7b1d6f7dc0df6595bc9f00f
2013-12-10 15:26:05 -08:00
Terrence Cole
8d3efe596e Bug 948516 - Assert that js::HashTable pointers and enumerators are used correctly; r=luke 2013-12-03 12:51:02 -08:00
Tom Schuster
ac84baff89 Bug 697343 - Introduce a slice hook to allow optimizing Array.prototype.slice for Proxies etc. r=jandem,bz 2013-12-05 20:07:24 +01:00
Tom Schuster
aa96007c5a Bug 697343 - Remove getElementIfPresent. r=Waldo 2013-12-05 20:07:24 +01:00
Sean Stangl
59cdede15c Bug 939505 - Use JS_DEBUG in public headers. r=jorendorff 2013-12-06 15:03:08 -08:00
Jon Coppeard
8f8d210a4e Bug 939993 - Add assert that hash key is still valid in HashTable::relookupOrAdd r=sfink 2013-12-07 12:50:52 +00:00
Joshua Cranmer
d66310a970 Bug 929200, part 2: Add MOZ_HEAP_ALLOCATOR to JSContext::new_, r=jimb.
--HG--
extra : rebase_source : 94273fe87e4e432a493dd55a89a005a89e7bb998
2013-12-06 21:21:54 -06:00
Nicholas D. Matsakis
02232ed529 Bug 933760 - Track a type object for each type representation, associate with the type descriptor r=bhackett 2013-11-01 11:10:47 -04:00
Ryan VanderMeulen
18b77ec498 Backed out 12 changesets (bug 927782) for SM rootanalysis orange.
Backed out changeset f86d2d4cfadf (bug 927782)
Backed out changeset 51d6617835d1 (bug 927782)
Backed out changeset eed9795fa80e (bug 927782)
Backed out changeset b971de7edfff (bug 927782)
Backed out changeset 5f086f95b305 (bug 927782)
Backed out changeset 8c74b1f68590 (bug 927782)
Backed out changeset f1237f11edcd (bug 927782)
Backed out changeset d6946bd743b3 (bug 927782)
Backed out changeset cbdd50c96b85 (bug 927782)
Backed out changeset fc7a979712fc (bug 927782)
Backed out changeset c8304ccf88e9 (bug 927782)
Backed out changeset 9d99e9ca7b32 (bug 927782)
2013-12-06 15:03:19 -05:00
Andy Wingo
6ecc0822be Bug 927782 - Part 10: Iterate block chain from compile-time block scope maps, not runtime blockChain. r=luke 2013-12-06 18:42:08 +01:00
Ryan VanderMeulen
ee16665294 Backed out changesets 22770b30545b, 0809370fabdb, 4ef4764c1b55, and bfe768b87464 (bug 697343) due to Gaia UI test bustage.
CLOSED TREE
2013-12-05 16:19:47 -05:00
Tom Schuster
7313632237 Bug 697343 - Introduce a slice hook to allow optimizing Array.prototype.slice for Proxies etc. r=jandem,bz 2013-12-05 20:07:24 +01:00
Tom Schuster
b053653c80 Bug 697343 - Remove getElementIfPresent. r=Waldo 2013-12-05 20:07:24 +01:00
Nicholas Nethercote
6d00321811 Bug 943744 (part 3) - Re-use the |strings| table from the zone with the most strings when computing totals. r=till.
--HG--
extra : rebase_source : 3fa7b4249526ffcfbadd108aa55e7e9e5f0c8ebf
2013-12-04 03:54:54 -08:00
Nicholas Nethercote
a972b1c9d3 Bug 943744 (part 2) - Represent the sizes in StringInfo more compactly. r=till.
--HG--
extra : rebase_source : 799693bac2beb4609daf55fc5e8cbe19adff3ed8
2013-12-02 21:40:25 -08:00
Nicholas Nethercote
2977799c34 Bug 943744 (part 1) - Remove StringInfo::length. r=till.
--HG--
extra : rebase_source : 4ac0be283e35bd878ad4410b805548255fcd8cee
2013-12-02 21:40:25 -08:00
Jeff Walden
43ff4d65b7 Bug 940033 - js::HashMapEntry::{key,value} fields should be private, with accessors, and the former should expose a const reference. r=jimb
--HG--
extra : rebase_source : 439d194ed15bf87e9643c9c09d4512ff7f616fcc
2013-11-25 17:35:09 -08:00
Jeff Walden
222880a9ea Bug 937751 - Followup to compile with clang versions that treat |struct S; struct __attribute__((visibility("default"))) S {};| as an error. rs=mccr8
--HG--
extra : rebase_source : 97d6faaaa484a9544d2683c4a1af5c3e044fa2d3
2013-12-03 15:53:40 -08:00
Andrew McCreight
e5e9421728 Bug 937751, part 2 - Move SliceBudget into js/public. r=billm 2013-12-03 10:47:47 -08:00
Jeff Walden
ec797804af Bug 943839 - Simplify Anchor and get rid of JS_AnchorPtr. r=terrence
--HG--
extra : rebase_source : f2d9e039f758b6078c57f601537effe8c7c39f82
2013-12-02 15:43:30 -08:00
Andrew McCreight
b38b0fdc60 Bug 944491 - Add null-checking assert to GetGCThingRuntime. r=jonco 2013-11-29 12:44:00 -08:00
Trevor Saunders
2f7f7d874a bug 938025 - part 2 - fix some static constructors in the jseng r=waldo 2013-11-22 15:05:04 -05:00
Carsten "Tomcat" Book
7aed87ac9d Backed out changeset 042ab55b8476 (bug 939993) for Spidermonkey rootanalysis orange on a CLOSED TREE 2013-11-25 15:04:35 +01:00
Jon Coppeard
9f36f7aa14 Bug 939993 - Check that AddPtrs are used only with matching Lookup values r=sfink 2013-11-25 11:26:10 +00:00
Jim Chen
962919d092 Bug 935092 - Const-ify profiler pseudostack entries; r=BenWa 2013-11-22 14:17:30 -05:00
Ryan VanderMeulen
43d6223947 Backed out changeset 1469f9e856c0 (bug 939993) for SM rootanalysis crashes.
CLOSED TREE
2013-11-21 09:44:27 -05:00
Jon Coppeard
e705b6bebe Bug 939993 - Check that AddPtrs are used only with matching Lookup values r=sfink 2013-11-19 22:53:32 +00:00
Shu-yu Guo
58f49b859c Bug 933882 - Invalidate JIT code instead of doing full GC on debug mode toggle. (r=bhackett) 2013-11-20 22:50:28 -08:00
Jon Coppeard
b910746f04 Bug 935136 - Remove the now unnecessary UnbarrieredMutableValueOperations r=terrence 2013-11-19 22:53:36 +00:00
Ed Morley
6e9fecbb20 Backed out changeset 1b720320ccf4 (bug 939993) for rootanalysis assertions on a CLOSED TREE 2013-11-20 16:38:41 +00:00
Ed Morley
9d11288f9b Backed out changeset b75c703f2e7e (bug 935136) 2013-11-20 16:38:13 +00:00
Jon Coppeard
86ed70fdd8 Bug 935136 - Remove the now unnecessary UnbarrieredMutableValueOperations r=terrence 2013-11-19 22:53:36 +00:00
Jon Coppeard
8ca36e8447 Bug 939993 - Check that AddPtrs are used only with matching Lookup values r=sfink 2013-11-19 22:53:32 +00:00
Jim Blandy
4682c9e199 Bug 937404 - Remove the unused NotableStringInfo copy constructor. r=jimb
--HG--
extra : rebase_source : 9af09cb34a2bda3b1cbee61c85617a25c5876106
2013-11-18 13:48:45 -08:00
Jim Blandy
7cf9e41fc9 Bug 896100: Convert all uses of OldMove and MoveRef to true rvalue references and the modern Move and Forward. r=luke, r=waldo 2013-11-19 09:05:36 -08:00
Jon Coppeard
acdd78d61d Bug 938211 - Supply copy assignment operator for Heap<T> and fix up some other classes in RootingAPI.h r=sfink 2013-11-18 17:21:44 +00:00
Michael Shuen
014d210978 Bug 937916 - Implement TrueValue() and FalseValue(). r=sfink 2013-11-15 21:46:39 -05:00
Jon Coppeard
e9f9210b38 Bug 935136 - Always barrier assignments to Heap<Value> r=terrence 2013-11-12 11:21:01 +00:00
Wes Kocher
d58c3c4925 Backed out 7 changesets (bug 935228, bug 936143, bug 935470, bug 933882, bug 934799) for breaking ASAN browser-chrome tests on a CLOSED TREE
Backed out changeset ae6f2151610f (bug 934799)
Backed out changeset 82495f0c5da2 (bug 934799)
Backed out changeset 77be849d81e7 (bug 935228)
Backed out changeset 555e5759fe5f (bug 935470)
Backed out changeset ce4011f33422 (bug 933882)
Backed out changeset e13e98eab890 (bug 936143)
Backed out changeset fb230c191a88 (bug 936143)
2013-11-11 16:53:59 -08:00
Terrence Cole
72ed1dc420 Bug 935800 - Assert that we do not GC in the lifetime of a ForkJoinSlice; r=shu
--HG--
extra : rebase_source : ec2dc1db758e5bef4720b5442e006e9df44c165b
2013-11-06 15:43:19 -08:00
Shu-yu Guo
4abd75e034 Bug 933882 - Invalidate JIT code instead of doing full GC on debug mode toggle. (r=bhackett) 2013-11-11 14:18:34 -08:00
Jeff Walden
8d65c428b8 Bug 934718 - Simplify some of the alpha computations in HashTable.h by converting alpha fractions to numerator/denominator ratios of integers, and convert associated JS_STATIC_ASSERT to static_assert. r=luke
--HG--
extra : rebase_source : a35631c885ad7058739d9e99498714f318ef589c
2013-10-24 17:11:32 +01:00
Jeff Walden
f775bf0ab0 Bug 903332 - Make watch/unwatch into proxy hooks and such, and make watching/unwatching work on DOM proxies and windows (or at least work as much as it ever did, which is to say kinda-sorta-ish). r=bhackett, r=efaust
--HG--
extra : rebase_source : 58dc71e7e58208a2cfa12b265adca7b189e5e5bd
2013-10-29 16:39:09 -07:00
Nicholas Nethercote
d1af2f8e9e Bug 634417 - Remove inappropriate uses of vanilla malloc/calloc/realloc/free/strdup from SpiderMonkey. r=luke.
--HG--
extra : rebase_source : 4470cdf58a482eb05f94cd00a9800d8e6a0d2252
2013-11-08 09:52:14 +11:00
Ryan VanderMeulen
2cd9baaad6 Backed out changeset 471db633b20c (bug 903332) for B2G desktop mochitest-1 failures. 2013-11-07 16:10:21 -05:00
Jeff Walden
ed9fef3e20 Bug 903332 - Make watch/unwatch into proxy hooks and such, and make watching/unwatching work on DOM proxies and windows (or at least work as much as it ever did, which is to say kinda-sorta-ish). r=bhackett, r=efaust
--HG--
extra : rebase_source : b5bae3832b7718b579abb7c09f36c9c46907d7cc
2013-10-29 16:39:09 -07:00
Jeff Walden
a6d04a64b0 Bug 921561 - Make JS_DECLARE_NEW_METHODS use C++11 "perfect" forwarding (which isn't, because it won't let you pass an expression that's a bit field #nowyouknow), to eliminate issues arising when non-const references are used in these methods with classes that don't copy nicely, or shouldn't be copied for perf reasons. r=luke
--HG--
extra : rebase_source : d2b446e0ee6e5613faa962b92acc9f91584fe7ac
2013-09-27 11:19:43 -07:00
Terrence Cole
cf9c9d2ef6 Bug 931912 - Suppress an exact rooting hazard false positive in nsWindowSH::Finalize; r=sfink
--HG--
extra : rebase_source : 3934e7cd7e21e37de20aadac203db6a285021691
2013-11-05 15:02:35 -08:00
Andrew McCreight
743bde990d Bug 905382, part 1 - Implement a read barrier for GC things. r=jonco 2013-11-04 15:01:38 -08:00
Andrew McCreight
6efba18832 Bug 934990 - Export CurrentThreadCanAccess functions properly. r=terrence 2013-11-05 08:55:28 -08:00
Jim Blandy
5f1150fd9d Bug 892643: Implement PersistentRooted<T>, an unrestricted-lifetime rooting type. r=terrence, jcoppeard 2013-11-04 13:35:08 -08:00
Nicholas Nethercote
90c3c6d955 Bug 932440 - Re-fix a compiler warning in memorymetrics that was fixed in bug 924608 but was then undone by a bad manual merge. r=me.
--HG--
extra : rebase_source : 370eacd5a6f0d0015e0b685ea66a4c47df248a34
2013-10-29 20:15:09 -07:00
Jon Coppeard
b98d96f638 Bug 931446 - Improve documentation comment on JS::Heap r=terrence 2013-11-01 10:20:50 +00:00
Terrence Cole
ae43bcf0e2 Bug 932364 - Fix an exact rooting hazard around AddSizeOfTab; r=njn
--HG--
extra : rebase_source : cb0ab85f7f850ce3c250dd75ff32a416dba7b153
2013-10-28 10:14:06 -07:00
Nicholas Nethercote
b38b84f869 Bug 925584 - Remove some unnecessary jsapi.h inclusions from .cpp files. r=Ms2ger.
--HG--
extra : rebase_source : 41fcb0e922a519ef679c1c1b6293c2b638e83a48
2013-10-10 15:22:35 -07:00
Terrence Cole
05b45c0c0f Bug 929800 - Handlify the structured clone interface; r=sfink,smaug
--HG--
extra : rebase_source : 4f21dd799ad27dc665997d4912996a500ae8a2f2
2013-10-22 17:18:32 -07:00
André Bargull
13c4d58f7c Bug 928508 - Change String.prototype.@@iterator to iterate over code points. r=jorendorff. 2013-10-23 11:42:25 -05:00
Nicholas Nethercote
d58b8ff6f4 Bug 918207 - Support per-tab memory profiling. r=billm,mccr8,till,smaug,nfroyd.
--HG--
extra : rebase_source : 7603eaedbd761c6b231b1b911f719388864755e6
2013-10-22 14:53:26 -07:00
Steve Fink
12768ceaf1 Bug 861925 - Steal and neuter ArrayBuffers at end of structured clone, r=jorendorff
--HG--
extra : rebase_source : 3378a06b47e7ee2f45da841b3604077b4c2b64e6
2013-10-15 23:48:20 -07:00
Masatoshi Kimura
7b63853e9c Bug 928220 - Get rid of JS_INLINE 2013-10-22 06:34:24 +09:00