Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder3.hal-mli.net!nx02.iad01.newshosting.com!newshosting.com!novia!news-out.readnews.com!news-xxxfer.readnews.com!news.misty.com!news.iecc.com!nerds-end From: BGB Newsgroups: comp.compilers Subject: Re: How to handle qualified identifiers such as x.y in a Pascal-like language Date: Thu, 07 Jul 2011 04:14:36 -0700 Organization: albasani.net Lines: 34 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <11-07-017@comp.compilers> References: <11-06-037@comp.compilers> <11-06-039@comp.compilers> <11-06-045@comp.compilers> <11-07-004@comp.compilers> <11-07-008@comp.compilers> <11-07-011@comp.compilers> NNTP-Posting-Host: news.iecc.com X-Trace: gal.iecc.com 1310061428 55533 64.57.183.58 (7 Jul 2011 17:57:08 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Thu, 7 Jul 2011 17:57:08 +0000 (UTC) Keywords: symbols, code Posted-Date: 07 Jul 2011 13:57:08 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: x330-a1.tempe.blueboxinc.net comp.compilers:193 On 7/3/2011 1:14 PM, BGB wrote: > granted, I can't claim any objectivity here, given my personal dislike > (in general) of the SysV/AMD64 ABI... > [It is my impression that a lot of languages that allow closures and the > like end up with their own calling sequences. -John] fair enough, however, most calling conventions are not nearly so antisocial towards external interfacing. glueing code together with cdecl (AKA: SysV/i386 or similar) or Win64 is usually a relatively straightforward process (albeit there is the complexity in the Win64 case that simply stuffing a single argument onto the stack would lead to a misaligned stack, and one still has to generally know the number and types of arguments to adjust for this). SysV/AMD64 is relatively unique in requiring one to essentially rebuild the arguments list to make minor adjustments (making these tasks potentially a bit more expensive). but, yeah, there are merits potentially to devising ones own ABI. for example, there are many tasks that could be potentially done more efficiently, ... also, if the new ABI can be built on top of things that can be done in C, then it may sidestep having to do a bunch of nasty ASM-based cruft to make it work (a current downside of some of my present stuff). but, my reason for trying to stick so much to the C ABIs, is that it makes it generally much easier to interface things with C. meanwhile, my assembler (previously x86/x86-64 only) now also targets ARM. however, in general, ARM systems are giving me lots of trouble, making the prospect of actually testing the thing on/with ARM a bit more problematic at the moment.