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

Reply via email to