[fpc-devel] The 15k bounty: Optimizing executable speed for Linux x86 / LLVM

Michael Van Canneyt michael at freepascal.org
Thu Oct 25 11:51:31 CEST 2018



On Thu, 25 Oct 2018, Sven Barth via fpc-devel wrote:

> Michael Van Canneyt <michael at freepascal.org> schrieb am Do., 25. Okt. 2018,
> 09:38:
>
>>
>>
>> On Sat, 20 Oct 2018, Simon Kissel wrote:
>>
>>> - Make Exception handling, TLS etc use the infrastructure that
>>>  libpthread is providing
>>
>> TLS is handled already by libpthread. I doubt you will gain much there.
>>
>> However, Exception handling is a problem. There are 2 possible ways ahead:
>> - DWARF exception handling as mentioned by Sven.
>> - Port SEH to be cross platform, this is the approach as taken by Kylix.
>> Kilyx has a small rtlunwind  library that mimics the needed run-time
>> functionality
>> offered by Windows.
>>
>> Conceivably, it can be duplicated. wine probably has such a library which
>> can be used as an inspiration.
>>
>> The needed compiler infrastructure for SEH  already exists, so this is
>> most likely
>> the fastest way to proceed.
>>
>
> I'm against emulating SEH. Better implement DWARF exceptions. The
> infrastructure that was created for SEH inside the compiler should help
> nevertheless.

You can be against, and  you don't need to work on it, 
but if someone supplies a patch, I don't think we should refuse it.

Personally I am also in favour of a more open technique instead of a
technique which is proprietary to a platform, and in this sense I understand
and endorse your point of view, but beggars can't be choosers.

There is no problem to have both techniques available. As I wrote, the SEH
is the fastest path.

So hopefully we will be able to compare and can still choose the better/faster one.

Michael.



More information about the fpc-devel mailing list