To give an update: I plan to experiment and get some size and perf numbers and report back later. But since this is not a high priority task for me, it may be a while before I get back to this.
Mark > On Feb 22, 2017, at 1:25 PM, Ryosuke Niwa <rn...@webkit.org> wrote: > > On Wed, Feb 22, 2017 at 12:41 PM, Mark Lam <mark....@apple.com> wrote: >> >> I would like to point out that we might be able to get the best of both >> worlds. Here’s how we can do it: >> >> define RELEASE_ASSERT(assertion) do { \ >> if (UNLIKELY(!(assertion))) { \ >> preserveRegisterState(); \ >> WTFReportAssertionFailure(__FILE__, __LINE__, WTF_PRETTY_FUNCTION, >> #assertion); \ >> restoreRegisterState(); \ >> CRASH(); \ >> } \ >> >> preserveRegisterState() and restoreRegisterState() will carefully push and >> pop registers onto / off the stack (like how the JIT probe works). >> > > I'm afraid this would bloat the binary size too much. You can test but > I'd be surprised if this didn't negatively impact perf especially in > WebCore code. > > - R. Niwa _______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev