harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Harmony Wiki] Update of "Google Summer Of Code 2008 Projects Proposals" by EgorPasko
Date Thu, 13 Mar 2008 06:52:43 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Harmony Wiki" for change notification.

The following page has been changed by EgorPasko:
http://wiki.apache.org/harmony/Google_Summer_Of_Code_2008_Projects_Proposals

------------------------------------------------------------------------------
  || '''Title''' || '''Support invokedynamic bytecode instruction in Harmony VM and JIT'''
||
  || '''ASF Project''' || Apache Harmony http://harmony.apache.org ||
  || '''Keywords''' || C++, java, virtual machine, JIT, bytecode, dynamic languages ||
- || '''Description''' || Support the [http://blogs.sun.com/gbracha/entry/invokedynamic invokedynamic]
instruction i.e. the ideas of [http://jcp.org/en/jsr/detail?id=292 JSR 292] draft. And implement
basic support for a dynamic language like {{{Python}}}, {{{Ruby}}}, {{{JavaScript}}}. Students
are free to choose the actual dynamic language. We want this language to have dynamic typing,
reasonable user base, usable standard library, a set of compatibility tests. ||
+ || '''Description''' || Support the [http://blogs.sun.com/gbracha/entry/invokedynamic invokedynamic]
instruction i.e. the ideas of [http://jcp.org/en/jsr/detail?id=292 JSR 292] draft. And implement
basic support for a dynamic language like {{{Python}}}, {{{Ruby}}}, {{{JavaScript}}} as a
proof of concept. We want this language to have dynamic typing, reasonable user base, usable
standard library, a set of compatibility tests. Students are free to choose the actual dynamic
language. We will discuss the reasoning behind the choice. The code involved is C (VM part)
C++ (JIT) and probably some class library part in Java. The task is rather challenging for
the summer, hence, will require a lot of interaction with the team on the tricky details.
Lots of fun guaranteed. ||
  || '''Possible Mentors''' || Egor Pasko ||
  || '''Status''' || Unassigned ||
  
@@ -99, +99 @@

  || '''Title''' || '''Refactor Java Bytecode Translator in Harmony JIT''' ||
  || '''ASF Project''' || Apache Harmony http://harmony.apache.org ||
  || '''Keywords''' || C++, JIT, bytecode, compilers, Java ||
- || '''Description''' || Interaction between {{{ByteCodeParser}}}, {{{JavaLabelPrepass}}},
{{{JavaByteCodeTranslator}}} classes is very complicated and error-prone. Refactor Java bytecode
translator in the Jitrino.OPT to make the code cleaner and simplify the data structures used.
C++ skills required. ||
+ || '''Description''' || The optimizing JIT (Jitrino.OPT) parses Java bytecode on early stages
of method compilation to produce Internal Representation to allow further stages to optimize
it. This code is well-tested, but not easy to extend (for example, not easy to teach JIT to
understand new types of instructions) The major inconvenience is that translator makes things
too complicated by trying to optimize on the fly. The task is to refactor the Java-Bytecode-Translator
in the Jitrino.OPT to make the code cleaner and simplify the data structures used. Move optimization
to a separate stage. Take care of correctly mapping line number info from bytecode into JIT
instructions. Code is C++, but not a tricky style. The student will get an in-depth knowledge
of Java bytecode, overall knowledge of just-in-time compilation techniques. ||
  || '''Possible Mentors''' || Egor Pasko ||
  || '''Status''' || Unassigned ||
  

Mime
View raw message