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

5940 Коммитов

Автор SHA1 Сообщение Дата
Kris Maglione 51f7df2898 Bug 1361900: Part 11 - Make sure new cache file is closed before renaming on Windows. r=me
MozReview-Commit-ID: KpJpId6eULt

--HG--
extra : rebase_source : c8552d69195d353b3ca6302cff03e5641ac49c07
2017-05-13 22:55:34 -07:00
Kris Maglione 3bc458e421 Bug 1361900: Part 10 - Replace linked lists with a single hashtable. r=erahm
MozReview-Commit-ID: 3qXnswsP6Z0

--HG--
extra : rebase_source : 289775a1e6ac452081fb2ec80346f803a51710c5
extra : source : 75b28187fa5ed70fafdd30565a12584b301b9104
2017-05-13 22:43:08 -07:00
Kris Maglione a09d901e45 Bug 1361900: Part 9 - Sort scripts by initial load time before saving. r=erahm
MozReview-Commit-ID: 54UN2DVK4xM

--HG--
extra : rebase_source : 034c0020678d04d6087e3a40ab76499958ac748c
extra : source : 2a48f8b743d158bc744a776bd939c80a242e1446
2017-05-13 14:08:42 -07:00
Kris Maglione 24826fb52a Bug 1361900: Part 7 - Use the script preloader in content processes in subscript and component loaders. r=mccr8
MozReview-Commit-ID: 4b5XwORYlAz

--HG--
extra : rebase_source : 4e7f20d0fdd3fd45184b3185fac818bf9c032344
extra : source : 3c716b3b45417e45100d5480241921f44c601270
2017-04-30 21:53:49 -07:00
Kris Maglione 589a82d7ba Bug 1361900: Part 6 - Add content process support for the script preloader. r=erahm,gabor
MozReview-Commit-ID: 6hDQAI52bKC

--HG--
extra : rebase_source : 46e8d5ed5965e483fa4b0bd8f6f4403e0bb771dc
extra : source : 4227bcda00babd2d5980dca3b42cb4b467da38c4
2017-05-02 17:17:52 -07:00
Kris Maglione e3992a28fd Bug 1361900: Part 5 - Add support for IPC FileDescriptors to AutoMemMap. r=erahm
MozReview-Commit-ID: 3HBuKLVNdWT

--HG--
extra : rebase_source : d1edbec1294e41f645c0515a523cf3df5e90af21
extra : source : 540ecb4c1f0fc25725375c7cc5a399a1d2bea5fe
2017-04-30 22:54:00 -07:00
Kris Maglione fc0586811d Bug 1361900: Part 4 - Use a separate script cache for scripts loaded in the child process. r=erahm,gabor
MozReview-Commit-ID: EIdwmuTOl90

--HG--
extra : rebase_source : d2f6ba18a03cb54459e98b9d2ff03bc3d9567e83
extra : source : ad243db647c708b74859d73e8787b5b34897c140
2017-05-09 19:52:17 -07:00
Kris Maglione 10c8448c1a Bug 1361900: Part 3 - Add a helper script to decode and inspect script cache data. r=erahm
MozReview-Commit-ID: DOj7X46NaZ5

--HG--
extra : rebase_source : a937fb12c287861c2a2487ca4254050195a16a4d
extra : source : bd55bd27bb1e55e44fbe76786993b1657c2af944
2017-04-30 13:00:55 -07:00
Kris Maglione a8eba3c140 Bug 1361900: Part 2 - Add process types field to cached script data. r=erahm
MozReview-Commit-ID: Gvh672XD0ar

--HG--
extra : rebase_source : 4391f60ab8f1eaa3df646f7acbc2652be2487f0c
extra : source : 39ffa8a7801a7807a1097ea2c9290c772cd54a9b
2017-05-03 17:21:31 -07:00
Sebastian Hengst 0bc683dcda Backed out changeset 39ffa8a7801a (bug 1361900) 2017-05-13 18:53:50 +02:00
Sebastian Hengst 20ecaf5c4c Backed out changeset bd55bd27bb1e (bug 1361900) 2017-05-13 18:53:45 +02:00
Sebastian Hengst e1ddae17f8 Backed out changeset ad243db647c7 (bug 1361900) 2017-05-13 18:53:40 +02:00
Sebastian Hengst 185936c593 Backed out changeset 540ecb4c1f0f (bug 1361900) 2017-05-13 18:53:35 +02:00
Sebastian Hengst 0f6e08c578 Backed out changeset 4227bcda00ba (bug 1361900) 2017-05-13 18:53:30 +02:00
Sebastian Hengst aa75233439 Backed out changeset 3c716b3b4541 (bug 1361900) 2017-05-13 18:53:25 +02:00
Sebastian Hengst f2d93e36db Backed out changeset 2a48f8b743d1 (bug 1361900) 2017-05-13 18:53:15 +02:00
Sebastian Hengst b5071f569a Backed out changeset 75b28187fa5e (bug 1361900) 2017-05-13 18:53:10 +02:00
Sebastian Hengst 68e5b1d383 Backed out changeset 9795dacd97e1 (bug 1361900) 2017-05-13 18:52:53 +02:00
Sebastian Hengst 9c58d83d6f Backed out changeset 8d47499f43b3 (bug 1361900) 2017-05-13 18:52:48 +02:00
Sebastian Hengst f8b2c3d68c Backed out changeset 0b38ac21c7a5 (bug 1361900) 2017-05-13 18:52:25 +02:00
Sebastian Hengst 1e386fe967 Backed out changeset 23dc7b443bb0 (bug 1361900) 2017-05-13 18:51:57 +02:00
Kris Maglione 8d9a00892f Bug 1361900: Fix one last merge botch, and fix a false rooting hazard warning.
MozReview-Commit-ID: JpKYYEBpbQj

--HG--
extra : rebase_source : 5bbb462ed3255c631cc1c280359af8c9c2224239
extra : histedit_source : 444c4c02eb1a3ced85cef09f7b7a6e7f5b9235b5%2Cb16ca4316a1aabf5e5c1b8641a0e1818d815da76
2017-05-12 18:14:12 -07:00
Kris Maglione 40bbc14054 Bug 1361900: Follow-up: Fix order of execution issue. r=me
MozReview-Commit-ID: DcmTlzxskUj
2017-05-12 15:46:34 -07:00
Kris Maglione 26511894d2 Bug 1361900: Follow-up: Fix another rebase botch. r=me
MozReview-Commit-ID: BuvkimQCRDP
2017-05-12 15:17:25 -07:00
Kris Maglione 53cf532feb Bug 1361900: Follow-up: Fix rebase botch. r=me
MozReview-Commit-ID: 3KIbvGYhnlG
2017-05-12 14:59:34 -07:00
Kris Maglione a4e4191399 Bug 1356826: Part 4 - Add Cu.isInAutomation and Cu.crashIfNotInAutomation helpers. r=bholley
MozReview-Commit-ID: ADqVqF2XraG

--HG--
extra : rebase_source : 5b4ff1ceb7f3123f585559a954e59291c91e5554
extra : source : c46fed6e4f6a928df2b06fca6b3f004fd4bb0cc7
2017-04-15 14:23:58 -07:00
Kris Maglione 23518f0244 Bug 1361900: Part 10 - Replace linked lists with a single hashtable. r=erahm
MozReview-Commit-ID: 3qXnswsP6Z0

--HG--
extra : rebase_source : 1edbf92171003d9ad2c4cfebabbb8a1d7f2d4e24
2017-05-03 16:57:31 -07:00
Kris Maglione 220b0239c3 Bug 1361900: Part 9 - Sort scripts by initial load time before saving. r=erahm
MozReview-Commit-ID: 54UN2DVK4xM

--HG--
extra : rebase_source : f7cb39eb05bb86a03a17b97cbe2cb9d8dd1008fe
2017-05-01 14:12:01 -07:00
Kris Maglione 4948d82519 Bug 1361900: Part 7 - Use the script preloader in content processes in subscript and component loaders. r=mccr8
MozReview-Commit-ID: 4b5XwORYlAz

--HG--
extra : rebase_source : a43936bc2eaaa87c24cc8933e54e99a9386e12e3
2017-04-30 21:53:49 -07:00
Kris Maglione 2a49ee963d Bug 1361900: Part 6 - Add content process support for the script preloader. r=erahm,gabor
MozReview-Commit-ID: 6hDQAI52bKC

--HG--
extra : rebase_source : a7a32c6ebca0ce1b6449030e33656a9d416e910e
2017-05-02 17:17:52 -07:00
Kris Maglione d3eae9806f Bug 1361900: Part 5 - Add support for IPC FileDescriptors to AutoMemMap. r=erahm
MozReview-Commit-ID: 3HBuKLVNdWT

--HG--
extra : rebase_source : b5c331223808810c0dceeafccbbf7a2de7d98bc4
2017-04-30 22:54:00 -07:00
Kris Maglione 34e20a0617 Bug 1361900: Part 4 - Use a separate script cache for scripts loaded in the child process. r=erahm,gabor
MozReview-Commit-ID: EIdwmuTOl90

--HG--
extra : rebase_source : bce9efcd7b97c281bf4e17e30eed31e6e93c614a
2017-05-09 19:52:17 -07:00
Kris Maglione c0f737d8d9 Bug 1361900: Part 3 - Add a helper script to decode and inspect script cache data. r=erahm
MozReview-Commit-ID: DOj7X46NaZ5

--HG--
extra : rebase_source : f974fa6dc5cf0316b463bc7d1c7f6cd4478c4b59
2017-04-30 13:00:55 -07:00
Kris Maglione 4b6d93f595 Bug 1361900: Part 2 - Add process types field to cached script data. r=erahm
MozReview-Commit-ID: Gvh672XD0ar

--HG--
extra : rebase_source : 022d4a8d3116ae1817189d1f03c3180087997487
2017-05-03 17:21:31 -07:00
Iris Hsiao 6559420d58 Backed out 15 changesets (bug 1358846, bug 1356826) for talos error. a=backout
Backed out changeset 96ea13bb00c5 (bug 1358846)
Backed out changeset b533d7f9b9c2 (bug 1358846)
Backed out changeset 7dcb80a051a3 (bug 1358846)
Backed out changeset 26825f1e33dd (bug 1358846)
Backed out changeset 98b57ff82a54 (bug 1358846)
Backed out changeset b9088593e34f (bug 1358846)
Backed out changeset cb2518673c56 (bug 1358846)
Backed out changeset 889c487a5d41 (bug 1358846)
Backed out changeset 459b36092b7a (bug 1356826)
Backed out changeset c861e23ec8ef (bug 1356826)
Backed out changeset d47998fa24cd (bug 1356826)
Backed out changeset b02e89c67132 (bug 1356826)
Backed out changeset c46fed6e4f6a (bug 1356826)
Backed out changeset 237268e3d9d2 (bug 1356826)
Backed out changeset 527435fc20db (bug 1356826)
2017-05-12 17:45:21 +08:00
Kris Maglione 602cb201f5 Bug 1356826: Part 4 - Add Cu.isInAutomation and Cu.crashIfNotInAutomation helpers. r=bholley
MozReview-Commit-ID: ADqVqF2XraG

--HG--
extra : rebase_source : ea5df06eb9162f9f8c5816f49fb44d9f41947126
2017-04-15 14:23:58 -07:00
Wes Kocher 1b5ad2c128 Merge inbound to central, a=merge
MozReview-Commit-ID: DfRZi0gKjit
2017-05-10 16:48:03 -07:00
Carsten "Tomcat" Book 455239782b Merge mozilla-central to mozilla-inbound 2017-05-10 15:30:44 +02:00
kedziorski.lukasz@gmail.com f815a0af4b Bug 1359436 - Add leak checking to CycleCollectedJSContext and related classes. r=mccr8 2017-05-09 13:59:00 +02:00
Andrew McCreight 087c406acb Bug 1363538 - Remove some derelict testing code from XPCShellImpl.cpp. r=mrbkap
MozReview-Commit-ID: 96UyB317H0W

--HG--
extra : source : 0a74ed4854d784856f28cf48a422f4aa0763fd22
2017-05-09 14:35:23 -07:00
Alexandre Poirot 097e90a04c Bug 1363539 - Remove dependency on DevTools from test_onGarbageCollection.html. r=sfink
MozReview-Commit-ID: LQ8oCAyC7sF

--HG--
extra : rebase_source : 82284076bcff9fa34d7410b22ce90bb6182d3a09
2017-02-22 12:45:11 +01:00
Andrea Marchesini 1981f67eb3 Bug 1362119 - part 1 - Moving dom/base/Script{Loader,Element}.* in dom/script, r=ehsan
This patch does these things:

1. it moves nsScriptElement, nsScriptLoader, ScriptSettings, nsIScriptElement
   and nsIScriptLoaderObserver in dom/script
2. it renames nsScriptElement to mozilla::dom::ScriptElement
3. it renames nsScriptLaoder to mozilla::dom::ScriptLoader

--HG--
rename : dom/base/nsScriptElement.cpp => dom/script/ScriptElement.cpp
rename : dom/base/nsScriptElement.h => dom/script/ScriptElement.h
rename : dom/base/nsScriptLoader.cpp => dom/script/ScriptLoader.cpp
rename : dom/base/nsScriptLoader.h => dom/script/ScriptLoader.h
rename : dom/base/ScriptSettings.cpp => dom/script/ScriptSettings.cpp
rename : dom/base/ScriptSettings.h => dom/script/ScriptSettings.h
rename : dom/base/nsIScriptElement.h => dom/script/nsIScriptElement.h
rename : dom/base/nsIScriptLoaderObserver.idl => dom/script/nsIScriptLoaderObserver.idl
2017-05-08 08:24:22 +02:00
Carsten "Tomcat" Book f0d6de60d7 Backed out changeset 5d77f6b14633 (bug 1362119) for android bustage in nsCCUncollectableMarker.cpp:500:7: error: 'TraceScriptHolder' is not a member of 'mozilla'
--HG--
rename : dom/script/ScriptSettings.cpp => dom/base/ScriptSettings.cpp
rename : dom/script/ScriptSettings.h => dom/base/ScriptSettings.h
rename : dom/script/nsIScriptElement.h => dom/base/nsIScriptElement.h
rename : dom/script/nsIScriptLoaderObserver.idl => dom/base/nsIScriptLoaderObserver.idl
rename : dom/script/ScriptElement.cpp => dom/base/nsScriptElement.cpp
rename : dom/script/ScriptElement.h => dom/base/nsScriptElement.h
rename : dom/script/ScriptLoader.cpp => dom/base/nsScriptLoader.cpp
rename : dom/script/ScriptLoader.h => dom/base/nsScriptLoader.h
2017-05-08 09:54:38 +02:00
Andrea Marchesini 7a4ef797cb Bug 1362119 - part 1 - Moving dom/base/Script{Loader,Element}.* in dom/script, r=ehsan
This patch does these things:

1. it moves nsScriptElement, nsScriptLoader, ScriptSettings, nsIScriptElement
   and nsIScriptLoaderObserver in dom/script
2. it renames nsScriptElement to mozilla::dom::ScriptElement
3. it renames nsScriptLaoder to mozilla::dom::ScriptLoader

--HG--
rename : dom/base/nsScriptElement.cpp => dom/script/ScriptElement.cpp
rename : dom/base/nsScriptElement.h => dom/script/ScriptElement.h
rename : dom/base/nsScriptLoader.cpp => dom/script/ScriptLoader.cpp
rename : dom/base/nsScriptLoader.h => dom/script/ScriptLoader.h
rename : dom/base/ScriptSettings.cpp => dom/script/ScriptSettings.cpp
rename : dom/base/ScriptSettings.h => dom/script/ScriptSettings.h
rename : dom/base/nsIScriptElement.h => dom/script/nsIScriptElement.h
rename : dom/base/nsIScriptLoaderObserver.idl => dom/script/nsIScriptLoaderObserver.idl
2017-05-08 08:24:22 +02:00
Kris Maglione 9c1bafbab4 Bug 1359653: Follow-up: Don't cache mochikit scripts as a temporary bustage workaround.
MozReview-Commit-ID: I4FcZWRKlWr

--HG--
extra : amend_source : c34f3bcb023b9063a4d1a53a6bb3873fdb499d1c
2017-05-06 14:41:22 -07:00
Kris Maglione e8e5fe66b7 Bug 1359653: Part 9 - Observe "startupcache-invalidate" and flush the cache when received. r=erahm
Flushing the cache at startup is already handled automatically by the
AppStartup code, which removes the entire startupCache directory when
necessary. The add-on manager requires being able to flush the cache at
runtime, though, for the sake of updating bootstrapped add-ons.

MozReview-Commit-ID: LIdiNHrXYXu

--HG--
extra : source : 8f4637881ddc42a948c894e62c8486fe8677a938
extra : histedit_source : e69395a2b87b2b0edb394686ed6ee24731ba9fb8
2017-05-03 12:31:51 -07:00
Kris Maglione 6df68230e0 Bug 1359653: Part 6 - Use the script precompiler in the JS component loader and subscript loader. r=mccr8,shu
MozReview-Commit-ID: HMl0xbAARHK

--HG--
extra : source : a505dcbe8a02bf4b4f975e62cc2b651ef7eebdd0
extra : histedit_source : 288bbb8633d2296200abb66f359619785ac7d2d8
2017-05-03 22:06:33 -07:00
Kris Maglione 15e7adf3aa Bug 1359653: Part 5 - Pre-load scripts needed during startup in a background thread. r=shu,erahm
One of the things that I've noticed in profiling startup overhead is that,
even with the startup cache, we spend about 130ms just loading and decoding
scripts from the startup cache on my machine.

I think we should be able to do better than that by doing some of that work in
the background for scripts that we know we'll need during startup. With this
change, we seem to consistently save about 3-5% on non-e10s startup overhead
on talos. But there's a lot of room for tuning, and I think we get some
considerable improvement with a few ongoing tweeks.

Some notes about the approach:

- Setting up the off-thread compile is fairly expensive, since we need to
create a global object, and a lot of its built-in prototype objects for each
compile. So in order for there to be a performance improvement for OMT
compiles, the script has to be pretty large. Right now, the tipping point
seems to be about 20K.

  There's currently no easy way to improve the per-compile setup overhead, but
we should be able to combine the off-thread compiles for multiple smaller
scripts into a single operation without any additional per-script overhead.

- The time we spend setting up scripts for OMT compile is almost entirely
CPU-bound. That means that we have a chunk of about 20-50ms where we can
safely schedule thread-safe IO work during early startup, so if we schedule
some of our current synchronous IO operations on background threads during the
script cache setup, we basically get them for free, and can probably increase
the number of scripts we compile in the background.

- I went with an uncompressed mmap of the raw XDR data for a storage format.
That currently occupies about 5MB of disk space. Gzipped, it's ~1.2MB, so
compressing it might save some startup disk IO, but keeping it uncompressed
simplifies a lot of the OMT and even main thread decoding process, but, more
importantly:

- We currently don't use the startup cache in content processes, for a variety
of reasons. However, with this approach, I think we can safely store the
cached script data from a content process before we load any untrusted code
into it, and then share mmapped startup cache data between all content
processes. That should speed up content process startup *a lot*, and very
likely save memory, too. And:

- If we're especially concerned about saving per-process memory, and we keep
the cache data mapped for the lifetime of the JS runtime, I think that with
some effort we can probably share the static string data from scripts between
content processes, without any copying. Right now, it looks like for the main
process, there's about 1.5MB of string-ish data in the XDR dumps. It's
probably less for content processes, but if we could save .5MB per process
this way, it might make it easier to increase the number of content processes
we allow.

MozReview-Commit-ID: CVJahyNktKB

--HG--
extra : source : 1c7df945505930d2d86a076ee20807104324c8cc
extra : histedit_source : 75e193839edf727874f01b2a9f6852f6c1f087fb%2C3ce966d7dcf2bd0454a7d673d0467097456bd782
2017-05-06 12:24:22 -07:00
Sebastian Hengst 544da0524c Backed out changeset 1c7df9455059 (bug 1359653) 2017-05-06 11:02:23 +02:00
Sebastian Hengst a71ff9882a Backed out changeset a505dcbe8a02 (bug 1359653) 2017-05-06 11:02:18 +02:00
Sebastian Hengst 0584d6d6d4 Backed out changeset 8f4637881ddc (bug 1359653) 2017-05-06 11:02:04 +02:00
Kris Maglione c1b1876797 Bug 1359653: Part 9 - Observe "startupcache-invalidate" and flush the cache when received. r=erahm
Flushing the cache at startup is already handled automatically by the
AppStartup code, which removes the entire startupCache directory when
necessary. The add-on manager requires being able to flush the cache at
runtime, though, for the sake of updating bootstrapped add-ons.

MozReview-Commit-ID: LIdiNHrXYXu

--HG--
extra : rebase_source : e5b16490f47e20c78d081ad03dec02c6b2874fc3
extra : absorb_source : 6cd94504c8247f375161b2afdca5c61d59cf8f01
2017-05-03 12:31:51 -07:00
Kris Maglione e1eeeaf349 Bug 1359653: Part 6 - Use the script precompiler in the JS component loader and subscript loader. r=mccr8,shu
MozReview-Commit-ID: HMl0xbAARHK

--HG--
extra : rebase_source : 257ac78f3438d67725b5c1630c214a1d0627193d
extra : absorb_source : e70948dbfa5517b1868cafe804a71248e57ef022
2017-05-03 22:06:33 -07:00
Kris Maglione a4368ffba1 Bug 1359653: Part 5 - Pre-load scripts needed during startup in a background thread. r=shu,erahm
One of the things that I've noticed in profiling startup overhead is that,
even with the startup cache, we spend about 130ms just loading and decoding
scripts from the startup cache on my machine.

I think we should be able to do better than that by doing some of that work in
the background for scripts that we know we'll need during startup. With this
change, we seem to consistently save about 3-5% on non-e10s startup overhead
on talos. But there's a lot of room for tuning, and I think we get some
considerable improvement with a few ongoing tweeks.

Some notes about the approach:

- Setting up the off-thread compile is fairly expensive, since we need to
create a global object, and a lot of its built-in prototype objects for each
compile. So in order for there to be a performance improvement for OMT
compiles, the script has to be pretty large. Right now, the tipping point
seems to be about 20K.

  There's currently no easy way to improve the per-compile setup overhead, but
we should be able to combine the off-thread compiles for multiple smaller
scripts into a single operation without any additional per-script overhead.

- The time we spend setting up scripts for OMT compile is almost entirely
CPU-bound. That means that we have a chunk of about 20-50ms where we can
safely schedule thread-safe IO work during early startup, so if we schedule
some of our current synchronous IO operations on background threads during the
script cache setup, we basically get them for free, and can probably increase
the number of scripts we compile in the background.

- I went with an uncompressed mmap of the raw XDR data for a storage format.
That currently occupies about 5MB of disk space. Gzipped, it's ~1.2MB, so
compressing it might save some startup disk IO, but keeping it uncompressed
simplifies a lot of the OMT and even main thread decoding process, but, more
importantly:

- We currently don't use the startup cache in content processes, for a variety
of reasons. However, with this approach, I think we can safely store the
cached script data from a content process before we load any untrusted code
into it, and then share mmapped startup cache data between all content
processes. That should speed up content process startup *a lot*, and very
likely save memory, too. And:

- If we're especially concerned about saving per-process memory, and we keep
the cache data mapped for the lifetime of the JS runtime, I think that with
some effort we can probably share the static string data from scripts between
content processes, without any copying. Right now, it looks like for the main
process, there's about 1.5MB of string-ish data in the XDR dumps. It's
probably less for content processes, but if we could save .5MB per process
this way, it might make it easier to increase the number of content processes
we allow.

MozReview-Commit-ID: CVJahyNktKB

--HG--
extra : rebase_source : 2ec24c8b0000f9187a9bf4a096ee8d93403d7ab2
extra : absorb_source : bb9d799d664a03941447a294ac43c54f334ef6f5
2017-05-05 16:15:04 -07:00
André Bargull 11bb19e7da Bug 1359294 - Remove toLocaleLowerCase/toLocaleUpperCase callbacks in XPCLocale. r=Waldo
--HG--
extra : rebase_source : 711d5bfc896a48f63b6c825823ba5aef5c93413c
extra : histedit_source : 7a34417565cf6151c39d7c68c776505142098f24
2017-05-03 09:55:06 -07:00
Nathan Froyd 3261352ea3 Bug 1361514 - convert XPCLocaleObserver to NS_DECL_OWNINGTHREAD; r=gabor
The pattern we're using here has a name, so let's use that instead.
2017-05-03 11:48:54 -04:00
Sebastian Hengst f4f104e7e0 merge mozilla-central to autoland. r=merge a=merge 2017-04-29 11:11:48 +02:00
Andrew Swan f38ced1fc9 Bug 1354682 Add transform to XPCOMUtils.defineLazyPreferenceGetter r=kmag
MozReview-Commit-ID: Lm59IHMNcy9

--HG--
extra : rebase_source : 3250d759b1b9909bcc7564139a3d7066d8376b60
2017-04-28 22:39:13 -07:00
Phil Ringnalda f8d5e6ddf9 Backed out 3 changesets (bug 1354682) for sessionstore browser-chrome bustage
CLOSED TREE

Backed out changeset 55405fd328f9 (bug 1354682)
Backed out changeset 56b8122e64a3 (bug 1354682)
Backed out changeset 9374009a95e5 (bug 1354682)

MozReview-Commit-ID: BNVhwID8NwD
2017-04-28 20:24:34 -07:00
Andrew Swan 46e486f880 Bug 1354682 Add transform to XPCOMUtils.defineLazyPreferenceGetter r=kmag
MozReview-Commit-ID: Lm59IHMNcy9

--HG--
extra : rebase_source : 796d9b0b7a6bf94782ebeeaf35d237176687c0ac
2017-04-28 16:10:44 -07:00
Jan de Mooij f480e9ecdf Bug 1237504 - Refactor proxy slot layout to allow proxies to have more than 2 slots. r=bz,jonco
The patch makes the following proxy changes:

* The number of slots in ProxyValueArray is now dynamic and depends on the number of reserved slots we get from the Class.
* "Extra slots" was renamed to "Reserved slots" to make this clearer.
* All proxy Classes now have 2 reserved slots, but it should be easy to change that for proxy Classes that need more than 2 slots.
* Proxies now store a pointer to these slots and this means GetReservedSlot and SetReservedSlot can be used on proxies as well. We no longer need GetReservedOrProxyPrivateSlot and SetReservedOrProxyPrivateSlot.

And some changes to make DOM Proxies work with this:

* We now store the C++ object in the first reserved slot (DOM_OBJECT_SLOT) instead of in the proxy's private slot. This is pretty nice because it matches what we do for non-proxy DOM objects.
* We now store the expando in the proxy's private slot so I removed GetDOMProxyExpandoSlot and changed the IC code to get the expando from the private slot instead.
2017-04-28 14:12:28 +02:00
Bill McCloskey 9862d9c932 Bug 1359245 - Remove some tracing callbacks at shutdown (r=mccr8)
When we just had CycleCollectedJSContext (and no CycleCollectedJSRuntime) a
weird thing happened at shutdown:
1. We would call JS_DestroyContext from ~CycleCollectedJSContext. By that time,
   the ~XPCJSContext destructor had already finished.
2. Destroying the context runs a final GC. That GC would call back into various
   GC callbacks, such as TraceBlackJS and TraceGrayJS.
3. These callbacks would do a virtual method call:
   http://searchfox.org/mozilla-central/rev/876c7dd30586f9c6f9c99ef7444f2d73c7acfe7c/xpcom/base/CycleCollectedJSRuntime.cpp#791
4. Normally this method call would call into
   XPCContext::TraceNativeBlackRoots. However, C++ changes the vtable for an
   object during destruction. So we would only call CycleCollectedJSContext's
   version of TraceNativeBlackRoots, which is empty. So we never traced anything.

When I moved this code into the runtime, we actually do call into
XPCJSRuntime::TraceNativeBlackRoots at that time. So the behavior changed, and
that was causing crashes once I nulled out the TLS as you asked. So I removed
these callbacks for the last GC.

MozReview-Commit-ID: 3do13bjpwQj
2017-04-27 15:34:46 -07:00
Bill McCloskey 1d5c5ef48b Bug 1359245 - Keep a linked list of CycleCollectedJSContexts in the runtime (r=mccr8)
This patch keeps a list of all the cooperatively scheduled contexts that are
linked to a runtime. In places where we need to iterate over all contexts (for
GC, specifically), it iterates over the list.

MozReview-Commit-ID: 3pKJX78f2l0
2017-04-27 15:34:46 -07:00
Bill McCloskey 267ad1f2b0 Bug 1359245 - Initial support for cooperative contexts (r=mccr8)
This patch adds initial support for cooperatively scheduled
CycleCollectedJSContexts.

MozReview-Commit-ID: 5pfPubHUanL
2017-04-27 15:34:46 -07:00
Bill McCloskey 11b1f07146 Bug 1359245 - Get rid of CycleCollectedJSRuntime::MainContext (r=mccr8)
This is another method that assumes one context per runtime. This patch
eliminates the method.

MozReview-Commit-ID: JHcQ1nyiHSP
2017-04-27 15:34:46 -07:00
Bill McCloskey 1e5747d0b4 Bug 1359245 - Eliminate nsXPConnect::mContext (r=mccr8)
This field assumes there is one XPCJSContext globally (i.e., per nsXPConnect
instance). This patch eliminates the field by using different paths to
reach the context.

MozReview-Commit-ID: FjR6cTZ5QfZ
2017-04-27 15:34:46 -07:00
Bill McCloskey 133ed14a85 Bug 1359245 - Eliminate some XPCJSContext::Get() usage (r=mccr8)
XPCJSContext::Get() now does a TLS lookup, which is a little more expensive
than looking up a global variable. This patch removes as many of the TLS
lookups as possible.

MozReview-Commit-ID: GsqzJn55Lya
2017-04-27 15:34:46 -07:00
Bill McCloskey 3e774f9f8a Bug 1359245 - Eliminate nsXPConnect::GetContextInstance() (r=mccr8)
This method assumes there is one global XPCJSContext. This patch eliminates
uses of it.

MozReview-Commit-ID: L2AkBGh5TnC
2017-04-27 15:34:46 -07:00
Bill McCloskey 51147a69b6 Bug 1359245 - Use TLS to return XPCJSContext::Get() (r=mccr8)
Once we have multiple XPCJSContext's, we may have to figure out which one we're
using with TLS. A later patch tries to remove as many of these TLS lookups
as possible so that performance doesn't suffer.

MozReview-Commit-ID: 50uHpDLZmUH
2017-04-27 15:34:46 -07:00
Wes Kocher c90904f9bf Merge inbound to central, a=merge CLOSED TREE
MozReview-Commit-ID: 9HQViJrDT6S
2017-04-26 17:30:31 -07:00
Tom Tromey 3e96a70858 Bug 1334278 - have FormatStackDump return UniqueChars; r=froydnj
Change FormatStackDump to return UniqueChars and fix up the users.  This
removes a bit more manual memory management.

MozReview-Commit-ID: 60GBgeS4rzg

--HG--
extra : rebase_source : 15060321f567816ca434cdf1ef816d8322ceefff
2017-04-21 12:47:06 -06:00
Jon Coppeard eb3c9870bf Bug 1352430 - Add barrier to wrapper cache to clear dying objects that have not yet been finalized r=bz r=sfink
* * *
Code review followup

--HG--
extra : rebase_source : 10c1fd603c2dd1ac2ff5770ae9aec2e9131681ce
2017-04-26 11:18:39 +01:00
Jon Coppeard f67bc06071 Bug 1352430 - Update XPConnect sweeping to handle incrementally finalized objects r=mccr8 r=sfink
--HG--
extra : rebase_source : 10c974bedd003cf23de9e32ad7ae202441c92db9
2017-04-26 11:18:13 +01:00
Jon Coppeard 8c75ba5bbb Bug 1352430 - Update the GC finalize callback to communicate the new state r=sfink r=mccr8
--HG--
extra : rebase_source : ebd661eee50bbf48f21c12e6a1c6df9015f81beb
2017-04-26 10:57:08 +01:00
Carsten "Tomcat" Book 68e9a2dfd5 Merge mozilla-central to mozilla-inbound 2017-04-26 09:04:59 +02:00
Nicholas Nethercote bc1d6a21a2 Bug 1358320 - Make TimeStamp::ProcessCreation()'s outparam optional. r=gsvelto.
TimeStamp::ProcessCreations()'s aIsInconsistent outparam is ignored by the
majority of its caller. This patch makes it optional. Notably, this makes
ProcessCreation() easier to use in a constructor's initializer list.
2017-04-26 14:55:54 +10:00
Wes Kocher 5e8bdb175d Merge inbound to m-c a=merge
MozReview-Commit-ID: A85cs7Yriqj
2017-04-25 13:53:00 -07:00
Jon Coppeard d7e0c83dcc Bug 1359001 - Make AutoAssertGCCallback a no-op in opt builds r=sfink 2017-04-25 10:56:34 +01:00
Aryeh Gregor af57d2df0f Bug 1251198 - Remove various obsolete events from document.createEvent r=smaug
Other browsers do not support any of these (IIRC), telemetry reports
essentially zero usage, and supporting them is contrary to the DOM spec.

Notes on specific events:

CommandEvent and SimpleGestureEvent: These are not supposed to be
web-exposed APIs, so I hid the interfaces from web content too
(necessary to avoid test_all_synthetic_events.html failures).

DataContainerEvent: This was a non-standard substitute for CustomEvent
that seemed to have only one user, so I removed it entirely and switched
the user (MozillaFileLogger.js) to CustomEvent.

ScrollAreaEvent: This is entirely non-standard, but we apparently expose
it deliberately to web content, so I didn't see any reason to remove it
from createEvent.

SimpleGestureEvent and XULCommandEvent: Can still be created from
createEvent(), but not by content.

TimeEvent: This is still in because it has no constructor, so there's no
other way to create it.  Ideally we'd update the SMIL spec to add a
constructor.  I did remove TimeEvents.

MozReview-Commit-ID: 7Yi2oCl9SM2

--HG--
extra : rebase_source : 199ab921acfc531b8b85e77f90fcd799b03c887b
2017-04-20 15:45:37 +03:00
Tom Tromey bcbdcb14bb Bug 1334278 - change JS_smprintf to return UniqueChars; r=froydnj
This changes JS_smprintf to return UniqueChars, rather than relying on
manual memory management.

MozReview-Commit-ID: ENjQJODYdD1

--HG--
extra : rebase_source : 4c8ad4719dce205a7ef25e41eca25c5af793bb47
2017-03-03 15:10:11 -07:00
Jan de Mooij 113e7692b5 Bug 1358047 - Move Baseline CacheIR code map from JitCompartment to JitZone. r=djvj 2017-04-24 12:41:04 +02:00
Wes Kocher d973551173 Merge inbound to central, a=merge
MozReview-Commit-ID: FHfhKIIlItM
2017-04-21 17:30:43 -07:00
Zibi Braniecki 61ac53ebb8 Bug 1358543 - Only set new locale callbacks in xpc_LocalizeContext if they're not set. r=smaug
With changes introduced in bug 1356066 I made the xpc_LocalizeContext be
called on each app locale change to update the default locale in each context.

Unfortunately, this function is also assigning the locale callbacks and
with my change it started doing it on each language change.

In this patch I'm first checking if we do have XPCLocaleCallbacks for the
given context and only if we don't, I assign them.

MozReview-Commit-ID: 7AiCsJfKBID

--HG--
extra : rebase_source : 1efe65895759ffc07e0047d063a405d757cb1092
2017-04-21 09:49:42 -07:00
Hannes Verschore e8f7043d0b Bug 1319746: Add a memory reporter for CFGGraph on BaselineScript, r=njn 2017-04-21 19:37:06 +02:00
Hannes Verschore 31296801c2 Bug 1334409 - TraceLogging: Add memory reporter for TraceLogging, r=njn 2017-04-21 19:37:04 +02:00
Cervantes Yu cc5836fbae Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
NS_SetCurrentThreadName() is added as an alternative to PR_SetCurrentThreadName()
inside libxul. The thread names are collected in the form of crash annotation to
be processed on socorro.

MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Chris Peterson eea325c79d Bug 1356843 - Fix -Wcomma warnings in js/. r=jorendorff
clang's -Wcomma warning warns about suspicious use of the comma operator such as between two statements or to call a function for side effects within an expression.

js/src/builtin/MapObject.cpp:786:48 [-Wcomma] possible misuse of comma operator here
js/src/builtin/MapObject.cpp:1371:48 [-Wcomma] possible misuse of comma operator here
js/src/builtin/RegExp.cpp:1266:62 [-Wcomma] possible misuse of comma operator here
js/src/jit/x64/BaseAssembler-x64.h:624:99 [-Wcomma] possible misuse of comma operator here
js/src/jsarray.cpp:2416:27 [-Wcomma] possible misuse of comma operator here
js/src/jscompartment.cpp:120:48 [-Wcomma] possible misuse of comma operator here
js/src/jsstr.cpp:3346:14 [-Wcomma] possible misuse of comma operator here
js/xpconnect/src/XPCWrappedNativeJSOps.cpp:316:71 [-Wcomma] possible misuse of comma operator here

MozReview-Commit-ID: BbT4otUXczV

--HG--
extra : rebase_source : b232d10b5280c567f8fe390fcb56012b78da580a
2017-04-09 21:15:01 -07:00
Wes Kocher cb8ce82cca Merge inbound to m-c a=merge 2017-04-19 17:10:04 -07:00
Kris Maglione 32d79e3539 Bug 1356810: Follow-up: Fix xpcshell test for async subscript return value.
MozReview-Commit-ID: 2lgw8KzvjBT

--HG--
extra : rebase_source : db0dfd6eaf3dc32f56b25ba319dd797ec1b7b06a
2017-04-19 12:07:52 -07:00
Andrew McCreight 30fb73cef2 Bug 1357828 - Remove B2G-specific code from mozJSComponentLoader::ReallyInit(). r=mrbkap
MozReview-Commit-ID: I0h6Y9VQETJ

--HG--
extra : rebase_source : 87b885ae6eff09b5a7b6b5d1ad5e36d433814bba
2017-04-19 10:33:04 -07:00
Kris Maglione fe513a5fbc Bug 1356810: Use noScriptRval option by default for loadSubScript. r=billm
MozReview-Commit-ID: 50QVvrG4lzV

--HG--
extra : rebase_source : 357d4a4fb03e96efb74de2c5669d4da40ffa618e
2017-04-15 09:32:34 -07:00
Eric Rahm d96cdc6174 Bug 1357585 - Stop inheriting from PRCList in XPCWrappedNativeScope. r=bholley
XPCWrappedNativeScope inherits from PRCList, but is never used in a PRCList.

MozReview-Commit-ID: CGqxwHEleFx
2017-04-19 11:14:49 -07:00
Carsten "Tomcat" Book e2b810f97e Merge mozilla-central to mozilla-inbound 2017-04-19 10:49:57 +02:00
Zibi Braniecki abdb6cbf08 Bug 1356066 - JS_SetDefaultLocale should be updated on intl:app-locales-changed. r=shu,smaug
MozReview-Commit-ID: wDftiQLfax

--HG--
extra : rebase_source : 6080b5aa72bac7712e0a62275c260731aee7db00
2017-04-17 17:41:52 -07:00
Carsten "Tomcat" Book bb87f43c09 merge mozilla-inbound to mozilla-central a=merge 2017-04-18 10:21:31 +02:00
Luke Wagner c39bb259da Bug 1356631 - Change LargeAllocationCallback to be process-wide (r=mccr8)
This is necessary to allow helper threads to attempt large allocations and recover from fragmentation situations with the LargeAllocationFailureCallback.

MozReview-Commit-ID: AyA3pbXcaYy

--HG--
extra : rebase_source : 7a5feb779b690ec7f123481e76f2390c850dac91
2017-04-17 21:19:54 -05:00
Sebastian Hengst 8bd051237a merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: JpAhOPjgvkF
2017-04-15 19:59:24 +02:00
Florian Queze 4c6a68d1c9 Bug 1355161 - script-generated patch to replace .{currentThread,mainThread}.dispatch(..., Ci.nsIThread.DISPATCH_NORMAL) with .dispatchToMainThread(...), r=froydnj. 2017-04-14 18:29:12 +02:00
Andrew McCreight 39d3aedd82 Bug 1356666, part 4 - Use handles as arguments in mozJSSubscriptLoader. r=mrbkap
MozReview-Commit-ID: 9fClU6BIWfT

--HG--
extra : rebase_source : 0f255542a13fd1fdad3a950892694bc8684c0ac0
2017-04-14 14:38:51 -07:00
Andrew McCreight f5c9d2bf30 Bug 1356666, part 3 - Mark some functions in mozJSSubscriptLoader static. r=mrbkap
MozReview-Commit-ID: 7JsyR6B84Gz

--HG--
extra : rebase_source : 05aecd963e0d5e997613306cfc0ea158b68a0902
2017-04-14 14:33:17 -07:00
Andrew McCreight adaea5fbec Bug 1356666, part 2 - Fix some style issues in mozJSSubScriptLoader. r=mrbkap
mSystemPrincipal is an nsCOMPtr so it does not need to be explicitly
initialized.

Fields don't have to be lined up.

Empty function bodies don't need to be commented as such.

The blank line at the start of mozJSComponentLoader.cpp prevents Emacs
from using the mode line.

MozReview-Commit-ID: 7Az1x8jmxTI

--HG--
extra : rebase_source : 2d818074d82f9a6b1041983efd7a81bde9870619
2017-04-14 14:13:19 -07:00
Andrew McCreight ec4172c47a Bug 1356666, part 1 - Rename target_obj to targetObj in mozJSSubscriptLoader. r=mrbkap
MozReview-Commit-ID: 89WugjhzPLk

--HG--
extra : rebase_source : 0cdfc9702bed43e5712096082ca9daba755834b3
2017-04-14 14:10:40 -07:00
Andrew McCreight 7125a27450 Bug 1356799, part 4 - Remove unused argument to ReadScript. r=mrbkap
MozReview-Commit-ID: I5Jf0Fan7VN

--HG--
extra : rebase_source : d0818725171c7d020dc4226282d053ac43565abe
2017-04-14 16:43:08 -07:00
Andrew McCreight fcd6a8a00e Bug 1356799, part 3 - Handlify the target argument to ReadScript{,Async}. r=mrbkap
MozReview-Commit-ID: GOodGQ647qI

--HG--
extra : rebase_source : ab53decffb8193837223e01b205bae9d94cc17bb
2017-04-14 16:35:34 -07:00
Andrew McCreight ad47781af1 Bug 1356799, part 2 - Don't use JS:: for handle types in subscript loader. r=mrbkap
Also, be consistent with the rest of the code and use a handle
typedef in one place.

MozReview-Commit-ID: KY3cnLemoUl

--HG--
extra : rebase_source : 4c3ae2750c868b5401a686dd164adbd04b45a0b5
2017-04-15 06:47:07 -07:00
Andrew McCreight b38f79c2ac Bug 1356799, part 1 - Use one line per arg for methods with many args in subscript loader. r=mrbkap
MozReview-Commit-ID: BPZp6I0LSBH

--HG--
extra : rebase_source : 635c21fdb76a6fc78f41348a01c95d4428262e9d
2017-04-15 06:44:35 -07:00
Bill McCloskey 207af130a2 Bug 1343396 - Split CycledCollectedJSContext and XPCJSContext into separate context and runtime classes (r=mccr8)
To run JS in separate cooperative threads, we need to split up per-thread state
from per-runtime state. This patch does that for XPConnect.

MozReview-Commit-ID: 407SlJ7nR6v
2017-04-18 17:01:04 -07:00
Dan Banner cdf987089d Bug 1107904 - Remove packed.js and references to it as it is unused. r=standard8
MozReview-Commit-ID: K5TLF92pHq4

--HG--
extra : rebase_source : 295bf325a07fa8ec4c55a8babf5418588308dca6
2017-04-12 11:10:00 +01:00
Andrew McCreight fe0bcc3a40 Bug 1338272 - Require that the return value of MaybeSetPendingException is used. r=bz
Most of the time, the return value of this method should be checked,
because behavior should depend on whether or not an exception is
thrown. However, if it is called immediately after a throw it doesn't
need to be checked because it will always return true. bz said there
is no public API that lets you assume there is an exception because it
would be "too easy to misuse".

MozReview-Commit-ID: CqyicBbcNjW

--HG--
extra : rebase_source : a5b74ba88a927a90d491ceb8f0b750a67f62b0f4
2017-02-14 16:17:02 -08:00
Kris Maglione d1ada5659d Bug 1353150: Add tests for chrome Xray named element property access. r=bz
MozReview-Commit-ID: 3Wyr8mkgE2c
2017-04-06 21:32:47 -07:00
Bill McCloskey 172e502215 Revert "Bug 1340719 - Throw an exception if accessing Xray from wrong docgroup (r=bholley)"
This reverts commit ff10f4faedd42f13ed2899cf4ea05c47411aba95.
2017-04-07 14:23:06 -07:00
Jan de Mooij 546f01e711 Bug 1353758 - Move the external string cache into the JS engine and improve it. r=arai,bz
--HG--
extra : rebase_source : 6d57d70a837bbb284a2db889df34b886ae398a3f
2017-04-07 10:40:29 +02:00
Carsten "Tomcat" Book 207b516e89 merge mozilla-inbound to mozilla-central a=merge 2017-04-06 12:50:50 +02:00
Andrew McCreight 1b37fc293a Bug 1353580 - Remove support for !HAVE_PR_MEMMAP in mozJSComponentLoader. r=mrbkap
This was only ever used for BeOS and OS2, which have likely long ago
stopped working for other reasons.

MozReview-Commit-ID: AT1jNEB1ydY

--HG--
extra : rebase_source : 8ab13e574c57f0ea96158af86e01ea8f22f6bff7
2017-04-04 16:53:56 -07:00
Bill McCloskey 27169c8483 Bug 1353565 - Label snow white killer as SystemGroup (r=mccr8)
MozReview-Commit-ID: Hta7RGdZgNJ
2017-04-05 13:29:34 -07:00
Bill McCloskey fcdb251c4b Bug 1340719 - Throw an exception if accessing Xray from wrong docgroup (r=bholley)
MozReview-Commit-ID: BBrRsk3KvGb
2017-04-05 13:26:20 -07:00
Florian Queze 37ff4fc7cc Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws. 2017-04-14 21:51:38 +02:00
Sebastian Hengst 159215e6f4 Backed out changeset 18d45aa984d6 (bug 1355161) 2017-04-14 23:39:23 +02:00
Sebastian Hengst a07223d699 Backed out changeset 322fde2d53bf (bug 1356569) so bug 1355161 can be backed out. r=backout 2017-04-14 23:39:22 +02:00
Florian Queze 95d4d20c17 Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws. 2017-04-14 21:51:38 +02:00
Florian Queze a363fb8c8b Bug 1355161 - script-generated patch to replace .{currentThread,mainThread}.dispatch(..., Ci.nsIThread.DISPATCH_NORMAL) with .dispatchToMainThread(...), r=froydnj. 2017-04-14 18:29:12 +02:00
David Teller 1d9102358f Bug 1305950 - Extend XPCOMUtils.defineLazyPreferenceGetter to be informed upon preference change. r=billm
This is a pretty common use case of preferences.

MozReview-Commit-ID: 7tkdylPZxpY

--HG--
extra : transplant_source : %86%21%C1oXw%07%BB%C6.%CE%C5S%B6%E0%26%8Be%9A%E1
extra : histedit_source : 072f778d7959fa8c0f5838077116b7b9d87c5157
2016-09-28 16:33:20 +02:00
Tooru Fujisawa 61524c3df7 Bug 1352323 - Add JS_NewMaybeExternalString function that creates either an external string or returns a static string. r=jandem 2017-04-04 15:45:49 +09:00
Eric Rahm 572d67e180 Bug 1351831 - Build more xpconnect code in unified sources. r=bholley
These files were being excluding because we thought they used plarena.h, but it
turns out they did not. A few tweaks needed to be made to clarify whether we
wanted to use mozilla::UniquePtr or js::UniquePtr.

MozReview-Commit-ID: 1su5dO3rR0T
2017-03-31 15:21:27 -07:00
Ryan VanderMeulen 75e7e911b8 Backed out changeset 42ea3fb4b694 (bug 1351831) for Windows bustage. 2017-03-31 14:58:03 -04:00
Eric Rahm 9afbcd5a22 Bug 1351831 - Build more xpconnect code in unified sources. r=bholley
These files were being excluding because we thought they used plarena.h, but it
turns out they did not. A few tweaks needed to be made to clarify whether we
wanted to use mozilla::UniquePtr or js::UniquePtr.

MozReview-Commit-ID: 1su5dO3rR0T
2017-03-31 11:00:11 -07:00
Phil Ringnalda 4cb08c4110 Backed out 2 changesets (bug 1351831, bug 1351820) for Windows build bustage
CLOSED TREE

Backed out changeset 91c2f1592df1 (bug 1351831)
Backed out changeset f825bdbb2ece (bug 1351820)
2017-03-30 19:21:06 -07:00
Eric Rahm 02c3c2e880 Bug 1351831 - Build more xpconnect code in unified sources. r=bholley
These files were being excluding because we thought they used plarena.h, but it
turns out they did not. A few tweaks needed to be made to clarify whether we
wanted to use mozilla::UniquePtr or js::UniquePtr.

MozReview-Commit-ID: 1su5dO3rR0T
2017-03-30 18:32:18 -07:00
Christoph Diehl 5fb70d9869 Bug 1351708 - Fix Preferences::UnregisterCallback typo for fuzzing.enabled. r=froydnj
--HG--
extra : rebase_source : 29ed27d7019c08df775c48b116dffee7e6468af4
2017-03-29 08:20:00 -04:00
Jon Coppeard 0c82b7b16d Bug 1322539 - Call ExposeObjectToActiveJS on the targets of xray wrappers r=sfink 2017-03-29 10:53:12 +01:00
Tooru Fujisawa 76239ccf41 Bug 1331092 - Part 12: Disable Async Iteration in chrome or add-ons code. r=shu 2017-03-29 17:15:13 +09:00
Makoto Kato d0560ad81c Bug 943283 - Use NS_CopyNativeToUnicode instead of nsIUnicodeDecoder. r=jfkthame
By bug 1346674, we don't use NSILOCALE_* for unicode conversion in XPC/JS.  So we should use NS_CopyNativeToUnicode to get a rid of nsIPlatformCharset.

MozReview-Commit-ID: Kp2jijN8On9
2017-03-28 18:07:36 +09:00
Jon Coppeard 973692b373 Bug 1345177 - Make RegExpShared a GC thing r=sfink 2017-03-27 10:38:29 +01:00
Boris Zbarsky 491fa25872 Bug 1218437. Need to check that the value is an object before we try to UNWRAP_OBJECT it to check whether it's an Exception. r=qdot
MozReview-Commit-ID: 8lwCoilRz49
2017-03-27 14:50:41 -04:00
Jon Coppeard 1376c2700e Backed out changesets e66f564d9749 and 0380d914ad39 (bug 1345177) for rooting hazards 2017-03-27 11:09:54 +01:00
Jon Coppeard f7a6438226 Bug 1345177 - Make RegExpShared a GC thing r=sfink 2017-03-27 10:38:29 +01:00
Kris Maglione 9accf0b687 Bug 1349989: Correctly handle errors for OMT-compiled scripts. r=shu
MozReview-Commit-ID: 3FpoUmu9ijI

--HG--
extra : rebase_source : 666fb25c1a36b14f28bd61f0622143b063b3759e
2017-03-23 22:13:07 -07:00
Boris Zbarsky e786ca31c0 Bug 1348095 part 3. Cache the proto of an Xray on its holder, so we don't have to keep re-wrapping it. r=bholley
MozReview-Commit-ID: I78AoSB3TNW
2017-03-23 03:06:25 -04:00
Boris Zbarsky e2c99615af Bug 1348095 part 2. Give all the Xray holders a JSClass that has a slot for caching a prototype. r=bholley
MozReview-Commit-ID: ID9vMG3iJfZ
2017-03-23 03:06:25 -04:00
Boris Zbarsky ab35f8679e Bug 1348095 part 1. Remove the unused reserved slots from the XPCWN xray holder. r=bholley
MozReview-Commit-ID: 5IRrE8EmL9A
2017-03-23 03:06:25 -04:00
Carsten "Tomcat" Book 9b6d088496 merge autoland to mozilla-central a=merge
--HG--
rename : browser/components/preferences/in-content/tests/browser_advanced_siteData.js => browser/components/preferences/in-content-old/tests/browser_advanced_siteData.js
rename : dom/media/mediasink/DecodedAudioDataSink.cpp => dom/media/mediasink/AudioSink.cpp
2017-03-23 13:42:40 +01:00
Jon Coppeard e4d62401f0 Bug 1341044 - Rename the GC's 'zone group' concept to 'sweep group' r=sfink 2017-03-22 17:30:50 +00:00
Andrea Marchesini 1fd1bc3935 Bug 1343933 - Renaming Principal classes - part 2 - NullPrincipal, r=qdot
--HG--
rename : caps/nsNullPrincipal.cpp => caps/NullPrincipal.cpp
rename : caps/nsNullPrincipal.h => caps/NullPrincipal.h
rename : caps/nsNullPrincipalURI.cpp => caps/NullPrincipalURI.cpp
rename : caps/nsNullPrincipalURI.h => caps/NullPrincipalURI.h
2017-03-22 11:38:40 +01:00
Andrea Marchesini 68207654f2 Bug 1343933 - Renaming Principal classes - part 1 - ExpandedPrincipal, r=qdot
--HG--
rename : caps/nsExpandedPrincipal.cpp => caps/ExpandedPrincipal.cpp
rename : caps/nsExpandedPrincipal.h => caps/ExpandedPrincipal.h
2017-03-22 11:38:17 +01:00
Boris Zbarsky ec233151ac Bug 1348331 part 2. Switch Preferences::RegisterCallback/RegisterCallbackAndCall consumers that want prefix matches to the new RefisterPrefixCallback(AndCall) APIs. r=froydnj,padenot
MozReview-Commit-ID: 2ebVZO4fN6i
2017-03-21 14:59:02 -04:00
Zibi Braniecki f2ed37fd2f Bug 1349470 - Use OS locale for unicode conversions for Date.toLocaleFormat. r=m_kato
MozReview-Commit-ID: KGYGRqtHOvJ

--HG--
extra : rebase_source : 307b778792a1e21e7e270a3932104049eac1b213
2017-03-22 09:10:18 -07:00
Kris Maglione 31f241c6ca Bug 1333990: Follow-up: Return before wrapping result value on error. r=bz
MozReview-Commit-ID: AwGVr3gjzd0

--HG--
extra : rebase_source : 4987a60520941665b9fc6c0242d7f34ce43a060b
2017-03-17 14:34:55 -07:00
Kris Maglione b3d00ca35b Bug 1333990: Follow-up: Use safer conversion functions when creating error message JS strings. r=bz
MozReview-Commit-ID: FimoWFIgUxL

--HG--
extra : rebase_source : 7b9193ac1c12dc96b269ee3dea167edc4051669f
2017-03-17 16:53:04 -07:00
Kris Maglione f446374619 Bug 1333990: Follow-up: Add cycle collection and comments where unnecessary. r=bz
MozReview-Commit-ID: 70omvafFFFH

--HG--
extra : rebase_source : 4815476110a4eaf071241c3d98fc579c4d3f6dd5
2017-03-17 13:54:32 -07:00
Carsten "Tomcat" Book 3e0a5441c6 Merge mozilla-central to mozilla-inbound 2017-03-17 14:55:15 +01:00
Kris Maglione aaaea39c13 Bug 1333990: Part 1b - Add tests for script precompiler. r=shu
MozReview-Commit-ID: DVFFdyzY6Kn

--HG--
extra : rebase_source : d41324f18ee2c13e98f94ecec3af73e67da873ea
2017-03-16 16:55:59 -07:00
Kris Maglione 437f4e37d4 Bug 1333990: Part 1a - Add an async script pre-loading utility. r=billm,shu
MozReview-Commit-ID: 4vJF2drLeHS

--HG--
extra : rebase_source : 8adaa22d6d91ac6ef1804cf4c8d5698cf304b141
2017-03-16 19:10:40 -07:00
Boris Zbarsky c63be1e971 Bug 1347706. Update to spec change for [[SetPrototypeOf]] on cross-origin objects. It should return true if null is passed. r=bholley
MozReview-Commit-ID: 42je5yfBRee
2017-03-16 17:43:49 -04:00
Makoto Kato 20cb071f24 Bug 1347431 - Skip some xpcshell tests that is failure on Android without ENABLE_INTL_API. r=snorp
Sicne some tests doesn't work with --with-intl-api=no, we should skip it on Android

MozReview-Commit-ID: IjlH3aQdiqb

--HG--
extra : rebase_source : ac6d91bf291f6268ea29bcb29180b2f5197e012c
2017-03-16 12:54:25 +09:00
Blake Kaplan 18b64f8d42 Bug 1208957 - No need for a condvar for thread shutdown. r=billm
Now that we join on the thread exiting, we no longer need to have the thread
explicitly tell us it's shutting down.

MozReview-Commit-ID: LycPjUvyeX

--HG--
extra : rebase_source : 7b3d21c3d8de73a1ed511c7d6efefe2a73b2e02a
2017-03-14 23:36:02 -07:00
Blake Kaplan 9f2cfeccc4 Bug 1208957 - Join the watchdog thread to avoid shutdown races. r=billm
MozReview-Commit-ID: FlnPO2fJWVu

--HG--
extra : rebase_source : f7465994db184b21b4e0159c1b4ca3509c071f5b
2017-03-14 23:27:21 -07:00
Nicholas Nethercote 8876b32323 Bug 1345262 (part 5) - Fix how JS sampling is started/stopped by the profiler. r=mstange,djvj.
Currently, JS sampling has major problems.

- JS sampling is enabled for all JS threads from the thread that runs
  locked_profiler_start() -- currently only the main thread -- but the JS
  engine can't handle enabling from off-thread, and asserts. This makes
  profiling workers impossible in a debug build.

- No JS thread will be JS sampled unless enableJSSampling() is called, but that
  only happens in locked_profiler_start(). That means any worker threads
  created while the profiler is active won't be JS sampled.

- Only the thread that runs locked_profiler_stop() -- currently only the main
  thread -- ever calls disableJSSampling(). This means that worker threads that
  start being JS sampled never stop being JS sampled.

This patch fixes these three problems in the following ways.

- locked_profiler_start() now sets a flag in PseudoStack that indicates
  JS sampling is desired, but doesn't directly enable it. Instead, the JS
  thread polls that flag and enables JS sampling itself when it sees the flag
  is set. The polling is done by the interrupt callback. There was already a
  flag of this sort (mJSSampling) but the new one is better.

  This required adding a call to profiler_js_operation_callback() to the
  InterruptCallback() in XPCJSContext.cpp. (In comparison, the
  InterruptCallback() in dom/workers/RuntimeService.cpp already had such a
  call.)

- RegisterCurrentThread() now requests JS sampling of a JS thread when the
  profiler is active, the thread is being profiled, and JS sampling is enabled.

- locked_profiler_stop() now calls stopJSSampling() on all live threads.

The patch makes the following smaller changes as well.

- Renames profiler_js_operation_callback() as profiler_js_interrupt_callback(),
  because "interrupt callback" is the standard name (viz.
  JS_AddInterruptCallback()).

- Calls js::RegisterContextProfilingEventMarker() with nullptr when stopping
  JS sampling, so that ProfilerJSEventMarker won't fire unnecessarily.

- Some minor formatting changes.

--HG--
extra : rebase_source : 372f94c963a9e5b2493389892499b1ca205ebc2f
2017-03-10 09:04:23 +11:00
Nicholas Nethercote d8023679e3 Bug 1345262 (part 2) - Add profiler_{set,clear}_js_context(). r=mstange.
PseudoContext::sampleContext() is always called immediately after
profiler_get_pseudo_stack(). This patch introduces profiler_set_js_context()
and profiler_clear_js_context(), which replace the profiler_get_pseudo_stack()
+ sampleContext() pairs. This takes us a step closer to not having to export
PseudoStack outside the profiler.

--HG--
extra : rebase_source : 8558d1600eafd395cc696d31f3d21fb52a1a74b0
2017-03-09 17:06:35 +11:00
Geoff Brown 6eac32a3c5 Bug 1338809 - Build android xpcshell as position independent executable; r=glandium
This allows xpcshell-test to be run on Android 5.0 and greater at the
expense of Android 4.0: Run xpcshell on Android 4.1 and above.
2017-03-14 08:08:43 -06:00
Carsten "Tomcat" Book dba578960e merge mozilla-inbound to mozilla-central a=merge 2017-03-14 14:23:03 +01:00
Chih-Yi Leu ec60526d60 Bug 1315037 - Use NS_ENSURE_SUCCESS for nsresult diagnosis. r=erahm 2017-03-13 02:14:00 +01:00
Zibi Braniecki f096c9aab9 Bug 1346674 - Migrate all uses of nsILocaleService::GetApplicationLocale to mozILocaleService::GetAppLocale. r=jfkthame
MozReview-Commit-ID: 2E7mj3yQnxB

--HG--
extra : rebase_source : 97ba5b1738b2f116ec75830ed1b23f279680035e
2017-03-12 20:39:22 -07:00
Andrew McCreight 634490d4bf Bug 1344527 - Give up in ReadScriptAsync if we can't create a promise. r=bholley
MozReview-Commit-ID: Hq4vJZmfDpc

--HG--
extra : rebase_source : f3544bfc559aee379f66972ce97764354b6aa658
2017-03-09 09:24:28 -08:00
Christian Holler 1965d4b2e1 Bug 1345906 - Add ReloadPrefsCallback for fuzzing.enabled pref. r=jandem
MozReview-Commit-ID: 5lNyaebmt1h

--HG--
extra : rebase_source : 331dcf55caaa662203a501e5d0fa16f692b61793
2017-03-09 16:47:34 +01:00
Wes Kocher 3842d8fcef Merge inbound to central, a=merge
MozReview-Commit-ID: 62e9XDudUlc
2017-03-08 17:07:55 -08:00
Shu-yu Guo c91e65240b Bug 1108941 - Implement the per-global template literal registry. (r=arai,jonco) 2017-03-08 12:00:54 -08:00
Boris Zbarsky 2ab128503c Bug 1344443. Fix [[SetPrototypeOf]] on cross-origin objects to follow the spec. r=bholley,waldo
MozReview-Commit-ID: JI9fbQTS0PS
2017-03-08 03:14:38 -05:00
Carsten "Tomcat" Book 96fe421b34 Merge mozilla-central to autoland 2017-03-08 17:04:17 +01:00
David Teller c1b5f21196 Bug 1343483 - Determine how long functions remain syntax-parsed before they are full-parsed;r=shu
In many cases, to speed up start, compiling a ScriptSource will not
compile the functions themselves, but will rather syntax-parse them
(to check for syntax errors), leaving full compilation for
later. However, if we find ourselves in a case in which the function
is needed almost immediately, we need to full-parse the function
immediately after the syntax-parse, which is wasteful.

This changeset intends to measure how often this happens, by exporting
through Telemetry the duration between the end of the syntax-parse and
the start of the full-parse for each function.

As a memory optimization, instead of storing a timestamp for the
syntax-parse of each function, we store a single timestamp for an
entire ScriptSource. This assumes that all functions of the
ScriptSource are syntax-parsed at approximately the same instant,
which should be mostly true for everything except perhaps `eval` and
`new Function`. Then, when time comes to delazify a function, we
simply determine the time elapsed since the ScriptSource was compiled.

Histogram JS_PARSER_COMPILE_LAZY_AFTER_MS starts at 10ms (anything
smaller is often not measurable) and stops at 10s (anything larger can
safely be said to be not wasteful).

MozReview-Commit-ID: 6Ycy2OIIiAt

--HG--
extra : rebase_source : 0ccd6f51189b3ad8056e9f39e267235d68f6e2db
2017-03-06 21:22:00 +01:00
Ehsan Akhgari df3bce859e Bug 1344974 - Part 3: Speed up principal access checks in WrapperFactory::Rewrap() by eliminating virtual dispatch and inling; r=bholley 2017-03-07 00:29:44 -05:00
Ehsan Akhgari 3169d6c35c Bug 1340710 - Part 6: Store BasePrincipal::{mOriginNoSuffix,mOriginSuffix} as a pair of atoms; r=bholley
This has the nice side effect of making nsIPrincipal::GetOrigin() a bit faster
by avoiding computing the origin each time.
2017-03-06 22:27:53 -05:00
Ehsan Akhgari 65b2fe2b53 Bug 1343866 - Scope more nsCOMPtrs in XRE_XPCShellMain(); r=bsmedberg 2017-03-06 15:06:18 -05:00
Jan Varga e161ee742d Bug 1311057 - Part 1: Remove support for packaged apps from asmjscache; r=luke 2017-03-06 18:38:40 +01:00
Jon Coppeard 82cbd987a2 Bug 1338623 - Add a slower but more exact gray marking check for checking correctness r=sfink r=mccr8 2017-03-02 10:22:47 +00:00
Ehsan Akhgari 4f4a529bd2 Bug 1342719 - Optimize away a virtual function call in AccessCheck::isChrome; r=bholley 2017-02-27 09:39:50 -05:00
Phil Ringnalda ab84dcd8f5 Merge m-i to m-c, a=merge 2017-02-26 10:48:26 -08:00
Jan de Mooij 76f56574e3 Bug 1342439 part 1 - Replace macros to check for overrecursion with functions. r=luke 2017-02-25 16:07:56 +01:00
Masatoshi Kimura 7be7b11a1c Bug 1342144 - Remove version parameter from the type attribute of script elements. r=jmaher
This patch is generated by the following sed script:
find . ! -wholename '*/.hg*' -type f \( -iname '*.html' -o -iname '*.xhtml' -o -iname '*.xul' -o -iname '*.js' \) -exec sed -i -e 's/\(\(text\|application\)\/javascript\);version=1.[0-9]/\1/g' {} \;

MozReview-Commit-ID: AzhtdwJwVNg

--HG--
extra : rebase_source : e8f90249454c0779d926f87777f457352961748d
2017-02-23 06:10:07 +09:00
Olli Pettay 66be2f31cc Bug 1342244, try to avoid extra CompartmentPrivate::Get calls during Rewrap, r=bholley
--HG--
extra : rebase_source : 951f392a2d19a509ce951213686684cc326f4895
2017-02-24 15:03:38 +02:00
Kris Maglione d1e03c1b46 Bug 1322273: Return DeadObjectProxy when wrapping for nuked compartment. r=bholley
MozReview-Commit-ID: V07P0eZvKO

--HG--
extra : rebase_source : 822441921b2b0a968a7dec5a532bba5535cb871b
extra : absorb_source : dd03f3197d5a4c09d228c2168726f9ae2408a7bb
extra : source : e74563742aafb580f88ef17f2121dd385e37755a
2017-02-22 19:11:52 -08:00
Kris Maglione 42bebe8564 Bug 1322273: Cut wrappers that point out of a browser compartment when nuking it. r=bholley
MozReview-Commit-ID: FLS3xRgih2u

--HG--
extra : rebase_source : ffae5590afe3efcb70cdda6386f5b1d71123943c
extra : absorb_source : 8b3db1348e793dabca338841dc18b6d9021c6ef8
2017-02-23 13:56:10 -08:00
Nicholas Nethercote 352554c8f6 Bug 1340928 (part 10) - Remove nested calls to profiler_{init,shutdown}(). r=mstange.
The profiler can currently handle nested calls to profiler_{init,shutdown}() --
only the first call to profiler_init() and the last call to profiler_shutdown()
do anything. And sure enough, we have the following.

- Outer init/shutdown pairs in XRE_main()/XRE_InitChildProcess() (via
  GeckoProfilerInitRAII).

- Inner init/shutdown pairs in NS_InitXPCOM2()/NS_InitMinimalXPCOM() (both shut
  down in ShutdownXPCOM()).

This is a bit silly, so the patch removes the inner pairs, and adds a
now-needed pair in XRE_XPCShellMain. This will allow gInitCount -- which tracks
the nesting depth -- to be removed in a future patch.

--HG--
extra : rebase_source : 7e8dc6ce81ce10269d2db6a7bf32852c396dba0e
2017-02-15 17:08:38 +11:00
Andrea Marchesini e7a1e33581 Bug 1341250 - Moving nsExpandedPrincipal in separate files, r=qdot
--HG--
rename : caps/nsPrincipal.cpp => caps/nsExpandedPrincipal.cpp
rename : caps/nsPrincipal.h => caps/nsExpandedPrincipal.h
2017-02-22 10:01:43 +01:00
Sebastian Hengst 0ea43f8182 Backed out changeset f0886e3477a5 (bug 1341250) 2017-02-22 11:20:46 +01:00
Andrea Marchesini c83982c31f Bug 1341250 - Moving nsExpandedPrincipal in separate files, r=qdot
--HG--
rename : caps/nsPrincipal.cpp => caps/nsExpandedPrincipal.cpp
rename : caps/nsPrincipal.h => caps/nsExpandedPrincipal.h
2017-02-22 10:01:43 +01:00
Sylvestre Ledru 39d7cd6467 no bug - Fix a misleading indentation
MozReview-Commit-ID: 4yvVRRxoxC8
2017-02-19 14:27:57 +01:00
Masatoshi Kimura 47d59c07d5 Bug 1338971 - Stop using non-standard JavaScript in AutoConfig files. r=mkaply
MozReview-Commit-ID: F2dDRHAw02S

--HG--
extra : rebase_source : ca74dd69aa51e4eb8d832161e05f98cc2b42df3c
2017-02-13 22:18:12 +09:00
Tom Tromey d2667a2b27 Bug 1060419 - make AppendPrintf and nsPrintfCString use Printf.h, r=froydnj
MozReview-Commit-ID: 2E8FoiNxU8L

--HG--
extra : rebase_source : 810ac727bef0751f24edea18c52e0ec170bf367d
2016-12-14 09:32:21 -07:00
Tom Tromey 9ab784cd84 Bug 1060419 - make XPC_Log_print use VsprintfLiteral, r=froydnj
MozReview-Commit-ID: 9ruECevHqfs

--HG--
extra : rebase_source : 7b4ed9315952404f7ea75246da614e0ce67a3cd6
2016-12-09 10:18:04 -10:00
Andrea Marchesini 3043646e52 Bug 1339871 - Splitting dom/file/File.{h,cpp}, r=smaug
--HG--
rename : dom/file/File.cpp => dom/file/BaseBlobImpl.cpp
rename : dom/file/File.h => dom/file/BaseBlobImpl.h
rename : dom/file/File.cpp => dom/file/Blob.cpp
rename : dom/file/File.h => dom/file/Blob.h
rename : dom/file/File.cpp => dom/file/BlobImpl.cpp
rename : dom/file/File.h => dom/file/BlobImpl.h
rename : dom/file/File.cpp => dom/file/EmptyBlobImpl.cpp
rename : dom/file/File.h => dom/file/EmptyBlobImpl.h
rename : dom/file/File.cpp => dom/file/FileBlobImpl.cpp
rename : dom/file/File.h => dom/file/FileBlobImpl.h
rename : dom/file/File.cpp => dom/file/MemoryBlobImpl.cpp
rename : dom/file/File.h => dom/file/MemoryBlobImpl.h
rename : dom/file/File.cpp => dom/file/StreamBlobImpl.cpp
rename : dom/file/File.h => dom/file/StreamBlobImpl.h
rename : dom/file/File.h => dom/file/StringBlobImpl.h
rename : dom/file/File.h => dom/file/TemporaryBlobImpl.h
2017-02-16 18:26:38 +01:00
Wes Kocher 3797956aa6 Merge m-c to inbound a=merge
MozReview-Commit-ID: BemR756HJnR
2017-02-15 16:33:03 -08:00
Wes Kocher 017c515285 Merge inbound to m-c a=merge
MozReview-Commit-ID: IKI0zVtF1n9
2017-02-15 16:18:13 -08:00
Bill McCloskey 194043ae97 Bug 1339289 - Give names to a lot of common runnables (r=ehsan)
MozReview-Commit-ID: 5IdvK6kgoAW
2017-02-15 12:30:01 -08:00
Tooru Fujisawa 918d55e6ea Bug 1283712 - Part 7: Add nsIScriptErrorNote and nsIScriptError.notes. r=bholley 2017-02-15 23:53:06 +09:00
Tooru Fujisawa b025ee6d4e Bug 1283712 - Part 6: Add xpc::ErrorBase, xpc::ErrorNote, and xpc::ErrorReport.mNotes. r=bholley 2017-02-15 23:53:06 +09:00
Carsten "Tomcat" Book ed3d8d8286 merge mozilla-inbound to mozilla-central a=merge 2017-02-15 12:21:44 +01:00
Boris Zbarsky a449ccb8fa Bug 1333045. Update Location object properties to current spec. r=qdot
Specifically, three changes:

1) valueOf should be non-enumerable.
2) valueOf should be === to Object.prototype.valueOf.
3) There should be no toJSON.

The tests come directly from https://github.com/w3c/web-platform-tests/pull/4623
so not much need to review them.
2017-02-15 00:01:48 -05:00
Xidorn Quan 95c1b23bd9 Bug 1339341- Downgrade several stylo errors to warnings. r=heycam
MozReview-Commit-ID: 2Sa8dS8uSo5

--HG--
extra : rebase_source : c6809309bbef5faf458b56018b964619ff386238
2017-02-14 18:26:10 +11:00
Wes Kocher 415dbf1a26 Merge m-c to autoland, a=merge
MozReview-Commit-ID: JuiEcsYYLS3
2017-02-13 17:08:00 -08:00
Wes Kocher 252dae269a Merge inbound to central, a=merge
MozReview-Commit-ID: Gx7IszkCDZ4
2017-02-13 17:04:20 -08:00
Kris Maglione d0f62ee58a Bug 1336988: Correctly handle dead callback objects when iterating over event listeners. r=peterv
MozReview-Commit-ID: 5vGlPL1p3uh

--HG--
extra : rebase_source : 7e33d93472faa1c047361addf8b15f8a78639255
2017-02-06 11:34:56 -08:00
Luca Greco 1470d15357 Bug 1329731 - Add moz-extension to the principals immune to script policy. r=bholley
MozReview-Commit-ID: FAn2Cq5Lz5O

--HG--
extra : rebase_source : 8d89707f91747946d98e473983345d6a5857ea89
2017-01-17 13:54:03 +01:00
Sylvestre Ledru 27e7b32872 Bug 1338086 - Remove useless else blocks in order to reduce complexity in js/ r=bbouvier
MozReview-Commit-ID: Giwp0K1YoBH

--HG--
extra : rebase_source : e557ce010d00b1d6986229ab8a880c196d4162c1
2017-02-14 15:50:56 +01:00
Jan de Mooij 447fa1b7be Bug 1338880 - Optimize WrapperFactory::Rewrap a bit by avoiding GetXrayType/IsContentXBLScope calls in the non-xray case. r=bholley 2017-02-12 22:45:25 +01:00
Tom Schuster 39312086de Bug 1339036 - Rename JSTYPE_VOID to JSTYPE_UNDEFINED. r=arai 2017-02-13 17:26:16 +01:00
Jon Coppeard 46c6dced28 Bug 1338614 - Refactor incremental barrier APIs and make them call the read barrier r=sfink 2017-02-13 11:11:09 +00:00
Brian Hackett 01a649c197 Bug 1337112 - Remove links from JSRuntime to its single context and zone group, r=jandem,jonco.
--HG--
extra : rebase_source : ebf319af724d5f829cdf5c2386dc82d49be89989
2017-02-10 16:47:50 -07:00
Tooru Fujisawa 014382051d Bug 1338255 - Remove remaining legacy generator from js/xpconnect/tests/. r=bholley 2017-02-11 01:53:24 +09:00
Tooru Fujisawa 33a302accc Bug 1320408 - Part 22: Remove JSContext* parameter from ProxyObject::renew and Wrapper::Renew. r=jandem 2017-02-08 23:04:57 +09:00
Carsten "Tomcat" Book d228eab012 Merge mozilla-central to mozilla-inbound 2017-02-08 11:30:50 +01:00
Carsten "Tomcat" Book 55606baab8 merge mozilla-inbound to mozilla-central a=merge 2017-02-08 11:30:00 +01:00
Andrea Marchesini 8cf1cb8c2f Bug 1335536 - File.createFromNsIFile and File.createFromFileName should be async - part 1 - tests, r=smaug 2017-02-08 10:18:32 +01:00
Zibi Braniecki b8f991e41b Bug 1335983 - Migrate nsCollation::CreateCollection to use LocaleService::GetAppLocale. r=jfkthame
MozReview-Commit-ID: 5GEnL7Kihpj

--HG--
extra : rebase_source : 413d880035b49da82db0530379425d31ac31a82e
2017-02-07 12:52:03 -08:00
Wes Kocher a9ce32d9a5 Backed out 2 changesets (bug 1335983) for build bustage a=backout
Backed out changeset 5a9559ded976 (bug 1335983)
Backed out changeset de2b0d90e2da (bug 1335983)

MozReview-Commit-ID: 377KQDU1QqJ
2017-02-07 12:34:30 -08:00
Zibi Braniecki 6d98bad59d Bug 1335983 - Migrate nsCollation::CreateCollection to use LocaleService::GetAppLocale. r=jfkthame
MozReview-Commit-ID: bJVrVj2dAS

--HG--
extra : rebase_source : f3a28e003415f0c58462a73b5fd987455e102fc5
2017-02-06 14:57:09 -08:00
Tim Huang 72200b06f7 Bug 1319773 - Part 3: Making the WrapperFactory ignores the First Party Domain of the originAttributes when rewrapping the wrapper. r=mrbkap
--HG--
extra : rebase_source : 6013d2b7386f907af761098d006949ba07c163d7
2017-01-18 20:34:31 +08:00
Boris Zbarsky 0041276515 Bug 1335654 part 4. Fix some CrossOriginXrayWrapper error reporting bits to follow the HTML spec for cross-origin objects. r=bholley 2017-02-02 12:48:49 -05:00
Boris Zbarsky bcc1d4ab44 Bug 1335654 part 3. Implement actually throwing a SecurityError when cross-origin property accesses are denied. r=bholley 2017-02-02 12:48:49 -05:00
Boris Zbarsky 72ca8d1730 Bug 1335654 part 2. Change the deny() methods of our wrapper security policies to take a JSContext and a mayThrow boolean. r=bholley 2017-02-02 12:48:49 -05:00
Boris Zbarsky 52118e082c Bug 1335654 part 1. Propagate AutoEnterPolicy's mayThrow argument to the enter() methods of proxy handlers, so they know whether it's OK to throw some sort of custom exception or whether they should just silently deny. r=bholley,jandem 2017-02-02 12:48:49 -05:00
Hannes Verschore 65f3d3c7f2 Bug 1331414: Adding javascript.options.jit.full_debug_checks in about:config for people that want to use debug builds for surfing with less slowdown, r=jandem 2017-02-01 22:05:14 +01:00
Jon Coppeard 5c43c1ac3b Bug 1332745 - Split runtime-wide pointer udpates from per-zone updates in compacting GC r=sfink 2017-02-02 16:17:28 +00:00
Sebastian Hengst e855f7f79d Backed out changeset dbf9a55f1101 (bug 1331414) for unused variable 'fullJitDebugChecks' at XPCJSContext.cpp:1452. r=backout 2017-02-01 22:26:23 +01:00
Hannes Verschore f48573af0c Bug 1331414: Adding javascript.options.jit.full_debug_checks in about:config for people that want to use debug builds for surfing with less slowdown, r=jandem 2017-02-01 22:05:14 +01:00
Boris Zbarsky 970a120fb5 Bug 1335368 part 21. Get rid of some IsCallerChrome usage in XPConnect. r=bholley 2017-02-01 15:43:59 -05:00
Boris Zbarsky 1f816c60cf Bug 1335368 part 12. Remove the use of IsCallerChrome in FetchRequest. r=bkelly 2017-02-01 15:43:37 -05:00
Boris Zbarsky c41740271d Bug 1334537. Make sure to clear out our external string cache if the length doesn't match, since our length no longer needs to match our stringbuffer. r=froydnj
Without this change, we could do a "short" get of a string (e.g. from
XMLHttpRequest), then do another get that returns the same stringbuffer but a
longer length.  But we wouldn't notice, hit our cache, and return the same,
too-short, external string.  The site would not see the new data it should have
seen.
2017-02-01 15:29:47 -05:00
Sebastian Hengst ccd3fc9950 Backed out changeset 99587cc6ef23 (bug 1335536) for failing robocop testFilePicker on Android. r=backout 2017-02-01 19:08:22 +01:00
Andrea Marchesini 3b9eaa7785 Bug 1335536 - File.createFromNsIFile and File.createFromFileName should be async - part 1 - tests, r=smaug 2017-02-01 17:13:08 +01:00
Benjamin Smedberg ca77995f5d Bug 1333826 - Remove SDK_FILES, SDK_LIBRARY, and related is_sdk support in the build goop, r=mshal
MozReview-Commit-ID: 52vPyDXdFte

--HG--
extra : rebase_source : c3217730bb70eb7319152dd07536b12f49d6a597
2017-01-30 11:24:10 -05: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
Cameron McCormack 9c4ea5685f Bug 1334768 - stylo: Back out 800030115d2e and 404506488cfb for being completely wrong due to bug 1334938.
MozReview-Commit-ID: 8CGTqmtlguT
2017-01-30 16:49:54 +08:00
Florian Quèze bdc1ffa608 Bug 1334831 - script-generated patch to use .remove() instead of .parentNode.removeChild, r=jaws. 2017-01-30 08:10:22 +01:00
Cameron McCormack 7805d4716e Bug 1334768 - stylo: Test expectation adjustments for 2017-01-29 merge.
MozReview-Commit-ID: FFmvs6SHIwW
2017-01-29 15:31:56 +08:00
Tom Schuster 48ee845dbd Bug 1333073 - Enable DataView Xray. r=bz 2017-01-28 21:52:45 +01:00
Wes Kocher 18e735dcef Merge m-c to inbound, a=merge
MozReview-Commit-ID: EfMOcZbAiSe
2017-01-27 16:39:29 -08:00
Wes Kocher 7cd28f7e5d Merge inbound to central, a=merge
MozReview-Commit-ID: HvoljuLV6Gj
2017-01-27 16:37:18 -08:00
Boris Zbarsky ecfa536932 Bug 1332713 part 3. Implement a version of XrayAwareCalleeGlobal that works for specialized getters. r=bholley
The problem is that JSJitGetterInfo doesn't contain a callee.  So we can't use
xpc::XrayAwareCalleeGlobal in a specialized getter, because we don't have our
callee function available.
2017-01-27 18:53:36 -05:00
Gijs Kruitbosch 8faf5c08a8 Bug 1333164 - fix invalid references to mochitest stylesheet, r=erahm
MozReview-Commit-ID: 1Xxt72jYdm7

--HG--
extra : rebase_source : 15d854ffd6a142687fe5232149a0e370f1c058c2
2017-01-24 14:24:04 +00:00
Florian Quèze be4dbae285 Bug 1334199 - script-generated patch to omit getComputedStyle's second argument when it's falsy, r=jaws. 2017-01-27 10:51:02 +01:00
Wes Kocher 8fa84ca644 Merge inbound to central, a=merge
MozReview-Commit-ID: BZgxmhS6OtM
2017-01-26 16:19:05 -08:00
Jan de Mooij 1ea46b80dd Bug 1330593 part 1 - Allow non-flat external strings. r=jwalden,bz 2017-01-26 18:40:41 +01:00
Tooru Fujisawa ddd36fec56 Bug 1332245 - Move nsScriptError from js/xpconnect to dom/bindings. r=bz
--HG--
rename : js/xpconnect/idl/nsIScriptError.idl => dom/bindings/nsIScriptError.idl
rename : js/xpconnect/src/nsScriptError.cpp => dom/bindings/nsScriptError.cpp
rename : js/xpconnect/src/nsScriptErrorWithStack.cpp => dom/bindings/nsScriptErrorWithStack.cpp
2017-01-28 00:42:47 +09:00
Christian Holler 4dc29b3b09 Bug 1332361 - Expose TestingFunctions to content in FUZZING builds. r=jandem.
MozReview-Commit-ID: HA0oodPzAeS

--HG--
extra : rebase_source : 896f4d9465b8bd2a5655dec63165f893b0f0f5df
2017-01-25 13:39:54 +01:00
Florian Quèze 0e0865f4fc Bug 1331599 - script-generated patch to replace removeEventListener calls with the once option when possible, r=jaws. 2017-01-25 07:01:52 +01:00
Nicholas Nethercote 22b6d342d7 Bug 1333296 (part 1) - Rename MOZ_ENABLE_PROFILER_SPS as MOZ_GECKO_PROFILER. r=mstange,glandium.
--HG--
extra : rebase_source : 223f3a17f009645369be503392cc1f0cea7f19a1
2017-01-24 14:15:12 +11:00
Makoto Kato 0d01065054 Bug 1215247 - Turn on ICU and Intl API for Android. r=Waldo
Intl API (ECMA-402) already supports most web browsers such as Edge (including Windows 10 Mobile), Chrome (including Android), and upcoming Safari 10(https://developer.apple.com/library/prerelease/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_0.html).

Also IDN2008 support, and number control by <input type="number"> require ICU.  And, although gfx has own unicode table, we want to remove this if ICU is supported on all platform.

Also, new L20N framework (aka L20N) wants to use Intl API to localize UI.

So I would like to use ICU as default on Fennec Android.

Negative issue is file size.  ICU has big table, file size of libxul.so will be following.  This support requires additional 4.4MB.

before this ... 26287379 bytes
after this  ... 30692696 bytes

Although android OS already has ICU, ICU version is different per OS version.  And our ICU requirement is 50.1+ (Android 4.0 uses ICU 48) and exported fucntion name of ICU has ICU version suffix.  So we cannot use it.

MozReview-Commit-ID: 5R5iNMzWNjS

--HG--
extra : rebase_source : fceb3ee320f885e7c03749f76cf0ad7699a21c2c
2016-08-01 14:14:22 +09:00
Nicholas Nethercote bf48aecf29 Bug 1332172 - Remove XPC_MAP_WANT_*. r=mccr8.
nsIXPCScriptable flags handling in xpc_map_end.h is a bit of a mess.

- Half the flags relate to whether various functions are defined (PreCreate,
  GetProperty, etc). These are set using the XPC_MAP_WANT_* macros;
  for each one xpc_map_end.h  inserts the corresponding flag using the
  preprocessor (see XPC_MAP_CLASSNAME::GetScriptableFlags()).

- The other half of the flags relate to other things (IS_GLOBAL_OBJECT,
  DONT_REFLECT_INTERFACE_NAMES, etc). These are set using the XPC_MAP_FLAGS
  macro.

Having two similar but different mechanisms to set the flags for a class is
confusing. (Indeed, until recently we had some classes where a single flag was
redundantly specified via both mechanisms.) Note also that the classes done in
dom/base/nsIDOMClassInfo.h also specify all the flags in a single value,
similar to how XPC_MAP_FLAGS works.

This patch removes the XPC_MAP_WANT_* macros. All flags are now set
via XPC_MAP_FLAGS. This is a significant simplification to xpc_map_end.h and
all the places that use it.

The downside of this change is that I had to change the flag constants from
class constants (i.e. nsIXPCScriptable::FOO) to macros (i.e.
NSIXPCSCRIPTABLE_FOO) because they need to be used in #if statements like this
in xpc_map_end.h:

  #if !((XPC_MAP_FLAGS) & NSIXPCSCRIPTABLE_WANT_PRECREATE)

and you can't use a '::'-qualified name inside a #if. I think this downside is
outweighed by the simplification described above.

Overall the patch removes 80 lines of code.

--HG--
extra : rebase_source : 6d5c341d0deba8f1529d81c17bb8819e09620b05
2017-01-23 13:33:58 +11:00
Phil Ringnalda 74f10163fe Merge m-i to m-c, a=merge 2017-01-21 15:24:42 -08:00
Nicholas Nethercote 12647a7223 Bug 1332577 (part 7) - Rename mozilla_get_pseudo_stack() as profiler_get_pseudo_stack(). r=mstange.
This makes it consistent with other profiler functions.

--HG--
extra : rebase_source : 1e52acdc448691b8859bb147a0c70b198b432fe2
2017-01-20 15:07:05 +11:00