@mpweiher That’s probably a relic of the compiler’s heritage - they were derived from the Plan 9 C compilers, which also used that intermediate assembler format and left instruction selection for the target architecture (mostly) to the linker.
TEXT main+0(SB),0,$8 MOVW j-8(SP),R6 MOVW $1,R1 MOVW R1,R4 B ,4(PC) B ,2(PC) B ,12(PC) ADD $1,R4,R4 CMP $42,R4, BGE ,-3(PC) MOVW R4,R2 MOVW $3,R5 MOD R5,R2 CMP $0,R2, MOVW.NE R4,R1 ADD.NE R4,R6,R3 MOVW.NE R3,R6 B ,-12(PC) MOVW R6,R0 RET , RET , END ,
@mpweiher All of these are superficially very similar, but there are already some optimizations done in the compiler stage, e.g. using "INC" on x86 instead of adding 1 on the RISC architectures. But this is not a higher-level representation e.g. on the level of LLVM IR. Some stuff is unified, "such as left-to-right assignment order for instruction operands and the synthesis of macro instructions such as MOVE" (from [1]).
Does anyone have an electronic copy of the CMU tech report of Michael Wayne Young Ph.D. thesis "Exporting a User Interface to Memory Management from a Communication-Oriented Operating System"?
This is CMU technical report CMU-CS-89-202. The CMU tech report server has no entries for 1989...
@lukeshu There are a number of open source emulators available. qemu should be able to emulate the MIPS magnum (MIPS R4k-based) and I managed to run the 2nd edition NeXT port on Previous (https://sourceforge.net/projects/previous/), haven't tested 1e. A Sun 4c Sparcstation 2 is emulated by tme (https://people.csail.mit.edu/fredette/tme/index.html), but that's difficult to build. Working emulators for the Hobbit, Gnot, or Indigo are not available AFAIK. But yes, the PC port is probably the easiest way to run 1e.
While looking for interesting Japanese computers, I came across an ad for SONY NEWS workstations which included this picture. What's interesting is the set of books on that desk...
We all know "hexspeak" magic hexadecimal constants used in #Unix code such as 0xdeadbeef or 0xcafebabe (magic number for universal Mach-O files as well as Java class files). This one found by Colin Gordon during an internship in the #Solaris team at #Sun Microsystems in 2007 was new to me... (/usr/src/uts/common/sys/dumphdr.h)