fune/xpcom
Mike Hommey ace2ada060 Bug 1897635 - Avoid clang 18 exploiting undefined behavior when optimizing NS_InvokeByIndex after inlining invoke_copy_to_stack. r=xpcom-reviewers,emilio
The code has been fragile since its introduction in bug 532198, but in
practice it (surprisingly) hadn't caused problems so far. What the C++
implementation saves us, albeit at the cost of using undefined behavior,
is having to write several different version of the corresponding
assembly for the various different ARM variants that are supported
(including thumb vs.  non-thumb).

With this being the first time the compiler breaks this code in 14
years, I'd say it's worth keeping that way. We may reconsider if it
breaks further.

An alternative way to handle the situation would be to test for
paramCount=0 and call `func(that)` in that case, but the compiler
generates much more code than necessary for some reason.

Differential Revision: https://phabricator.services.mozilla.com/D210984
2024-05-21 07:19:36 +00:00
..
base Backed out 3 changesets (bug 1894703) for causing failures related to DOCSHELL logging. CLOSED TREE 2024-05-16 21:12:06 +03:00
build Bug 1660754 - Enable JS RT targets for AFL++ r=decoder 2024-05-07 01:52:34 +00:00
components Bug 1873386 - Interfaces referenced from scriptable members need to be [scriptable] r=necko-reviewers,jschanck,mccr8,valentin 2024-04-09 11:29:22 +00:00
docs Backed out 3 changesets (bug 1894703) for causing failures related to DOCSHELL logging. CLOSED TREE 2024-05-16 21:12:06 +03:00
ds Bug 1888774 - make InvokeAction an enum, "auto" now implicit r=dom-core,sefeng 2024-05-15 21:38:06 +00:00
geckoprocesstypes_generator
glue Bug 1894912 [Linux] Use lower case of app name as DBus app name r=emilio 2024-05-14 10:55:04 +00:00
idl-parser Bug 1892481 - More consistently enforce noscript and builtinclass in xpidl, r=xpcom-reviewers,necko-reviewers,valentin,media-playback-reviewers,mccr8,padenot 2024-04-22 18:19:58 +00:00
io Bug 1893683 - Remove ns{A,C}String and other xpcom dependencies from nsStringBuffer. r=smaug,media-playback-reviewers,karlt 2024-05-09 08:34:35 +00:00
reflect Bug 1897635 - Avoid clang 18 exploiting undefined behavior when optimizing NS_InvokeByIndex after inlining invoke_copy_to_stack. r=xpcom-reviewers,emilio 2024-05-21 07:19:36 +00:00
rust Bug 1892257 - Move nsStringBuffer to mfbt. r=nika,xpcom-reviewers,glandium 2024-05-14 14:24:26 +00:00
string Bug 1897607 - Inline StringBuffer assignment. r=smaug 2024-05-18 17:33:20 +00:00
system Bug 1881863 - Part 1: Standardize on boolean over bool in xpidl, r=xpcom-reviewers,necko-reviewers,valentin,extension-reviewers,application-update-reviewers,media-playback-reviewers,credential-management-reviewers,search-reviewers,anti-tracking-reviewers,places-reviewers,nalexander,emilio,zombie,sgalich,karlt,lina,Standard8 2024-04-04 18:45:21 +00:00
tests Backed out 3 changesets (bug 1894703) for causing failures related to DOCSHELL logging. CLOSED TREE 2024-05-16 21:12:06 +03:00
threads Bug 1891541 - [2/2] enforce that MozPromise only accepts static strings r=xpcom-reviewers,media-playback-reviewers,padenot,emilio 2024-04-24 17:02:49 +00:00
windbgdlg
xpidl
metrics.yaml
moz.build