In bug 588537, I added an #include of "jswin.h", which includes <windows.h>, to jsprobes.h. Brendan mentioned to me that that's not such a great idea, which I agree with. I have a simple followup fix that I'm still trying to get to compile.
Created attachment 545839 [details] [diff] [review] Move ETW implementations into jsprobes.cpp, eliminate windows.h include from header This patch removes all ETW code from the jsprobes.h header and moves it into jsprobes.cpp. This removes windows.h pollution in JS header files, and the loss of inlining is unlikely to matter given ETW's overhead. (As in, it's already doing non-inlined function calls.) As part of this, I added 3 new probe types, still lacking dtrace etc implementations: runtime create/destroy and final shutdown. This also fixes a build failure I was getting with the bug 588537 patches, which mysteriously did not seem to affect my try pushes for some reason. The fix is to make only jsprobes.obj depend on the generated ETWProvider.h instead of all object files. (Without this patch, many of those files really did depend on it, but the rule was wrong so it also added in some *.cc files.)
Comment on attachment 545839 [details] [diff] [review] Move ETW implementations into jsprobes.cpp, eliminate windows.h include from header I should stop dumping all probe-related reviews on gal.