voidfoo wrote:
I once tried to port Mono to IRIX but failed. There are x86 specific assembly code in the source code, which makes it a hard job.
This is both true and not true. You see, I have also started and abandoned a mono port to IRIX. I had it, err, somewhat working.
There's
virtually no architecture-specific material in the source tree. There's very little OS-specific material. It built on IRIX with <100 lines of code changed, all but a few in IFDEFs and build scripts.
The only work that really needs to be done is in the code generator. The entire bytecode-to-native-code compiler is retargetable, using a scheme very similar to
lcc. Basically, someone needs to write and test conversions between the compiler's basic operations and MIPS assembly. This is harder than it sounds. I had a minimal set mangled from looking at the SPARC code, and while it sort of worked, it was not at all stable.
Mono still has an interpreter library that is used to build the dissembler and a few tests, but the interpreter is no longer capable of executing code. Don't bother barking up that tree.
If someone were to port mono to bigendian Linux/MIPS, it would take about an hour to get it up and running on IRIX.
That said, a MIPSpro port is totally impossible. Mono relies on being able to use inline assembly. Even if it were possible to change that, no patches that change that would ever be accepted. One would be in the very unenviable position of maintaining a weird fork for a very, very unpopular OS.
Quote:
AFAIK VS is not written entirely in .NET. They might use it for UI but for performance the core functionalities are written in C++.
VS2003 and later are based upon the old Visual Interdev codebase, from 1996. It predates .NET by quite a lot
