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

62 Коммитов

Автор SHA1 Сообщение Дата
Sylvestre Ledru 17f939518a bug 1617532 - js/ replace typedef by using r=jandem
Done with:
./mach static-analysis check --checks="-*, modernize-use-using" --fix js/

Differential Revision: https://phabricator.services.mozilla.com/D63821

--HG--
extra : moz-landing-system : lando
2020-02-24 11:08:17 +00:00
Nicholas Nethercote 18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

Differential Revision: https://phabricator.services.mozilla.com/D39138

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
Barret Rennie 6fc21f48e9 Bug 1289211 - Rename InfallibleTArray to nsTArray in js/ r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D36962

--HG--
extra : moz-landing-system : lando
2019-07-10 03:31:42 +00:00
Nicholas Nethercote 5ee5242716 Bug 1563996 - Make dom.ipc.cpows.log.{enabled,stack} static prefs. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D37199

--HG--
extra : moz-landing-system : lando
2019-07-09 07:58:24 +00:00
Tooru Fujisawa 7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Benjamin Bouvier a7f1d173a0 Bug 1511383: Update vim modelines after clang-format; r=sylvestre
- modify line wrap up to 80 chars; (tw=80)
- modify size of tab to 2 chars everywhere; (sts=2, sw=2)

--HG--
extra : rebase_source : 7eedce0311b340c9a5a1265dc42d3121cc0f32a0
extra : amend_source : 9cb4ffdd5005f5c4c14172390dd00b04b2066cd7
2018-11-30 16:39:55 +01:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Jan de Mooij 6b342c5c13 Bug 1490632 - Always use braces for if/for/while statements in js/ipc. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D5661

--HG--
extra : moz-landing-system : lando
2018-09-12 20:04:14 +00:00
Nicholas Nethercote b9e071e2e8 Bug 1481998 - Make mozilla::Hash{Map,Set}'s entry storage allocation lazy. r=luke,sfink
Entry storage allocation now occurs on the first lookupForAdd()/put()/putNew().
This removes the need for init() and initialized(), and matches how
PLDHashTable/nsTHashtable work. It also removes the need for init() functions
in a lot of types that are built on top of mozilla::Hash{Map,Set}.

Pros:

- No need for init() calls and subsequent checks.

- No memory allocated for empty tables, which are not that uncommon.

Cons:

- An extra branch in lookup() and lookupForAdd(), but not in put()/putNew(),
  because the existing checkOverloaded() can handle it.

Specifics:

- Construction now can take a length parameter.

- init() is removed. Explicit length-setting, when necessary, now occurs in the
  constructors.

- initialized() is removed.

- capacity() now returns zero when the entry storage is absent.

- lookupForAdd() is no longer `const`, because it can instantiate the storage,
  which requires modifications.

- lookupForAdd() can now return an invalid AddPtr in two cases:

  - old: hashing failure (due to OOM in the hasher)

  - new: OOM while instantiating entry storage

  The existing failure handling paths for the old case work for the new case.

- clear(), finish(), and clearAndShrink() are replaced by clear(), compact(),
  and reserve(). The old compactIfUnderloaded() is also removed.

- Capacity computation code is now in its own functions, bestCapacity() and
  hashShift(). setTableSizeLog2() is removed.

- uint32_t is used throughout for capacities, instead of size_t, for
  consistency with other similar values.

- changeTableSize() now takes a capacity instead of a deltaLog2, and it can now
  handle !mTable.

Measurements:

- Total source code size is reduced by over 900 lines. Also, lots of existing
  lines got shorter (i.e. two checks were reduced to one).

- Executable size barely changed, down by 2 KiB on Linux64. The extra branches
  are compensated for by the lack of init() calls.

- Speed changed negligibly. The instruction count for Bench_Cpp_MozHash
  increased from 2.84 billion to 2.89 billion but any execution time change was
  well below noise.
2018-08-10 18:00:29 +10:00
Alex Gaynor 3dc2139816 Bug 1465860 - Don't crash in JS IPC on invalid object id. r=evilpie
Instead, return an error up to the caller, who can return an IPC error, which
will kill the child. This is significantly friendlier to fuzzing.

MozReview-Commit-ID: C67xSqUeN1i
2018-05-31 16:29:03 -04:00
Chris Peterson 37efe4d0e6 Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe

--HG--
extra : rebase_source : cfec2d96faeb11656d86d760a34e0a04cacddb13
extra : intermediate-source : 6176724d63788b0fe8caa3f91607c2d93dbaa7ec
extra : source : eebbb0600447f9b64aae3bcd47b4be66c02a51ea
2017-11-05 19:37:28 -08:00
Ehsan Akhgari b940c3d6e8 Bug 1382339 - Improve SpiderMonkey hashing functions by using MFBT's HashGeneric more; r=jandem 2017-07-20 12:59:09 -04:00
Jon Coppeard 57137dea9d Bug 1352430 - Add barrier to CPOWs table to remove dying objects r=billm
--HG--
extra : rebase_source : a923df26fc706615b248191cf544a372ff357bd4
2017-04-26 11:18:53 +01:00
Jon Coppeard 72039bc43f Bug 1318384 - Don't trigger pre barrier in WrapperAnswer::RecvDropObject r=billm 2016-11-18 13:18:09 +00:00
David Major 143b6829de Bug 1311825: Pass by reference in fromObjectVariant and related methods. r=billm
MozReview-Commit-ID: GIhK1zRMsYb

--HG--
extra : rebase_source : 7da47ec2ea86e73c9d00cd4e6c1e5c830a54d7e1
2016-10-20 15:37:26 -05:00
Bill McCloskey cbd15a0459 Bug 1311212 - Add dead CPOW debugging facility (r=mrbkap) 2016-10-19 16:26:23 -07:00
Terrence Cole 0edc10380c Bug 1297558 - Use a read barrier on Heap to ExposeToActiveJS r=sfink r=mccr8 2016-02-07 09:08:55 -08:00
Jan de Mooij b066365085 Bug 1292892 part 7 - Remove unnecessary JSContext arguments from IPC classes. r=bz 2016-08-11 14:39:23 +02: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
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
Jon Coppeard 33af1ea84b Bug 1268085 - Remove unused post barrier callbacks r=terrence 2016-04-29 10:44:22 +01:00
Tom Schuster 180499c4ff Bug 1242214 - Rename JSPropertyDescriptor JS::PropertyDescriptor in js. r=sstangl 2016-01-28 11:28:04 +01:00
Terrence Cole 020b367913 Bug 1226732 - Use stable hashing and builtin sweeping for ipc::ObjectIdMap; r=billm
--HG--
extra : rebase_source : 9dc40a8f2573fd190d9c86a5a88b57dcb41e0771
2015-11-25 11:59:09 -08:00
Jon Coppeard 53f8300f7e Bug 1165054 - Fix inbound bustage due to missing explicit on single arg constructor r=me 2015-07-15 11:27:27 +01:00
Jon Coppeard aacda4f6e2 Bug 1165054 - Add API to clear postbarrier callbacks and use it when CPOW tables are destroyed r=terrence 2015-07-15 10:22:04 +01:00
Andrea Marchesini a4369a04c4 Bug 1156632 - Remove unused forward class declarations - patch 7 - JS, r=sfink 2015-04-22 08:29:26 +02:00
Jan de Mooij b8b1677f0f Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 23:22:11 +01:00
Phil Ringnalda c8a25251c1 Backed out changeset 0c030f97a04f (bug 1144366) for being on top of patches being backed out
CLOSED TREE
2015-03-28 10:39:56 -07:00
Jan de Mooij 8d6d44ecb8 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 12:08:37 +01:00
Bill McCloskey 2f3d90830b Bug 1123461 - Make a real interface for js/ipc (r=dvander) 2015-01-26 13:32:18 -08:00
Bill McCloskey 5c867be0e8 Bug 1119753 - Fix CPOW GC crash (r=jonco) 2015-01-16 09:56:30 -08:00
Bill McCloskey 3b3399bdc4 Bug 1077587 - Handle non-existent properties in CPOW descriptor code (r=mrbkap) 2014-10-20 09:47:27 -07:00
Tom Schuster 07191c41f8 Bug 1071177 - Add support for well-known and registered symbols as CPOW jsids. r=billm,jorendorff 2014-10-07 11:29:03 +02:00
Tom Schuster eec11c26a0 Bug 1071177 - Introduce JSIDVariant type for CPOWs. r=billm 2014-10-07 11:29:02 +02:00
Andrew McCreight 9d6136ff7b Bug 1073597, part 3 - Lazify creation of the CPOW manager in CpowIdHolder. r=billm 2014-10-06 15:45:42 -07:00
Bobby Holley 8e8a7d28c3 Bug 1065811 - Track Xray waivers with CPOWs. r=billm 2014-09-25 13:13:29 +02:00
Bobby Holley 8b65a1f10b Bug 1065811 - Clean up ObjectId handling with static type checking. r=billm
While adding the CPOW flag for xray waivers, I discovered a bunch of
inconsistency and sloppiness with respect to our handling of object ids,
and a general lack of clarity about when the id included flags or not. Given
the fact that I'm removing static callability for CPOWs, we _could_ just get
rid of the flags, and store the xray waiver state on the answer-side only. But
I eventually decided that these kinds of flags (which are accessible to both
the Answer _and_ the Owner) had enough potential utility that they were worth
cleaning up.

It's worth noting that that utility comes with the large caveat that the flags
can't be trusted for security-sensitive decisions (at least in the parent->child
case), since they could be forged by a compromised child.
2014-09-25 13:13:29 +02:00
Jon Coppeard 132fb38dd4 Bug 650161 - Unify the finalization and moving GC callbacks into a weak pointer update callback r=terrence r=bholley 2014-09-24 12:54:11 +01:00
Bobby Holley 2a5e5e2d96 Bug 1052096 - Move CPOW targets into the privileged/unprivileged junk scope of the child/parent. r=billm 2014-09-12 17:41:18 -07:00
Jon Coppeard fbd9cb9af7 Bug 650161 - Add moving GC callback and use it to fix up ipc CPOW tables r=terrence 2014-09-02 11:07:22 +02:00
Ehsan Akhgari ddca1158ca Bug 1060988 - Fix more bad implicit constructors in JS IPC code; r=billm 2014-08-31 21:10:16 -04:00
Bill McCloskey 14b0872617 Bug 1052093 - Child->parent CPOWs should go through COWs in the parent for security (r=bholley) 2014-08-20 12:49:10 -07:00
Tom Schuster 8f9489bd37 Bug 957742 - Logging for CPOWs (r=mrbkap) 2014-05-28 18:05:22 -07:00
Bill McCloskey b41a921d12 Bug 996785 - Fix CPOW wrapping and compartment ownership (r=mrbkap) 2014-05-16 16:40:37 -07:00
Bill McCloskey b4170c4e66 Bug 996785 - Bidirectional CPOWs (r=mrbkap) 2014-05-16 16:40:37 -07:00
Bill McCloskey c9f2d3779d Bug 996785 - Distinguish local and remote CPOW objects in IPDL (r=mrbkap) 2014-05-16 16:40:36 -07:00
Bill McCloskey 60d6a2696c Bug 996785 - Use separate maps for local and remote CPOW objects (r=mrbkap) 2014-05-16 16:40:36 -07:00
Bill McCloskey 42b76f44bb Bug 996785 - Rename CPOW makeId/unwrap (r=mrbkap) 2014-05-16 16:40:35 -07:00
Bill McCloskey 29e7a9ce1d Bug 996785 - Rename CPOW toValue (r=mrbkap) 2014-05-16 16:40:35 -07:00
Bill McCloskey 2c11e044b8 Bug 996785 - Rename CPOW findObject (r=mrbkap) 2014-05-16 16:40:35 -07:00