Make DMD usable on Win32

RESOLVED FIXED in Firefox 56

Status

()

Core
DMD
RESOLVED FIXED
a month ago
28 days ago

People

(Reporter: njn, Assigned: njn)

Tracking

({perf})

54 Branch
mozilla56
Unspecified
Windows
Points:
---

Firefox Tracking Flags

(firefox56 fixed)

Details

(Whiteboard: [MemShrink])

Attachments

(1 attachment)

(Assignee)

Description

a month ago
DMD has been unusable on Win32 for a long time because it makes Firefox astonishingly slow to start-up, for complex reasons explained in bug 1241684.

The solution is that same as the solution for Mac in bug 1371397: change DMD so it uses FramePointerStackWalk() instead of MozStackWalk() on Win32. This is what the Gecko Profiler does, and it works well.
(Assignee)

Comment 1

a month ago
(In case it wasn't clear: DMD already works fine on Win64.)
(Assignee)

Comment 2

a month ago
Created attachment 8887743 [details] [diff] [review]
Use FramePointerStackWalk() in DMD on Win32

The patch also uses a better value for skipFrames on Win64.
Attachment #8887743 - Flags: review?(erahm)
(Assignee)

Updated

a month ago
Assignee: nobody → n.nethercote
Status: NEW → ASSIGNED
Comment on attachment 8887743 [details] [diff] [review]
Use FramePointerStackWalk() in DMD on Win32

Review of attachment 8887743 [details] [diff] [review]:
-----------------------------------------------------------------

r+ with the mentioned fix.

::: memory/replace/dmd/DMD.cpp
@@ +814,1 @@
>      bool ok = MozStackWalk(StackWalkCallback, /* skipFrames = */ 2,

Presumably this should be changed to |, skipFrames,|
Attachment #8887743 - Flags: review?(erahm) → review+
(Assignee)

Comment 4

29 days ago
> Presumably this should be changed to |, skipFrames,|

Yikes! Good catch. I retested after fixing this and it turns out that 1 is a better value for Win64.
(Assignee)

Comment 5

29 days ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/8b89d684f633977acdd317654d040a86ddef466b
Bug 1382076 - Use FramePointerStackWalk() in DMD on Win32. r=erahm.
https://hg.mozilla.org/mozilla-central/rev/8b89d684f633
Status: ASSIGNED → RESOLVED
Last Resolved: 28 days ago
status-firefox56: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.