In theory, EH doesn't need full RTTI (dynamic_cast/typeid); just
enough for the thrown types.  I can also see that gcc/msvc have
separate EH/RTTI flags.  I don't have any actual measurements on this,
but it seems worth remeasuring since it might've improved in the
interim.

On Tue, Jan 5, 2016 at 8:57 PM, Robert O'Callahan <rob...@ocallahan.org> wrote:
> On Tue, Dec 22, 2015 at 5:11 AM, Luke Wagner <lwag...@mozilla.com> wrote:
>>
>> I think there was also a performance reason: IIUC, the non-zero-cost
>> exception handling strategy is baked into the Win32 ABI
>> (https://www.microsoft.com/msj/0197/exception/exception.aspx) and thus
>> enabling EH has a runtime cost for frames containing auto objects with
>> destructors (which in modern SM is very common).  I vaguely remember
>> seeing a platform email thread about using EH a while back (>6 years)
>> that measured the then-overhead in Gecko to be ~10%; I can't find the
>> thread now.  I talked to an engineer who worked on EH optimizations in
>> MSVC and he said that there have been some 32-bit EH optimizations
>> more recently but there is still runtime cost to having auto objects
>> with destructors, so probably this is worth measuring again.  Assuming
>> we're able to move a large percentage of FF users to Win64 builds over
>> the next year, then it seems like we'd care about this even less.
>
>
> As I recall, there was a significant performance hit just enabling RTTI,
> which is a prerequisite for exception handling. I think it was a space
> problem. Mike Hommey would know more.
>
> Rob
> --
> lbir ye,ea yer.tnietoehr  rdn rdsme,anea lurpr  edna e hnysnenh hhe uresyf
> toD
> selthor  stor  edna  siewaoeodm  or v sstvr  esBa  kbvted,t
> rdsme,aoreseoouoto
> o l euetiuruewFa  kbn e hnystoivateweh uresyf tulsa rehr  rdm  or rnea lurpr
> .a war hsrer holsa rodvted,t  nenh hneireseoouot.tniesiewaoeivatewt sstvr
> esn
_______________________________________________
dev-tech-js-engine-internals mailing list
dev-tech-js-engine-internals@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to