* [wwwdocs] java/papers/gcc-java.html goes XHTML
@ 2007-10-15 17:08 Gerald Pfeifer
2007-10-17 4:50 ` Per Bothner
0 siblings, 1 reply; 3+ messages in thread
From: Gerald Pfeifer @ 2007-10-15 17:08 UTC (permalink / raw)
To: gcc-patches, Per Bothner; +Cc: java-patches
I happened to spot this by chance while working on a validation run
for our whole website.
Impressive to realize that this was already written eleven years ago!
Per, this has your bothner@cygnus.com address. I thought I'd point
this out in case you may want to change this.
Gerald
2007-10-15 Gerald Pfeifer <gerald@pfeifer.com>
* java/papers/gcc-java.html: Make markup XHTML 1.1 compliant.
Index: gcc-java.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/java/papers/gcc-java.html,v
--- gcc-java.html 1 Feb 2004 20:09:21 -0000 1.4
+++ gcc-java.html 15 Oct 2007 17:02:19 -0000 1.5
@@ -1,4 +1,9 @@
-<html> <head>
+<?xml version="1.0" encoding="ASCII" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"
+ "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
<title>A Gcc-based Java Implementation</title>
</head>
<body>
@@ -7,11 +12,12 @@
<a href="http://www.bothner.com/">Per Bothner</a>
<a href="mailto:bothner@cygnus.com">bothner@cygnus.com</a>
</address>
-December 1996
-<p>
+
+<p>December 1996</p>
+
<h2>Short abstract</h2>
-While the portability of Java bytecodes is a major factor
+<p>While the portability of Java bytecodes is a major factor
in its success, we believe it cannot become a mainstream
programming language without mainstream implementation
techniques, specifically an optimizing ahead-of-time
@@ -32,11 +38,11 @@ dynamically loaded and compiled use the
conventions as pre-compiled methods. We will enhance the
GNU debugger (gdb) to understand Java, which will provide
a familiar and multi-language debugging environment (you
-can use the same interface to debug Java and native methods).
+can use the same interface to debug Java and native methods).</p>
<h2>Extended abstract</h2>
-Java has taken off because it is a decent programming language,
+<p>Java has taken off because it is a decent programming language,
is buzzword-compliant (object-orient and web-enabled), and
because it is implemented by compiling to portable bytecodes.
However, interpreting bytecodes makes Java program many times slower
@@ -49,7 +55,7 @@ compared to conventional compilers: (1)
every time the application is executed, which increases start-up
times substantially, and (2) the JIT compiler has to run fast,
and therefore cannot do any substantial optimization.
-<p>
+</p><p>
While JIT compilers have an important place in a Java system,
for frequently used applications it is better to use a more
traditional "ahead-of-time" or batch compiler. While Java has
@@ -58,11 +64,11 @@ are interested in using Java as an alter
languages such as C++, if the performance can be made adequate.
For embedded applications it makes much more sense to pre-compile
the Java program, especially if the program is to be in ROM.
-<p>
+</p><p>
So Cygnus is building a Java programming environment that is
based on conventional a compiler, linker, and debugger, using
Java-enhanced versions of the existing GNU programming tools.
-<p>
+</p><p>
The core tool is of course the compiler. This is "cc1java,"
a gcc new front-end. This has similar structure as existing
front-ends, and shares most of the code with them.
@@ -79,7 +85,7 @@ header file); (2) it is needed so we ca
from other tools that produce Java bytecodes (such as the Kawa
Scheme-to-Java-bytecode compiler); and (3) some libraries are
(unfortunately) distributed as Java bytecodes without source.
-<p>
+</p><p>
To "parse" a Java bytecode file involves first parsing the
meta-data in the file. Each bytecode file defines one Java
class, and defines the superclass, fields, and methods of
@@ -90,7 +96,7 @@ run-time meta-information (such as the C
The compiler generates initialized static data that have the
same layout as the run-time data structures used by the Java VM.
Thus startup is fast, and does not require allocating any data.
-<p>
+</p><p>
The executable content of a bytecode file contains a vector
of bytecode instructions for each (non-native) method.
Code generation means converting the stack-oriented
@@ -103,10 +109,10 @@ postfix stack operations to expression n
a compile-time stack of expression nodes. When necessary,
we also map stack locals and local varaibles into gcc
pseudo-registers.
-<p>
+</p><p>
Generating machine code from the expression nodes uses
existing code (instruction generator, optimizer, and assembler).
-<p>
+</p><p>
Linking a set of compiled Java binaries into a library or executable
will use the standard linker (GNU ld). However, some enhancements
are necessary or at least desirable. The linker must provide a way
@@ -114,7 +120,7 @@ to build a table mapping class names to
be done using the same mechanism used for running C++ static
initializer. Linker help is also desirable to combine multiple
copies of the same literal.
-<p>
+</p><p>
Running a compiled Java program will need a suitable Java run-time
environment. This contains support for threads, garbage collection,
and all the primitive Java methods. Complete Java support also means
@@ -126,11 +132,12 @@ code. (For example, we are simplifying
Kaffe include a JIT compiler, which solves the problem of calling
between pre-compiled and dynamically loaded methods (since both use
the same calling convention).
-<p>
+</p><p>
We plan to enhance gdb (the GNU debugger) so it can understand
Java-compiled code. This may involve accessing Java meta-data
from the Java executable. We may also enhance gdb to understand
dynamically-loaded bytecodes, but the need for that is reduced
if we instead provide a hook so gdb knows about JIT-compiled code.
+</p>
</body></html>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [wwwdocs] java/papers/gcc-java.html goes XHTML
2007-10-15 17:08 [wwwdocs] java/papers/gcc-java.html goes XHTML Gerald Pfeifer
@ 2007-10-17 4:50 ` Per Bothner
2007-10-28 23:44 ` Gerald Pfeifer
0 siblings, 1 reply; 3+ messages in thread
From: Per Bothner @ 2007-10-17 4:50 UTC (permalink / raw)
To: Gerald Pfeifer; +Cc: gcc-patches, java-patches
Gerald Pfeifer wrote:
> I happened to spot this by chance while working on a validation run
> for our whole website.
>
> Impressive to realize that this was already written eleven years ago!
>
> Per, this has your bothner@cygnus.com address. I thought I'd point
> this out in case you may want to change this.
Well, it's a historical document, and I think the historical record is
more interesting than up-to-date-ness. (Luckily, I have a fairly
uncommon name, so it's easy to find me using a search engine!)
Perhaps this makes sense:
<a href="mailto:per@bothner.com">bothner@cygnus.com
[currently: per@bothner.com]</a>
--
--Per Bothner
per@bothner.com http://per.bothner.com/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [wwwdocs] java/papers/gcc-java.html goes XHTML
2007-10-17 4:50 ` Per Bothner
@ 2007-10-28 23:44 ` Gerald Pfeifer
0 siblings, 0 replies; 3+ messages in thread
From: Gerald Pfeifer @ 2007-10-28 23:44 UTC (permalink / raw)
To: Per Bothner; +Cc: gcc-patches, java-patches
On Tue, 16 Oct 2007, Per Bothner wrote:
> Well, it's a historical document, and I think the historical record is
> more interesting than up-to-date-ness. (Luckily, I have a fairly
> uncommon name, so it's easy to find me using a search engine!)
I think you have a good point, so I just removed the broken "link" and
kept it as plain text.
Gerald
2007-10-29 Gerald Pfeifer <gerald@pfeifer.com>
* papers/gcc-java.html: Make Per Bothner's old address plain text
instead of a link.
Index: papers/gcc-java.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/java/papers/gcc-java.html,v
retrieving revision 1.5
diff -u -3 -p -r1.5 gcc-java.html
--- papers/gcc-java.html 15 Oct 2007 17:02:19 -0000 1.5
+++ papers/gcc-java.html 28 Oct 2007 23:42:55 -0000
@@ -10,7 +10,7 @@
<h1>A Gcc-based Java Implementation</h1>
<address>
<a href="http://www.bothner.com/">Per Bothner</a>
-<a href="mailto:bothner@cygnus.com">bothner@cygnus.com</a>
+(bothner@cygnus.com)
</address>
<p>December 1996</p>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-10-28 23:44 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-15 17:08 [wwwdocs] java/papers/gcc-java.html goes XHTML Gerald Pfeifer
2007-10-17 4:50 ` Per Bothner
2007-10-28 23:44 ` Gerald Pfeifer
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 read-only IMAP folder(s) and NNTP newsgroup(s).