Closed Bug 1382076 Opened 7 years ago Closed 7 years ago

Make DMD usable on Win32

Categories

(Core :: DMD, enhancement)

54 Branch
Unspecified
Windows
enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: n.nethercote, Assigned: n.nethercote)

Details

(Keywords: perf, Whiteboard: [MemShrink])

Attachments

(1 file)

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.
(In case it wasn't clear: DMD already works fine on Win64.)
The patch also uses a better value for skipFrames on Win64.
Attachment #8887743 - Flags: review?(erahm)
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+
> 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.
https://hg.mozilla.org/mozilla-central/rev/8b89d684f633
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: