[Mono-dev] Mono on SH4: a work in progress

Rodrigo Kumpera kumpera at gmail.com
Mon Jan 5 07:42:00 EST 2009


Hi Cedric,

Those are some pretty sweet news!

Looks like SH4 requires a more thought out support for a constant pool than
other archs such as ARM.

Maybe we can factor out the code for the constant pool to be used by more
archs. ARM is one
that would benefit from such thing - we emit large constants as a 2-4
instructions sequence.
What do you think about it?

Cheers,
Rodrigo


On Mon, Jan 5, 2009 at 9:35 AM, Cedric VINCENT <cedric.vincent at st.com>wrote:

> Hi all,
>
> STMicroelectronics is studying the Common Language Infrastructure as a
> language/processor neutral representation for some parts of its
> embedded applications. Currently, we are focusing on GCC4NET to
> produce .NET assemblies from C source codes, and we are using Mono as
> an execution system. That's why we are considering Mono for some
> future work on dynamic optimizations and code size reduction, among
> other important things coming with a language/processor neutral
> representation...
>
> As a follow-up of the work already done by STMicroelectronics on
> GCC4NET http://gcc.gnu.org/projects/cli.html, we are currently working
> on a new Mono/SH4 port. This port is at an early stage and does not
> pass the "basic" test-suite, however it passes a new "trivial"
> test-suite, best suitable to start new ports.
>
> If you wish, you can take a look at the following Git repository:
> http://repo.or.cz/w/mono/stm.git
>
> Best regards,
> The Mono/SH4 team @ STMicroelectronics.
>
> PS: The SH4 is a RISC processor using 32 bits "data words" but only 16
>  bits "instructions words", so there is not many room to store an
>  "immediate value". To work around this constraint, the SH4 stores
>  big constants into a table addressable from the current
>  instruction pointer (a.k.a. constant pool). As a result, the
>  native code emitter for Mini/SH4 is quite different from the other
>  ports.
>
> PPS: We also provide a tiny Perl script creating "cpu-${arch}.md" from
>  tags inserted into output_basic_blocks(), so the op-codes
>  descriptions are close to theirs implementations.
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090105/2a0fa9a0/attachment.html 


More information about the Mono-devel-list mailing list