Commit graph

295 commits

Author SHA1 Message Date
Jon Coppeard
8e3a1aaf44 Bug 1360961 - Fix spurious rooting hazard r=me 2017-05-04 09:38:43 +01:00
Jon Coppeard
cecd5ba76a Bug 1360961 - Add a barrier to the plugin object wrapper table to handle incrementally finalized JSObjects r=bz 2017-05-04 08:17:39 +01:00
Brian Hackett
8033ed29a8 Bug 1324002 - Mark atoms separately in each zone, r=jonco,mccr8,peterv.
--HG--
extra : rebase_source : 53cf4fa94f122a991c2adbd7bae3714de4391bb4
2017-01-30 06:31:47 -07:00
Steve Fink
7f97277dc2 Bug 1308236 - Don't trigger read barriers when comparing wrapped pointers types r=sfink r=mccr8 2016-10-28 15:11:56 -07:00
Jan de Mooij
803f7e1e66 Bug 1319524 - Add JSAutoCompartment to GetNPObjectWrapper. r=bholley 2016-11-29 11:59:25 +01:00
Jon Coppeard
99aa8489c8 Bug 1313098 - Assert we only access heap state on the main thread r=sfink r=mccr8 2016-11-04 17:32:36 +00:00
Tom Tromey
0dc689acdd Bug 553032 - use MOZ_FORMAT_PRINTF in js; r=evilpie
MozReview-Commit-ID: DD3DJRkOxmC

--HG--
extra : rebase_source : 61cdf0da1a82b626abc79209ee41e43c3bb152ca
2016-10-11 12:44:40 -06:00
Sebastian Hengst
9e31a95f74 Backed out changeset 2bfd163f23f9 (bug 553032) 2016-10-19 18:29:36 +02:00
Tom Tromey
5b851428f8 Bug 553032 - use MOZ_FORMAT_PRINTF in js; r=evilpie
MozReview-Commit-ID: DD3DJRkOxmC

--HG--
extra : rebase_source : 4f98705e5e2c5ff9860f04384abbc6f5dc18a7a9
2016-10-11 12:44:40 -06:00
Tooru Fujisawa
26cadb42f0 Bug 1290337 - Part 16: Replace Value parameter to const Value& in dom. r=smaug 2016-09-11 18:15:24 +09:00
Tooru Fujisawa
2f83147cad Bug 1289050 - Part 8: Use ASCII or UTF8 variant of JS_ReportErrorNumber in non-simple cases. r=jwalden 2016-08-15 23:05:04 +09:00
Tooru Fujisawa
10dd75211d Bug 1289050 - Part 2: Use ASCII or Latin1 variants of JS_ReportError in not-simple cases. r=jwalden 2016-08-15 19:20:01 +09:00
Tom Schuster
8ea3a932a3 Bug 1114580 - Return a fixed name for @@toString on plugins. r=billm 2016-08-31 00:13:10 +02:00
Jon Coppeard
d1435a2a8c Bug 1296688 - Add JSCLASS_FOREGROUND_FINALIZE flag r=sfink r=smaug 2016-08-24 14:18:10 +01:00
Jan de Mooij
0ad12515f4 Bug 1292892 part 1 - Stop using JSRuntime outside SpiderMonkey. r=bz,terrence,fitzgen,kanru 2016-08-11 14:39:22 +02:00
Jan de Mooij
4ba1239131 Bug 1283855 part 11 - Make some GC callback APIs take JSContext instead of JSRuntime. r=terrence,mccr8 2016-07-05 14:35:19 +02:00
Jonathan Watt
b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Boris Zbarsky
27314790c8 Bug 1276286. Remove the unused JSContext stuff in nsJSObjWrapper::GetNewOrUsed. r=mccr8 2016-05-27 13:30:10 -04:00
Terrence Cole
8e2294b2b6 Bug 1267699 - Move some public types to the right namespace; r=sfink
--HG--
extra : rebase_source : f79f7d86aab708b86a65e6f2426baeb8488f47e5
2016-04-26 09:18:48 -07:00
Nicholas Nethercote
60dcde7875 Bug 1261723 (part 2) - Separate class ops from js::Class. code=njn,h4writer. r=efaust,bz.
js::Class op are often all null. And when they're not all null, they're often
duplicated among classes. By pulling them out into their own struct, and using a
(possibly null) pointer in js::Class, we can save 114 KiB per process on
64-bit, and half that on 32-bit.
* * *
imported patch separate-ClassOps-2

--HG--
extra : rebase_source : bd751bf247e9491c1966a123dbeffa573657dfb1
2016-04-01 11:00:01 +11:00
Nicholas Nethercote
0faa7a06ba Bug 1261720 (part 2) - Move ClassExtension::isWrappedNative into js::Class::flags. r=jorendorff.
This saves 10 KiB of static data on 64-bit, and half that on 32-bit.

--HG--
extra : rebase_source : f0e9c5cdba7f5a71cda046152691de6a5184a223
2016-04-04 08:47:15 +10:00
Nicholas Nethercote
f7dab46ae8 Bug 1261720 (part 1) - Separate js::ClassExtension from js::Class. r=jorendorff,bz.
js::ClassExtension is often all null. When it's not all null, it's often
duplicated among classes. By pulling it out into its own struct, and using a
(possibly null) pointer in js::Class, we can save 17 KiB per process on
64-bit, and half that on 32-bit.

--HG--
extra : rebase_source : eb78ade09ce268e886d091f6cbc38d7e5e912527
2016-04-04 08:45:07 +10:00
Nicholas Nethercote
e114b226dc Bug 1259194 (part 4) - Separate js::ObjectOps from js::Class. r=efaust,mrbkap,bz.
js::ObjectOps is often all null. When it's not all null, it's often duplicated
many times among classes. By pulling it out into its own struct, and using a
(possibly null) pointer in js::Class, we can save 208 KiB per process on
64-bit, and half that on 32-bit.

--HG--
extra : rebase_source : 5be8fe45f652392571b8a6d7b63777cbafba6ae4
2016-03-24 07:00:29 +11:00
Boris Zbarsky
e3b2de6aa9 Bug 1255817 part 2. Get rid of AutoJSAPI::OwnsErrorReporting and AutoJSAPI::TakeOwnershipOfErrorReporting. r=bholley 2016-03-23 11:44:54 -04:00
Boris Zbarsky
36d4079be7 Bug 1254847 part 3. Make AutoEntryScript always take ownership of error reporting. r=bholley 2016-03-09 19:02:03 -05:00
Boris Zbarsky
6b80989ddf Bug 1254847 part 2. Change nsJSNPRuntime to always use AutoEntryScript and always take ownership of error reporting. r=bholley
The main change is that we move AutoJSExceptionReporter up to before the first
place where we might throw an exception, so we report those exceptions before
returning.  The change to use AutoEntryScript consistently is because all of
these callsites can run JS in practice, and it seems reasonable to allow them
to.
2016-03-09 19:02:03 -05:00
Nicholas Nethercote
85ef8faae4 Bug 1246054 - Fix an erroneous nsNPObjWrapper assertion. r=froydnj.
--HG--
extra : rebase_source : 773edadad38b1a549194d1fa2cfad8d952b55d12
2016-02-05 16:36:05 +11:00
Terrence Cole
52e9feb9d3 Bug 1234862 - Part 5: Rename DefaultGCPolicy to GCPolicy; r=sfink 2016-01-26 12:53:35 -08:00
David Rajchenbach-Teller
583ca7286d Bug 1224374 - Profiler labels for the top 26-100 chrome hangs;r=BenWa
--HG--
extra : rebase_source : 39e94507c0288863e495322a6899ff009840870d
2016-01-15 11:38:03 +01:00
Sebastian Hengst
d8d4a2d1a5 Backed out 2 changesets (bug 1224374) for Windows bustage. r=bustage on a CLOSED TREE
Backed out changeset 5f458e6e4997 (bug 1224374)
Backed out changeset 0dc02cb0b604 (bug 1224374)
2016-01-19 21:30:41 +01:00
David Rajchenbach-Teller
2d53758d08 Bug 1224374 - Profiler labels for the top 26-100 chrome hangs;r=BenWa
--HG--
extra : rebase_source : 51d39d6f88bf58ccb29f5897c3dbbe71007ee842
2016-01-15 11:38:03 +01:00
Terrence Cole
34a6869d16 Bug 1239494 - Followup to fix a spurious hazard analysis failure; r=meow
--HG--
extra : rebase_source : 3958c06b3f49c348c05e8a1bf2b0662710293f39
2016-01-14 14:43:03 -08:00
Terrence Cole
94a91b8195 Bug 1239494 - Use GCHashMap to simplify nsWrapperCache; r=jonco 2016-01-14 09:43:03 -08:00
Terrence Cole
3a07971436 Bug 1238786 - Part 2: We no longer need to null check before using trace APIs; r=smaug
--HG--
extra : rebase_source : 5fdbdaa7be739afd93294b729d878ed33c55b5ce
2016-01-12 13:07:54 -08:00
Terrence Cole
fd0fcea703 Bug 1235923 - Part 2: Use new Root tracing APIs in Gecko; r=smaug 2015-12-30 11:31:16 -08:00
Terrence Cole
97c4c6520f Backout 7621c3ea95cb11e1c376a9f705accc0f90057c0a (bug 1235923) for build bustage on a CLOSED TREE.
--HG--
extra : rebase_source : 6c54aa7e1af75c270ab2b6833b56c780c537e297
2016-01-06 12:05:06 -08:00
Terrence Cole
d38e840e6f Bug 1235923 - Part 2: Use new Root tracing APIs in Gecko; r=smaug 2015-12-30 11:31:16 -08:00
Terrence Cole
bb224242a8 Bug 1235598 - Part 2: Use TraceEdge exclusively in Gecko; r=smaug
--HG--
extra : rebase_source : 27afd7eecd5a13f8d28b888b64d5e44b3c4a74a5
2015-12-30 08:52:14 -08:00
Jan de Mooij
115d04ec63 Bug 1125423 part 5 - Remove innerObject/outerObject/thisValue Class hooks. r=luke 2015-11-06 19:03:52 +01:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Jason Orendorff
ebc93772ac Bug 1206168 - Rename JS_DefaultValue to JS::ToPrimitive. r=jandem.
--HG--
extra : commitid : IePcO0FF8By
extra : rebase_source : 74b0cc35acc8dbbde3e9d7d731d415b82f35a833
2015-09-18 12:26:48 -05:00
Jason Orendorff
deb2270515 Bug 1054756, part 5 - Remove Class::convert.
--HG--
extra : commitid : 6KCxWrCseSZ
extra : rebase_source : 63f3cd6ec1ade43c732ffd9b661fe6f2dca9eb4b
2015-03-20 16:28:59 -05:00
Jason Orendorff
abd42d3ec5 Bug 1054756, part 3 - Implement Symbol.toPrimitive. Replace existing convert hooks with methods. r=jandem.
JSClass::convert is no longer used after this, but to minimize the noise, it will be deleted in a separate patch. However all non-nullptr convert hook implementations must be replaced with [@@toPrimitive] methods in this patch to avoid changing the behavior.

The changes in XrayWrapper.cpp fix a pre-existing bug: when an Xray wrapper tries to emit the "Silently denied access" warning, if id is a symbol, the existing code triggers an error trying to convert it to a string for the warning message. Implementing Symbol.toPrimitive revealed this bug; the fix is straightforward.

--HG--
extra : commitid : B48u39i6pxl
extra : rebase_source : bddefbd7bc131007303a5a00dd9c0bb8fec1b122
2015-03-20 14:02:55 -05:00
Wes Kocher
b19d88b060 Backed out 7 changesets (bug 1206168, bug 1177318, bug 1054756) for hazard build failures CLOSED TREE
Backed out changeset e892727a373a (bug 1206168)
Backed out changeset 6c93d1044b7e (bug 1054756)
Backed out changeset 105433ce195b (bug 1054756)
Backed out changeset 13128a88f2b9 (bug 1054756)
Backed out changeset c250abf4fd17 (bug 1054756)
Backed out changeset fc9fef646a97 (bug 1054756)
Backed out changeset c8897f109a08 (bug 1177318)
2015-09-23 12:31:19 -07:00
Jason Orendorff
5cfd64bf4d Bug 1206168 - Rename JS_DefaultValue to JS::ToPrimitive. r=jandem.
--HG--
extra : commitid : 4nCMAna0EKm
extra : rebase_source : b3590ed380216e2c1202b3773e7894702dc19a9e
2015-09-18 12:26:48 -05:00
Jason Orendorff
54e92d9beb Bug 1054756, part 5 - Remove Class::convert.
--HG--
extra : commitid : KrjkP1flM3c
extra : rebase_source : 8c367e3158528e92ac8ebc51521d32472f1e5bb1
2015-03-20 16:28:59 -05:00
Jason Orendorff
81838ba2bd Bug 1054756, part 3 - Implement Symbol.toPrimitive. Replace existing convert hooks with methods. r=jandem.
JSClass::convert is no longer used after this, but to minimize the noise, it will be deleted in a separate patch. However all non-nullptr convert hook implementations must be replaced with [@@toPrimitive] methods in this patch to avoid changing the behavior.

The changes in XrayWrapper.cpp fix a pre-existing bug: when an Xray wrapper tries to emit the "Silently denied access" warning, if id is a symbol, the existing code triggers an error trying to convert it to a string for the warning message. Implementing Symbol.toPrimitive revealed this bug; the fix is straightforward.

--HG--
extra : commitid : Bod43vTkd1o
extra : rebase_source : 0cd6b8e3e7046952631b1b471430c5ab5002c7d8
2015-03-20 14:02:55 -05:00
Nicholas Nethercote
2ee4fd783b Bug 1121760 (part 6) - Move all remaining PL_DHash*() functions into PLDHashTable. r=poiru.
--HG--
extra : rebase_source : 3cdc975507170d783b02d70f7c7d95c6bf2e1bcd
2015-09-14 14:23:47 -07:00
Nicholas Nethercote
ecf0b741cd Bug 1121760 (part 4) - Remove PL_DHashTableRawRemove(). r=poiru.
--HG--
extra : rebase_source : 9989b2171b8213512ce779415812fa04471fde22
2015-09-14 14:23:26 -07:00
Nicholas Nethercote
59683492e5 Bug 1121760 (part 3) - Remove PL_DHashTableRemove(). r=poiru.
--HG--
extra : rebase_source : c34d693de4aca45f2ea05c2767c8b1007c89df29
2015-09-14 14:23:24 -07:00