<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
 > I'd like to, if I only knew how.  I'd be really interested in having the<br> > low-level infrastructure for JIT code generators<br><BR> <BR>Would you be satisfied with a Modula-3 interpreter that interpreted a mostly-compiled form?<BR>It shouldn't be difficult.<BR>I don't know if our intermediate code was designed with interpretation in mind, but it seems<BR>like it wouldn't be particularly difficult.<BR>You'd want a "linker" that just zips all the files and puts it "in" or "next to" the stub executable.<BR> <BR> <BR>This would solve the distribution format problem, partly.<BR>The existing intermediate code is platform-specific, but not by much (again: jumpbuf size, word size, endian,<BR>win32 vs. posix).<BR> <BR> <BR>But I have to admit, I'm keener on generating C than a JIT or an interpreter, and<BR>interpreter is not JIT.<BR> <BR> <BR>Um. What do you hope to gain from JIT?<BR>A big reason I ask..is because..well, do you want to ship some portable-executable that relies<BR>on JIT being already installed/available? Or do you want to carry the JITer and its code together?<BR>Or do you want to target an existing widely deployed JITer such as CLR or Java?<BR> <BR> <BR>In my opinion, the biggest advantage of JIT is portable-executable, depending on widely deployed JITer.<BR>But targeting CLR or Java isn't as easy as targeting your own custom thing.<BR> <BR> <BR>I understand there are other advantages -- faster compilation, optimization very specific to runtime environment.<BR>But I think portable-executable is most important. That's why I like "script". :)<BR>There are disadvantages to JIT: slower execution/startup, maybe harder to debug, easy to reverse engineer (if you care).<BR> <BR> <BR>Heck, at some point you just ship the compiler and portable-executable is source code.<BR>There are pluses and minuses all around.<BR> <BR> <BR> <BR> - Jay<BR>                                        </div></body>
</html>