On Monday 2016-05-02 10:07 -0700, Bobby Holley wrote: > This might be helpful: > http://mxr.mozilla.org/mozilla-central/source/js/xpconnect/src/XPCJSRuntime.cpp#3440 > > I can't vouch 100% for its accuracy, but it's probably pretty close. > > In general, dynamic stack checks (measuring the top of the stack at XPCOM > startup, and comparing it with the stack at the point of interest) seem > preferable to hard-coding number-of-recursive-calls, since it doesn't > depend on the size of stack frames, which may drift over time. We can't do > this for JS (see the comments surrounding the MXR link above), but I bet we > could for layout.
We already have some code that could be improved to do stuff like this (see nsFrame::IsFrameTreeTooDeep and NS_FRAME_TOO_DEEP_IN_FRAME_TREE), but we'd need to add checks in other places (particularly frame construction, which is also recursive), and we'd also need to make sure that hitting these conditions kept things in a safe state and didn't cause security bugs like https://bugzilla.mozilla.org/show_bug.cgi?id=619021 . This probably requires thorough testing of any such code. -David -- 𝄞 L. David Baron http://dbaron.org/ 𝄂 𝄢 Mozilla https://www.mozilla.org/ 𝄂 Before I built a wall I'd ask to know What I was walling in or walling out, And to whom I was like to give offense. - Robert Frost, Mending Wall (1914)
signature.asc
Description: PGP signature
_______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform