On Dec 18, 2011, at 12:57 , Benedikt Meurer wrote:

>> - Support for both softfp and VFPv3-D16 (if present).
>> - Properly supports interworking with Thumb/Thumb-2 code (for both OCaml and 
>> C code!)
>> - Supports dynamic linking and large memory models.
>> - Optional support for position-independent code via -fPIC, disabled by 
>> default and not required for natdynlink.
>> - Can emit both ARM and Thumb-2 code (currently Thumb-2 is used for ARMv7+ 
>> and ARM is used for everything else), with avg. code size savings of 27% for 
>> Thumb-2 (quite close the optimal 30% advertised by ARM Ltd.). I may also add 
>> support to emit small functions using Thumb-1 (for pre-ARMv7 / armel) in the 
>> future to reduce code size.
>> - Supports both AAPCS (armel) as well as extended VFP calling conventions 
>> (armhf).
>> - Properly supports backtraces.
>> - Recognizes several special ARM instructions (=> reduced code size and 
>> latency).
>> - Does not rely on GCC internals, but uses the standard ARM EABI runtime.
> 
> - Support for both VFPv3-D16 and VFPv3(-D32), using ocamlopt switch -ffpu 
> (armhf only).
> - Support for architecture selection using -farch.
> - Support for profiling using gprof.
> - Code cleanups.
> - Confirmed to work with Debian/armel on ARM9 / Cortex-A8 and Debian/armhf on 
> Cortex-A8.

Some notes about performance of the new backend: It is up to 4x faster 
(Cortex-A8 / armhf) and code size is reduced by up to 28% compared to the 
3.12.1 backend (Cortex-A8 / armel). See [1] for details.

> Testers and feedback welcome.

While we are at it: Can we have this patch applied to the Debian OCaml package? 
This would (a) get OCaml running native on armhf and (b) get some testing / 
feedback for the patch.

HTH,
Benedikt

[1] 
https://github.com/downloads/bmeurer/ocaml-arm/ocaml-arm-3.12.1+20111218-benchmark.pdf


-- 
Caml-list mailing list.  Subscription management and archives:
https://sympa-roc.inria.fr/wws/info/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Reply via email to