Re: Memory Limit for Visual Studio 2005???
- From: "Peter Olcott" <NoSpam@xxxxxxxxxxxxx>
- Date: Sun, 24 Dec 2006 13:56:25 -0600
"Jon Skeet [C# MVP]" <skeet@xxxxxxxxx> wrote in message
news:MPG.1ff8df7ea0ec90c798d71e@xxxxxxxxxxxxxxxxxxxxxxx
Peter Olcott <NoSpam@xxxxxxxxxxxxx> wrote:
I have written a couple of compilers, and the jitter is not a compiler.
It converts code from one language (IL) into native code. In what way
is it *not* a compiler?
I already carefully explained in what way it is not a compiler, and you cut
that
explanation out.
Not really - you said things that many compilers do which the JIT
doesn't have to do. That's not the same way as explaining why it isn't
a compiler.
In a similar way, I could say that a C compiler doesn't have to deal
with closures (which other compilers have to) - that doesn't make the C
compiler any less of a compiler.
It is not a compiler in that it does not translate nested
compound conditional statements forming if-the-else and do-while control flow
constructs into their equivalent jump code.
Could you provide the source for a definition of "compiler" which
requires that?
The wikipedia definition certainly doesn't require it. Here's the
start:
<quote>
A compiler is a computer program (or set of programs) that translates
text written in a computer language (the source language) into another
computer language (the target language). The original sequence is
usually called the source code and the output called object code.
Commonly the output has a form suitable for processing by other
programs (e.g., a linker), but it may be a human readable text file.
</quote>
Which part of that does a JIT compiler not do?
Here is a quote for your same source:
http://en.wikipedia.org/wiki/Compiler
The most common reason for wanting to translate source code is to create an
executable program. The name "compiler" is primarily used for programs that
translate source code from a high level language to a lower level language
(e.g., assembly language or machine language).
The JIT "compiler" does not translate high level language control flow
statements to lower level language control flow statements. The most important
part of a compiler' job is translating high level abstractions into lower level
implementations. The most important high level abstraction is high level control
flow statements, and the JIT "compiler" completely skips that part.
Although the jitter is commonly referred to as a compiler its true
role is much closer to that of an assembly language translator.
In some respects - but not in others.
However, even an assembler counts as a compiler in some senses. The
Wikipedia definition even mentions an assembler as an example:
<quote>
In this manner, assembly languages and the primitive compiler, the
assembler, emerged.
</quote>
--
Jon Skeet - <skeet@xxxxxxxxx>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too
.
- Follow-Ups:
- Re: Memory Limit for Visual Studio 2005???
- From: Jon Skeet [C# MVP]
- Re: Memory Limit for Visual Studio 2005???
- References:
- Memory Limit for Visual Studio 2005???
- From: Peter Olcott
- Re: Memory Limit for Visual Studio 2005???
- From: Willy Denoyette [MVP]
- Re: Memory Limit for Visual Studio 2005???
- From: Peter Olcott
- Re: Memory Limit for Visual Studio 2005???
- From: Chris Mullins
- Re: Memory Limit for Visual Studio 2005???
- From: Peter Olcott
- Re: Memory Limit for Visual Studio 2005???
- From: Jon Skeet [C# MVP]
- Re: Memory Limit for Visual Studio 2005???
- From: Peter Olcott
- Re: Memory Limit for Visual Studio 2005???
- From: Jon Skeet [C# MVP]
- Memory Limit for Visual Studio 2005???
- Prev by Date: Re: Memory Limit for Visual Studio 2005???
- Next by Date: Re: Trick to installing .net 2.0?
- Previous by thread: Re: Memory Limit for Visual Studio 2005???
- Next by thread: Re: Memory Limit for Visual Studio 2005???
- Index(es):
Relevant Pages
|