Well, it was an interesting week with a lot of discussions, so
this week's summary is a little bit longer than the weeks before.
At the beginning of this week I posted some more infos about my
proof-of-concept component model implementation, which started some
interesting discussions. One was about the component model itself in
the thread [arch] VMCore / Component Model, where various posters
pointed out that we must not take performance issues lightly. It has
also been discussed how this would affect code inlining and the JIT.
Robin Garner gave us some good arguments why he thinks we should aim
for compile-time (and not runtime) configurabiltiy for the components.
Other people involved in this discussion where: Peter Edworthy and
Geir Magnusson Jr.
[http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200509.mbox/[EMAIL
PROTECTED]
Geir Magnusson Jr. has forked the discussion about component models
to Code into SVN, not the WIKI (Re: [arch] VMCore / Component Model),
where we discussed some general points in the contribution policy of
harmony. Andy Oliver and Davanum Srinivas joined this discussion, which
was then about how hard or easy it should be to become a committer in
this project.
[http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200509.mbox/[EMAIL
PROTECTED]
Andy Oliver started a thread called 4 Months and... which was then
renamed to Call for Contributions (was Re: 4 Months and...), and this
thread was about opening the repositories so people can easily submit
code. Geir Magnusson Jr. again posted a call for contributions, and then
he and Andy Oliver discussed if this attracts people to commit. Later
this week, Rodrigo Kumpera contributed a JVM he has written in Java.
[http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200509.mbox/[EMAIL
PROTECTED]
The discussions mentioned above lead to the thread [discussion]
Committer Addition Process where Geir Magnusson Jr. suggested a process
for adding committers. He and Andy then discussed if this process is too
formal or not and Andy posted an email exploiting some unclear parts
of Geir's proposal. Leo Simons answered him that he can stop playing
devil's advocate now, and that these legal concerns are important to
us because we're aiming to do a full and compliant J2SE effort.
Also in this thread, Davanum Srinivas posted that he was looking for
specific timelines and actions sombody can do to get commit status. Geir
answerd Offer a patch or contribution. That's pretty specific..
AFAICS the status now is that people who want to contribute something
they should do this as a JIRA contribution when they don't have commit
privileges yet. Geir explained this in detail in the email How to
package a contribution. All things discussed here also made some
changes in the ACQ nessessary, Geir informed about them in [legal]
Change to Authorized Contributor Questionnaire.
[http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200509.mbox/[EMAIL
PROTECTED]
[http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200509.mbox/[EMAIL
PROTECTED]
[http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200509.mbox/[EMAIL
PROTECTED]
There was a long discussion if the harmony JVM should have an
interpreter and an optimizing JIT or if it should have no interpreter,
but instead a fast, non-optimizing JIT in [arch] Interpreter vs. JIT
for Harmony VM.
The arguments for having an interpreter too are:
* A traditional interpreter is easy to port.
* Writing a portable JIT seems more difficult.
* Implementing JVMTI will probabaly be easier.
* An interpreter/JIT environment might use less memory.
* Very compact interpreters (100K) can be constructed for memory
constrained environments.
* Flexibility: A well-written interpreter is easy to modify for research
or experimental purposes and can trivially support runtime-pluggable
features like debug and instrumentation.
The arguments for the JIT-only version are:
* A fast code-generating JIT can call runtime helpers and native
methods without additional glue code.
* Code reuse: The structures required to support a zero optimizing JIT
would also be used by optimizing JITs.
* Having a mixed JITed-interpreted enviroment makes things harder.
(I hope I found all the arguments which have been posted). People
involved here where:
Steve Shih-wei Liao, Geir Magnusson Jr., Andy Oliver, Peter Edworthy,
Tom Tromey, Will Pugh, Michael Haupt, Rodrigo Kumpera, Santiago Gala,
Frederick C Druseikis, Robin Garner, Michael Hind and Graeme Johnson.
[http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200509.mbox/[EMAIL
PROTECTED]
Later in the same discussion, Will Pugh explained some more details
about the effect of both approaches on our JVMTI implementation and
he grouped the JVMTI capabilities into groups of which I think are
orthagonal to the issue, ones that would be significantly easier on an
interpreter vs. compiled code, and then further