From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <5970ae4ea6d347c4922b94471553279a@quanstro.net> To: 9fans@cse.psu.edu Subject: Re: [9fans] Non-stack-based calling conventions From: erik quanstrom Date: Sun, 17 Feb 2008 10:04:47 -0500 In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: 57eedc2e-ead3-11e9-9d60-3106f5b1d025 > COFF has had to cope with a certain monster dubbed portability; to adapt > to the peculiarities of the many flavors of UNIX (and at least one > Microsoft OS, with MS-COFF). So good it has been practically put out of > business by ELF or... do Plan 9 compilers output COFF object files? see a.out(6). > COFF has had to cope with a certain monster dubbed portability; to adapt > to the peculiarities of the many flavors of UNIX (and at least one > Microsoft OS, with MS-COFF). So good it has been practically put out of > business by ELF or... do Plan 9 compilers output COFF object files? flat memory model: http://en.wikipedia.org/wiki/CDC_6600#Memory_organization > I am actually very grateful for having a flat 32/64 bit address space all > to myself. Even though the curse of managing virtual memory and driving > the associated hardware has been placed on every OS developer, occasional > programmers like me really enjoy the outcome. it's interesting to note that it is being loaded at a constant address makes the job of loading & generating the code much simplier. the location of allocated memory isn't as important --- those details can often be hidden in an malloc-style function. even on 386 hardware, segments can be used to cover all of memory. as long as your allocator knows where not to step (pci space, for example), this should be good enough. so if you're running without the operating system or your application is the operating system (embedded systems), virtual memory might just get in the way. tlb hardware doesn't do its translation for free. - erik