Closed Bug 1563046 Opened 4 months ago Closed 4 months ago

Compiler inlining of LazyLogModule::operator LogModule* prevents use in debugger

Categories

(Core :: XPCOM, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla69
Tracking Status
firefox69 --- fixed

People

(Reporter: khuey, Assigned: khuey)

Details

Attachments

(1 file)

Previous history: bug 1525303, bug 1386918

Our Pernosco debugger has the ability to do "after the fact" logging. This works by changing the return value of functions that trigger logging (such as LazyLogModule::operator LogModule*) and then diverging to follow the changed code path as it writes logs. When this function is inlined, we cannot do this (primarily because we don't have an ABI guarantee of where the return value is at any point in time).

In light of the previous performance history here, I propose to out-of-line this in debug builds only.

Pushed by nfroyd@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9fd54a078230
Move operator LogModule* out of line in debug builds. r=froydnj
Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla69
You need to log in before you can comment on or make changes to this bug.