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

Cedric VINCENT cedric.vincent at st.com
Mon Jan 5 06:35:37 EST 2009


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. 


More information about the Mono-devel-list mailing list