Mercurial > hg > graal-compiler
changeset 15557:8a66b661ed49
BaselineBytecodeParser: initial genArrayLength().
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Tue, 06 May 2014 20:10:28 +0200 |
parents | 6cc1c153e5f1 |
children | b8bb78808495 |
files | graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java Tue May 06 20:09:37 2014 +0200 +++ b/graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java Tue May 06 20:10:28 2014 +0200 @@ -35,6 +35,7 @@ import com.oracle.graal.compiler.common.*; import com.oracle.graal.compiler.common.calc.*; import com.oracle.graal.compiler.common.cfg.*; +import com.oracle.graal.compiler.common.type.*; import com.oracle.graal.compiler.gen.*; import com.oracle.graal.compiler.target.*; import com.oracle.graal.debug.*; @@ -494,8 +495,13 @@ } @Override - protected Value genArrayLength(Value x) { - // TODO Auto-generated method stub + protected Value genArrayLength(Value array) { + emitNullCheck(array); + long displacement = lirBuilder.getArrayLengthOffset(); + Value address = gen.emitAddress(array, displacement, Value.ILLEGAL, 0); + PlatformKind readKind = gen.getPlatformKind(StampFactory.forKind(Kind.Int)); + LIRFrameState state = null; + gen.emitLoad(readKind, address, state); throw GraalInternalError.unimplemented("Auto-generated method stub"); }