This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re[2]: RTL/tree (from gcc) and Scheme

Hello Per,

Sunday, August 10, 2003, 5:43:50 PM, you wrote:

PB> In English (and GCC) usage, "GCC front end" and "GCC's front end"
PB> mean the same thing, so I don't understand the distinction
PB> you're trying to make.

I thought "GCC's" means "belongs to GCC" or "something of GCC".
Like "Father's car" :-)
Sorry. Anyway, neither English nor American dialect of it were never
my native language :) So let's focus on the sense, not on me and my
version of English. Your help will be very much appreciated here!

PB> Both mean "the language-specific part
PB> of GCC that deals with parsing and semantic analysis."

hmm, quite ambiguous... or?

I've meant "something, up to what C/C++ sources were translated to
before last steps of code generation and optimization."

Dear Per, anyway, you know the subject better then me, and you don't
need to check out who is wrong in definitions. Perhaps me. Would you
be so kind as to skip things where I am much worse then you, and focus
on the thing where you much better not then me, but then others?

Now I don't know anyone who is able to address this important task I'm
interested at, better then you can.

PB> The "back-end" means "the target-specific (hardware-specific) parts
PB> of GCC that deal with instruction selection and most optimizations".

I'd say "back-end" is just some standardized layer for making
output by "back-end compiler", maybe with assumption with consequent
translation to something lower-layered. And nothing more. But let's
assume you know the *real* definitions.

>> nice, could I treat your answer that kawa *already* can compile in
>> run-time?

PB> Definitely.

that could be *really* nice...

PB> Kawa fully supports eval, load, and a read-eval-print loop.
PB> To do that it compiles code at run-time.  (There is an interpreter, but
PB> it is incomplete and only used for "simple" expressions.  "Non-simple"
PB> expressions are always compiled to Java bytecodes.)

I am just wondering: R5RS has nothing to say about compilation. There
is even no any meaning for this. Do you mean then that kawa make
compilation to run-time before *every* eval?! it would be not that

>> solution through a file is not really nice. Indeed, is it then worth
>> of single function compilation?

PB> Probably not.

just think of program which creates a new function for every input
argument. it would be quite expensive to create a DLL for every case.

>> hm, I am a bit confused. At least Fortran, Ada and Java provided with
>> gcc distribution use the same RTL/tree as far as I understood... or am
>> I wrong?.. 

PB> Your question was about *run-time" use or RTL/tree.  All of those
PB> languages use trees and RTL for *compile-time* only.

that's right. Trees and RTL are used for *compile-time* only now.
And here came my question: is it really *impossible* to change thing
and use RTL/tree in run-time? Some languages could take a new breath
just because of this exported service!

BTW, Per, did you get a moment to take a glance at Bigloo?

P.S. even if you are a bit upset, thank you for your answers. I don't
     need to win any battle here. I am just wondering if it is
     possible to diminish the performance gap between GCC and Scheme,
     gcc and CL, gcc and Dylan and etc.

Best regards,
Valery                          mailto: khamenya at mail dot ru

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]