Use lower level implementation for GetMemoryMappings, avoiding a buffer copy in the process
Categories
(Firefox Build System :: General, task)
Tracking
(firefox119 fixed)
Tracking | Status | |
---|---|---|
firefox119 | --- | fixed |
People
(Reporter: sergesanspaille, Assigned: sergesanspaille)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
The implementation of GetMemoryMappings
uses an internal std::string
to read each line, and that buffer is later copied to an nsAutoCStringN
in order to perform an strtok
-based parsing.
Using a lower level approach avoid the copy on each line processing, and avoid using an nsAutoCStringN
that has an extra overhead under -ftrivial-auto-var-init
(to initialize the stack buffer).
Assignee | ||
Comment 1•1 year ago
|
||
This is both beneficial for the actual code and an enhancement wrt.
-ftrivial-auto-var-init as it gets rid of a usage of nsAutoCString.
Pushed by sguelton@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d94f12d0e000 Use lower level implementation for GetMemoryMappings, avoiding a buffer copy in the process r=emilio
Comment 3•1 year ago
|
||
Backed out for causing memory related assertion failures.
Failure log:
- https://treeherder.mozilla.org/logviewer?job_id=427594406&repo=autoland
- https://treeherder.mozilla.org/logviewer?job_id=427594419&repo=autoland
Backout link: https://hg.mozilla.org/integration/autoland/rev/f5e6bce28e5060c274360897d0241d38e2af632c
Assignee | ||
Comment 4•1 year ago
|
||
Issue identified, I submitted a patch in patch 1851154
Pushed by sguelton@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8b72bb550f87 Use lower level implementation for GetMemoryMappings, avoiding a buffer copy in the process r=emilio
Comment 6•1 year ago
•
|
||
Backed out for causing build bustage in xpcom/base/MemoryMapping.cpp
Backout link: https://hg.mozilla.org/integration/autoland/rev/272e977ff5ffe96d148f3b45c018078dc7b26d7d
Updated•1 year ago
|
Pushed by sguelton@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2f21879d591e Use std::string::data() as strtok param in GetMemoryMappings, avoiding a buffer copy in the process r=emilio
Comment 8•1 year ago
|
||
bugherder |
Assignee | ||
Updated•1 year ago
|
Description
•