The debug_eh branch contains now support for dwarf based exception handling for i386-linux.

Testing fpc/tests/bench/bansi1.pp gives with trunk

Test 1: 1000000 done in 0.367 sec
Test 2: 1000000 done in 0.414 sec
Test 3: 1000000 done in 0.359 sec

while with debug_eh it results in

Test 1: 1000000 done in 0.337 sec
Test 2: 1000000 done in 0.310 sec
Test 3: 1000000 done in 0.315 sec

The debug_eh branch can be build with e.g. from x86_64-linux

make all OS_TARGET=linux CPU_TARGET=i386 -j OPT="-XP -dpsabieh -Aas" CROSSOPT="-Fl/lib/i386-linux-gnu/ -Fl/usr/lib/gcc/i686-linux-gnu/8/"

or natively:

make all -j OPT="-dpsabieh -Aas" OPT="-Fl/lib/i386-linux-gnu/ -Fl/usr/lib/gcc/i686-linux-gnu/8/"

/usr/lib/gcc/i686-linux-gnu/8 needs to be adapted to the build system, libgcc_s must be found.

The library pathes need to be passed when compiling a program as well, also -Aas is needed.

The debug_eh branch contains also the tls threadvar support, so this can be enabled when building by -dtls_threadvars as well.

Oh, and Kylix:

This module must be distributed under the terms of the GNU General Public License (GPL), version 2. A copy of this license can be found at:http://www.borland.com/kylix/gpl.html.
Test 1: 1000000 done in 0.819 sec
Test 2: 1000000 done in 0.826 sec
Test 3: 1000000 done in 0.794 sec

For Simon's benchmark is does not help though as it is not using exception frames in the hot spots.
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to