Mercurial > hg > truffle
diff graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java @ 15561:0fc035104370
Baseline: add support for getstatic.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Thu, 08 May 2014 10:04:15 +0200 |
parents | 9440ab398f49 |
children | 6fe57ff3f02c |
line wrap: on
line diff
--- a/graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java Thu May 08 14:57:28 2014 +0200 +++ b/graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java Thu May 08 10:04:15 2014 +0200 @@ -478,6 +478,14 @@ @Override protected Value genLoadField(Value receiver, ResolvedJavaField field) { + if (field.isStatic()) { + Value classRef = lirBuilder.getClassConstant(field.getDeclaringClass()); + long displacement = lirBuilder.getFieldOffset(field); + Value address = gen.emitAddress(classRef, displacement, Value.ILLEGAL, 0); + PlatformKind readKind = gen.getPlatformKind(StampFactory.forKind(field.getKind())); + LIRFrameState state = createFrameState(frameState); + return gen.emitLoad(readKind, address, state); + } // TODO Auto-generated method stub throw GraalInternalError.unimplemented("Auto-generated method stub"); }