Related articles |
---|
incremental compilation via shared library dave@yost.com (1993-08-25) |
Re: incremental compilation via shared library cliffc@rice.edu (1993-08-29) |
incremental compilation via shared library brent@jade.ssd.csd.harris.com (1993-08-30) |
Re: incremental compilation via shared library pardo@cs.washington.edu (1993-09-02) |
Re: incremental compilation via shared library assmann@prosun.first.gmd.de (1993-09-03) |
Re: incremental compilation via shared library brett@digits.enet.dec.com (1993-09-07) |
Re: incremental compilation via shared library pop@dcs.gla.ac.uk (pop) (1993-09-07) |
Re: incremental compilation via shared library pcg@decb.aber.ac.uk (1993-09-11) |
Re: incremental compilation via shared library tmb@arolla.idiap.ch (1993-09-20) |
[4 later articles] |
Newsgroups: | comp.compilers |
From: | brent@jade.ssd.csd.harris.com (Brent Benson) |
Keywords: | linker, design, Lisp |
Organization: | Compilers Central |
References: | 93-08-104 |
Date: | Mon, 30 Aug 1993 16:28:18 GMT |
# dave@yost.com (Dave Yost) writes:
#
# I don't travel these parts often, but I've been wondering...
# Isn't it time compilation became as easy as making a subroutine call?
#
# I think it would be great if there were shared libraries that
# offered incremental compilation services.
I'm not sure how shared libraries come into play, but this sort of
incremental compilation has been offered in Lisp programming
environments for years:
> (defun square (n) (* n n))
SQUARE
> (compile 'square)
SQUARE
> (disassemble #'square)
move [%fp + 8] <= %i0 ; local 0
move %i0 <= [%fp + 8] ; local 0
move %i1 <= [%fp + 8] ; local 0
move %x1 <= [%cp + 30] ; *
add %u3 <= %sq, 11647 ; SQ-CALLF-TRAMPOLINE-2
jalr %ra <= [%u3]
add %fp <= %fp, 28 ; local 5
move %cp <= [%fp - 28] ; local -9
add %fp <= %fp, -28 ; local -9
move %u3 <= [%fp + 4] ; return address
nop
jr [%u3]
nop
NIL
>
While your proposal sounds interesting, I think the biggest obstacle
to incremental compilation in traditional environments (C/C++) is a
dynamic object file loader. I don't mind running the compiler in a
separate process if I can load the resulting object file into my
running process and access its functions and data. The other thing
that I would like to have available on every system I work on is an
easy to use and effective conservative garbage collector. These
things are available, along with a threads mechanism, in the Xerox
Portable Common Runtime (PCR). Unfortunately, it is not ported to any
system that I regularly use.
Brent Benson
Harris Computer Systems
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.