The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Paul Winalski <paul.winalski@gmail.com>
To: Clem Cole <clemc@ccc.com>
Cc: The Eunuchs Hysterical Society <tuhs@tuhs.org>
Subject: Re: [TUHS] DEC compilers (was Happy birthday, John Backus!)
Date: Wed, 5 Dec 2018 14:15:14 -0500	[thread overview]
Message-ID: <CABH=_VTcn6zdqVUrfXp3ug_6A0W+=HRLR0rU2Ngp=eCL0y0tSg@mail.gmail.com> (raw)
In-Reply-To: <CAC20D2PnjAM=OSsjwktriS_BmAUwaCcRsLwPKm6A8mSmf362jw@mail.gmail.com>

On 12/5/18, Clem Cole <clemc@ccc.com> wrote:
>
>  Plus the Alpha is being developed by then, so TLG is up to neck in the GEM
> development cycle which would replace everything i the languages teams when
> the dust settled (as Paul has mentioned it was an amazing piece of work at
> the time and still somewhat lasts today - the VMS,Inc folks of course are
> built an INTEL*64 code generator for it and supposedlty have VMS booting on
> modern HW these days).

One of the design goals for GEM was to avoid another fire drill like
the VAX Fortran Ultrix port.  GEM had a set of modules called the GEM
Shell that isolated the rest of the compiler from OS
platform-dependent activities such as command line parsing, file I/O,
heap memory management, source locator management, and object file
generation.  The GEM Shell presented a set of abstract APIs for these
activities to the rest of the compiler.  This made support of new OS
platforms or object file formats relatively easy.

GEM already supported Itanium by the time Compaq sold off the Alpha
technology to Intel.  VMS is mostly implemented in BLISS and VAX
assembler, and GEM-based Itanium-targeted compilers already existed
for both of these.  VMS Software Inc. uses the GEM-based compilers for
support and ongoing new development on the Alpha and Itanium
platforms.  For the Intel64 port of VMS, VSI is using Clang/LLVM as
their C/C++ compiler.  For BLISS and VAX assembler, they are using the
GEM-based front ends, and a GEM-to-LLVM IL translator to use LLVM as
the optimizer/code generator.

-Paul W.

  parent reply	other threads:[~2018-12-05 19:16 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-05 16:24 Paul Winalski
2018-12-05 16:46 ` Paul Winalski
2018-12-05 17:06   ` Warner Losh
2018-12-05 17:58   ` Clem Cole
2018-12-05 18:16     ` Paul Winalski
2018-12-05 18:26     ` Henry Bent
2018-12-05 18:46       ` Clem Cole
2018-12-05 18:56         ` Lars Brinkhoff
2018-12-05 19:15         ` Paul Winalski [this message]
2018-12-05 21:35           ` Arrigo Triulzi
2018-12-07 19:03             ` Paul Winalski
2018-12-05 19:13 Norman Wilson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CABH=_VTcn6zdqVUrfXp3ug_6A0W+=HRLR0rU2Ngp=eCL0y0tSg@mail.gmail.com' \
    --to=paul.winalski@gmail.com \
    --cc=clemc@ccc.com \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).