Menu

#47 Provisional support for Java 1.5

closed
nobody
None
5
2012-09-21
2006-05-05
Ian Rogers
No

This patch adds support for loading Java 1.5 classes
and the new LDC <class literal=""> bytecode. Class
literals are recognized by making values in the
constant pool either positive, indicating a JTOC
offset, or negative, indicating a type reference ID. As
class references can't be generated in the JTOC at boot
image writing time, we fill them in
VM.createClassObjects (so we record their use using
VM.deferClassObjectCreation). So far I've only built
the patch using Sun's JDK 1.5 on Intel Linux with a
prototype build. Jikes 1.22 was run with "-target 1.5".
Jikes with -target 1.5 generates anonymous classes with
a "-<num>" extension rather than "$<num>" which
currently isn't supported by Classpath's
Character.isJavaIdentifierPart. It seems that the class
names are in a slight state of flux, and this causes
problems when putting strings in jconfigure and when
calling VM.runClassInitiazer. I will work on the
necessary opt compiler, 64bit PowerPC and splitting
this patch from my JDWP patch tomorrow but the patch as
it stands can give you an early heads up. SPEC JBB 2005
isn't yet running, we pass the sanity checks and then
die as shown at the end of this description. I will
look for other Java 1.5 test cases and I haven't tried
the classpath generics branch.

Ian

Loading Warehouse 1...
Exception in thread "main":
gnu.xml.dom.DomDOMException: The node doesn't belong here.
More Information: can't append COMMENT_NODE to node of
type DOCUMENT_TYPE_NODE
Node Name: JBB-Document
at gnu.xml.dom.DomNode.checkMisc(DomNode.java:377)
at
gnu.xml.dom.DomNode.appendChild(DomNode.java:550)
at gnu.xml.dom.DomNode.cloneNode(DomNode.java:1120)
at gnu.xml.dom.DomNode.cloneNode(DomNode.java:1118)
at
spec.jbb.infra.Util.XMLTransactionLog.copy(VM_StackTrace.print():
UNEXPECTED Throwable while displaying stack trace # 217
The Throwable was: java.lang.NullPointerException
VM_StackTrace.print(): And its stack trace was:
java.lang.NullPointerException
at com.ibm.JikesRVM.PrintLN.print(PrintLN.java:149)
at
com.ibm.JikesRVM.VM_BaselineCompiledMethod.printStackTrace(VM_BaselineCompiledMethod.java:184)
at
com.ibm.JikesRVM.VM_StackTrace.print4Real(VM_StackTrace.java:360)
at
com.ibm.JikesRVM.VM_StackTrace.print(VM_StackTrace.java:262)
at
java.lang.Throwable.doPrintStackTrace(Throwable.java:269)
at
java.lang.Throwable.printStackTrace(Throwable.java:238)
at
java.lang.Throwable.printStackTrace(Throwable.java:218)
at
java.lang.Throwable.printStackTrace(Throwable.java:353)
at
java.lang.Throwable.printStackTrace(Throwable.java:197)
at
java.lang.Throwable.printStackTrace(Throwable.java:166)
at
com.ibm.JikesRVM.VM_Runtime.deliverException(VM_Runtime.java:901)
at
com.ibm.JikesRVM.VM_Runtime.athrow(VM_Runtime.java:576)
at spec.jbb.JBBmain.main(

Discussion

  • Ian Rogers

    Ian Rogers - 2006-05-05

    Patch containing provisional Java 1.5 support for Intel Linux

     
  • Ian Rogers

    Ian Rogers - 2006-05-06

    Baseline and opt compiler java 1.5 support for Intel

     
  • Ian Rogers

    Ian Rogers - 2006-05-06

    Logged In: YES
    user_id=308843

    Here is a new patch that shows support for Java 1.5 class
    constants in the baseline and optimizing compilers. It still
    needs something to normalize class constants in the PowerPC
    optimizing compiler - which will be very similar to String
    constants. I've also refactored the getType and isXX methods
    in OPT_Operand. My config file has jikes "-target 1.5" and
    for some reason that generates anonymous classes with -
    instead of $ separators in the class name (this appears to
    be a jikes bug). I'm also building on Sun's JDK 1.5.0 with
    the CVS head. The build will run SpecJVM but still fails
    SpecJBB'05 but this may be a classpath issue.

    Ian

     
  • Ian Rogers

    Ian Rogers - 2006-05-06

    The new class constant operand

     
  • Ian Rogers

    Ian Rogers - 2006-05-08

    Logged In: YES
    user_id=308843

    This is the final patch I think is necessary to enable
    support for Java 1.5 on Intel and PowerPC. I found the
    PowerPC quick compiler to not compile, so I've also fixed
    this. I will submit this patch when I get chance.

    Ian

     
  • Ian Rogers

    Ian Rogers - 2006-05-08

    Fixes for PowerPC base, quick and opt compilers plus 1.5 changes for all architectures

     

Log in to post a comment.