Closed
Bug 1574388
Opened 4 months ago
Closed 4 months ago
Implement PHC on Mac
Categories
(Core :: Memory Allocator, enhancement)
Core
Memory Allocator
Not set
Tracking
()
RESOLVED
FIXED
mozilla70
Tracking | Status | |
---|---|---|
firefox70 | --- | fixed |
People
(Reporter: njn, Assigned: njn)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
The number of Mac Nightly users is just over 5,000, very similar to the number of Linux users. (Windows is about 38,000.)
It won't make a huge difference, but we need all the coverage we can get, and (in theory) it's not hard to port to Mac.
![]() |
Assignee | |
Comment 1•4 months ago
|
||
![]() |
Assignee | |
Comment 2•4 months ago
|
||
With the attached patch I get some link errors involving recordreplay
:
0:08.91 Undefined symbols for architecture x86_64:
0:08.91 "__ZN7mozilla12recordreplay30InternalEndOrderedAtomicAccessEv", referenced from:
0:08.91 __ZN7mozilla12recordreplayL22EndOrderedAtomicAccessEv in Unified_cpp_memory_replace_phc0.o
0:08.91 "__ZN7mozilla12recordreplay23gIsRecordingOrReplayingE", referenced from:
0:08.91 __ZN7mozilla12recordreplayL22IsRecordingOrReplayingEv in Unified_cpp_memory_replace_phc0.o
0:08.91 "__ZN7mozilla12recordreplay32InternalBeginOrderedAtomicAccessEPKv", referenced from:
0:08.91 __ZN7mozilla12recordreplayL24BeginOrderedAtomicAccessEPKv in Unified_cpp_memory_replace_phc0.o
0:08.92 ld: symbol(s) not found for architecture x86_64
0:08.92 clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
0:08.92 make[2]: *** [../../../../dist/bin/logalloc-replay] Error 1
0:08.92 make[1]: *** [memory/replace/logalloc/replay/target] Error 2
0:08.92 make[1]: *** Waiting for unfinished jobs....
bhackett, glandium: any ideas what is the matter?
Background:
- PHC is somewhat special, being in
memory/replace/
, which means it's not part of libxul. - PHC doesn't contain any
recordreplay
code, AFAICT, though it's possible it pulls some in via header inclusion. - PHC is already implemented for Linux and Windows, and I haven't seen any problems like this on those platforms.
- The error is in
memory/replace/logalloc/replay/
, and themoz.build
file in that directory does have some PHC-specific stuff in it involving some.cpp
files in mozglue and MFBT. So that might be relevant.
Flags: needinfo?(mh+mozilla)
Flags: needinfo?(bhackett1024)
Comment 3•4 months ago
|
||
Try changing the Atomics in PHC to add a mozilla::recordreplay::Behavior::DontPreserve template argument.
Flags: needinfo?(mh+mozilla)
Flags: needinfo?(bhackett1024)
![]() |
Assignee | |
Comment 4•4 months ago
|
||
It works, thank you.
Updated•4 months ago
|
Attachment #9085970 -
Attachment description: Bug 1574388 - [DRAFT] Implement PHC on Mac. → Bug 1574388 - Implement PHC on Mac. r=glandium,gsvelto
Pushed by nnethercote@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1429658f80ca Implement PHC on Mac. r=gsvelto,glandium
Comment 6•4 months ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 4 months ago
status-firefox70:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla70
You need to log in
before you can comment on or make changes to this bug.
Description
•