Commit graph

100 commits

Author SHA1 Message Date
Brian Smith
fd04893c34 Issue #1891 - Fix ASAN and clang crashes on Linux, BSD and MacOS. Merge with the existing Solaris fix, by folding Solaris into the Linux/BSD section. Add Apple Silicon (ARM64) support. This should also address Issue #1884 by moving the offending code into assembly. 2022-05-12 09:44:33 +08:00
Stephen A Pohl
b188579bb6 [XPCOM] Improve the conversion of line breaks.
Fix an off-by-one error in CRLF checking.
2022-05-05 09:05:27 +08:00
Brian Smith
85468ffe86 Issue #1829 - Fix Mac breakage due to removal of Telemetry. 2022-05-04 09:45:04 +08:00
Brian Smith
13fcc4a046 Issue #1829 - Revert "Issue #1751" 2022-05-04 09:40:24 +08:00
Moonchild
eaf9e756a0 Issue #21 - Remove remaining telemetry structs, callers and flags. 2022-04-28 10:33:44 +08:00
Moonchild
8d800b1cb0 Issue #21 - Remove Telemetry plumbing and fix build.
Note this won't give working applications. Requires FE changes and
additional js module changes (next part).
2022-04-28 10:25:48 +08:00
Moonchild
d4eac725fd Issue #1877 - Resolve RELEASE_OR_BETA conditionals. 2022-04-21 21:46:47 +08:00
Moonchild
8751960d9a [XPCOM] xpcom Threadpool cleanup
Make sure thread locks are in place to guard accesses.
2022-04-10 22:58:37 +08:00
Moonchild
7de4e86727 [XPCOM] xpcom/threads misc cleanup 2022-04-10 22:57:27 +08:00
Moonchild
bd80099e2c [xpcom] Timer cleanup, assertions and comments. 2022-03-22 23:22:59 +08:00
Moonchild
bf17b1fec3 Issue #3063 - Implement queueMicroTask(callback()) 2022-03-22 23:08:26 +08:00
roytam1
138137ddea Issue #unknown, change assignment method in nsThread::SetObserver() 2021-12-14 23:10:15 +08:00
roytam1
c72a393b93 Bug 1339588 - Part 1: Simplify nsTimerEvent::Cancel, since there's no need to release the nsTimerImpl itself. r=froydnj, a=dveditz 2021-12-14 23:10:15 +08:00
roytam1
f43ff83d54 backport Bug 1696685 - r=valentin,nika a=RyanVM 2021-12-14 23:10:15 +08:00
roytam1
eb0082ecaa backport Bug 1739421: Use kungFuDeathGrip when firing a timer r=bwc a=RyanVM 2021-12-14 23:10:14 +08:00
roytam1
8fb608b22d remove OSX support 2021-11-10 09:10:25 +08:00
roytam1
44959f50f8 Bug 1724107, be more precise when counting the number of allocator users, r=KrisWright a=RyanVM 2021-09-16 10:22:59 +08:00
roytam1
89c8257bcb Issue #1751 - Fix preprocessor typo to restore ARM Linux buildability 2021-09-16 10:22:52 +08:00
Moonchild
6c30b33915 [no issue] Replace PurpleBlock with SegmentedVector to reduce indirect memory
accesses when calling suspect

Improves overall memory performance.
Also prerequisite for further work on #1677.
2021-07-28 10:10:07 +08:00
Moonchild
ba00d14c12 Issue #1751 - Remove Mac code behind MOZ_WIDGET_TOOLKIT == 'cocoa' 2021-06-24 11:09:47 +08:00
Moonchild
8744911c18 Issue #1772 - Stop using legacy code page conversion for file paths on Linux.
OS.File already only supports UTF-8 paths on non-Windows systems, so this change
makes our different ways of accessing file paths consistent with each other.
This should prevent unexpected crashes in glibc that expect UTF-8.

This resolves #1772.
2021-05-21 09:34:12 +08:00
Moonchild
df94ccb22c Issue #1751 -- Remove XP_MACOSX conditionals and support files from /xpcom 2021-05-05 10:28:58 +08:00
Moonchild
2f27335cc4 Issue #1751 -- Remove XP_DARWIN 2021-05-05 10:27:04 +08:00
Moonchild
a9c8f3a84a Issue #1751 -- Remove XP_IOS 2021-05-05 10:26:14 +08:00
Brian Smith
e4030ad075 Issue #1690 - Part 1: Fix MacOS version detection above 10.15.
Changes based on Mozilla bug 1616404 but supporting back to 10.7.
2020-12-02 09:57:28 +08:00
Moonchild
035de9597b [xpcom] Don't use realloc for shrinking nsTArrays when allowRealloc is false.
The original patch handled the grow case but not the shrink case. When the
current and new allocation sizes are in different size classes, jemalloc's
realloc will move the allocation when shrinking, not just truncate the existing
one.

Based on work by Jon Coppeard.
2020-11-20 09:30:41 +08:00
David Major
07864a9251 [xpcom] Fix GetWindowsFolder storage 2020-11-19 21:11:57 +08:00
Moonchild
d5919942ff Issue #1656 - Part 8: Devtools and misc. 2020-09-25 22:06:55 +08:00
Moonchild
0cd673d720 Issue #1656 - Part 6: Clean up the build files 2020-09-25 22:04:23 +08:00
Moonchild
538b420319 Issue #1656 - Part 4: Manual cleanup 2020-09-25 22:04:20 +08:00
Moonchild
d7a4abc3d4 Issue #1656 - Part 4: Tackle *.idl, *.css, *.ipdlh, *.webidl, *.cc 2020-09-25 22:04:18 +08:00
Moonchild
8c395520d9 Issue #1656 - Part 1: Nuke most vim config lines in the tree.
Since these are just interpreted comments, there's 0 impact on actual code.
This removes all lines that match /* vim: set(.*)tw=80: */ with S&R -- there are
a few others scattered around which will be removed manually in a second part.
2020-09-25 22:04:12 +08:00
Gaming4JC
48006dc075 Issue #618 - Clear the module map - Debug Followup
An assertion was added to dom/script/ScriptLoader.cpp but fails to compile on debug builds due it not being included in the namespace.

Ref: BZ 1529203
2020-09-16 21:11:08 +08:00
Andrea Marchesini
7a37234be2 [xpcom] Make Base64 compatible with ReadSegments() with small buffers. 2020-07-31 08:07:55 +08:00
Jiaxun Yang
e9e90bb62c Bug 1394286 - mips64: fix error correction about stackpointer within function _NS_InvokeByIndex
Tag: #1542
2020-05-23 06:53:52 +08:00
Matt A. Tobin
4e14355697 Bug 1372829 - Part 2: mozilla::EditorBase should cache raw pointer of nsISelectionController and nsIDocument with nsWeakPtr
Tag #1375
2020-04-18 07:04:22 +08:00
JMadgwick
1640ee7bc6 Issue #1471 - Fix building on sparc64 Linux
Correct various pre-processor defines for sparc64 and in mozjemalloc use the JS arm64 allocator on Linux/sparc64.
This corrects build problems opn Linux sparc64 and is in line with bugzilla bug #1275204.
2020-04-03 09:26:50 +08:00
Matt A. Tobin
a0b7617ca0 Issue #1053 - Remove android support from xpcom/threads/nsThread.cpp
Forgot to save..
2020-02-27 07:31:07 +08:00
Matt A. Tobin
26403f20ac Issue #1053 - Remove android support from XPCOM 2020-02-27 07:31:05 +08:00
Gaming4JC
249667092c Bug 1406922 - Make CycleCollectedJSContext to handle microtasks and make MutationObserver to use them
Tag UXP Issue #1344
2020-01-31 07:40:39 +08:00
Gaming4JC
fb6f6ec903 Bug 1405821 - Move microtask handling to CycleCollectedJSContext
Tag UXP Issue #1344
2020-01-31 07:40:36 +08:00
wolfbeast
fe9d8da299 Issue #1319 - Enable promise debugging only in DEBUG builds. 2020-01-17 09:17:13 +08:00
wolfbeast
c9a887d46b Issue #1319 - Disable MOZ_LOGGING in production builds.
This makes it only enabled in debug builds, instead, where logging
would be most useful.
2020-01-17 09:17:10 +08:00
wolfbeast
d28c0b15a6 Issue #1319 - Remove stderr_to_file.
This local-debug function is only useful for Android to work around
issues with logspewing and should never be in production builds anyway.
2020-01-17 09:17:08 +08:00
wolfbeast
40f99b202a Issue #1322 - Part 1: Remove the DOM Promise guts.
This removes all the parts guarded by SPIDERMONKEY_PROMISE
2019-12-20 09:07:24 +08:00
athenian200
1e75eb89f3 Fix nits.
I hope this addresses everything.
2019-11-04 11:54:09 +08:00
athenian200
45bf760ac5 MoonchildProductions#1251 - Part 27: Fix ifdef style.
This should do it for all the commits to files I changed, but while I'm in here I could probably go ahead and turn ALL the singular if defined statements into ifdef statements by using grep/find on the tree. On the other hand, perhaps we should do that as a separate issue so that this doesn't become a case of scope creep.
2019-11-04 11:54:07 +08:00
athenian200
0239eb8ac9 MoonchildProductions#1251 - Part 23: Allow AMD64 build to work.
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Compiling_32-bit_Firefox_on_a_Linux_64-bit_OS

Setting this up turned out to be easier than I thought it would be. All I had to do was apply these instructions in reverse and add the following to my .mozconfig file:

CC="gcc -m64"
CXX="g++ -m64"
AS="gas --64"
ac_add_options --target=x86_64-pc-solaris2.11
export PKG_CONFIG_PATH=/usr/lib/amd64/pkgconfig
ac_add_options --libdir=/usr/lib/amd64
ac_add_options --x-libraries=/usr/lib/amd64

Most of these changes were fairly trivial, just requiring me to make a few of the changes I made earlier conditional on a 32-bit build. The biggest challenge was figuring out why the JavaScript engine triggered a segfault everytime it tried to allocate memory. But this patch fixes it:

https://github.com/OpenIndiana/oi-userland/blob/oi/hipster/components/web/firefox/patches/patch-js_src_gc_Memory.cpp.patch

Turns out that Solaris on AMD64 handles memory management in a fairly unusual way with a segmented memory model, but it's not that different from what we see on other 64-bit processors. In fact, I saw a SPARC crash for a similar reason, and noticed that it looked just like mine except the numbers in the first segment were reversed. Having played around with hex editors before, I had a feeling I might be dealing with a little-endian version of a big-endian problem, but I didn't expect that knowledge to actually yield an easy solution.

https://bugzilla.mozilla.org/show_bug.cgi?id=577056

https://www.oracle.com/technetwork/server-storage/solaris10/solaris-memory-135224.html

As far as I can tell, this was the last barrier to an AMD64 Solaris build of Pale Moon.
2019-11-04 11:54:02 +08:00
athenian200
cbf60a2058 Fix a bunch of dumb typos and omissions. 2019-11-04 11:53:57 +08:00
athenian200
afb2e3a054 MoonchildProductions#1251 - Part 4: Core build system changes, lots of libevent/IPC junk.
This is mostly ifdefs, but as you can see, Solaris is actually a lot like Linux. They're both more SysV than BSD at core, and most of the differences have more to do with Solaris not using glibc than anything else.

I still need to audit a lot of these changes and understand why they're needed and what the alternative approaches are. After this patch, most of the core functionality needed to build Solaris is here.
2019-11-04 11:52:17 +08:00