Mercurial > hg > truffle
changeset 7749:52fd6491fca8
avoid generics
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Fri, 08 Feb 2013 18:05:40 +0100 |
parents | 2d57a3bd82ab |
children | e8c71b8562e3 98143feb3879 e393b8156c42 |
files | graal/com.oracle.graal.asm.amd64.test/src/com/oracle/graal/asm/amd64/test/SimpleAssemblerTest.java graal/com.oracle.graal.asm.test/src/com/oracle/graal/asm/test/AssemblerTest.java |
diffstat | 2 files changed, 18 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.asm.amd64.test/src/com/oracle/graal/asm/amd64/test/SimpleAssemblerTest.java Fri Feb 08 14:37:55 2013 +0100 +++ b/graal/com.oracle.graal.asm.amd64.test/src/com/oracle/graal/asm/amd64/test/SimpleAssemblerTest.java Fri Feb 08 18:05:40 2013 +0100 @@ -26,25 +26,23 @@ import com.oracle.graal.api.code.*; import com.oracle.graal.api.meta.*; +import com.oracle.graal.asm.*; import com.oracle.graal.asm.amd64.*; import com.oracle.graal.asm.test.*; -public class SimpleAssemblerTest extends AssemblerTest<AMD64MacroAssembler> { - - @Override - protected AMD64MacroAssembler createAssembler(TargetDescription target, RegisterConfig registerConfig) { - return new AMD64MacroAssembler(target, registerConfig); - } +public class SimpleAssemblerTest extends AssemblerTest { @Test public void intTest() { - CodeGenTest<AMD64Assembler> test = new CodeGenTest<AMD64Assembler>() { + CodeGenTest test = new CodeGenTest() { @Override - public void generateCode(CompilationResult compResult, AMD64Assembler asm, RegisterConfig registerConfig) { + public Buffer generateCode(CompilationResult compResult, TargetDescription target, RegisterConfig registerConfig) { + AMD64Assembler asm = new AMD64Assembler(target, registerConfig); Register ret = registerConfig.getReturnRegister(Kind.Int); asm.movl(ret, 8472); asm.ret(0); + return asm.codeBuffer; } }; assertReturn("intStub", test, 8472); @@ -52,14 +50,16 @@ @Test public void doubleTest() { - CodeGenTest<AMD64MacroAssembler> test = new CodeGenTest<AMD64MacroAssembler>() { + CodeGenTest test = new CodeGenTest() { @Override - public void generateCode(CompilationResult compResult, AMD64MacroAssembler asm, RegisterConfig registerConfig) { + public Buffer generateCode(CompilationResult compResult, TargetDescription target, RegisterConfig registerConfig) { + AMD64MacroAssembler asm = new AMD64MacroAssembler(target, registerConfig); Register ret = registerConfig.getReturnRegister(Kind.Double); compResult.recordDataReference(asm.codeBuffer.position(), Constant.forDouble(84.72), 8, false); asm.movdbl(ret, Address.Placeholder); asm.ret(0); + return asm.codeBuffer; } }; assertReturn("doubleStub", test, 84.72);
--- a/graal/com.oracle.graal.asm.test/src/com/oracle/graal/asm/test/AssemblerTest.java Fri Feb 08 14:37:55 2013 +0100 +++ b/graal/com.oracle.graal.asm.test/src/com/oracle/graal/asm/test/AssemblerTest.java Fri Feb 08 18:05:40 2013 +0100 @@ -32,37 +32,32 @@ import com.oracle.graal.asm.*; import com.oracle.graal.test.*; -public abstract class AssemblerTest<T extends AbstractAssembler> extends GraalTest { +public abstract class AssemblerTest extends GraalTest { protected final CodeCacheProvider codeCache; - public interface CodeGenTest<T> { + public interface CodeGenTest { - void generateCode(CompilationResult compResult, T asm, RegisterConfig registerConfig); + Buffer generateCode(CompilationResult compResult, TargetDescription target, RegisterConfig registerConfig); } public AssemblerTest() { this.codeCache = Graal.getRequiredCapability(CodeCacheProvider.class); } - protected abstract T createAssembler(TargetDescription target, RegisterConfig registerConfig); - - protected InstalledCode assembleMethod(Method m, CodeGenTest<? super T> test) { + protected InstalledCode assembleMethod(Method m, CodeGenTest test) { ResolvedJavaMethod method = codeCache.lookupJavaMethod(m); RegisterConfig registerConfig = codeCache.lookupRegisterConfig(method); CompilationResult compResult = new CompilationResult(); - T asm = createAssembler(codeCache.getTarget(), registerConfig); - - test.generateCode(compResult, asm, registerConfig); - compResult.setTargetCode(asm.codeBuffer.close(true), asm.codeBuffer.position()); - InstalledCode code = codeCache.addMethod(method, compResult, null); + Buffer codeBuffer = test.generateCode(compResult, codeCache.getTarget(), registerConfig); + compResult.setTargetCode(codeBuffer.close(true), codeBuffer.position()); - return code; + return codeCache.addMethod(method, compResult, null); } - protected void assertReturn(String methodName, CodeGenTest<? super T> test, Object expected, Object... args) { + protected void assertReturn(String methodName, CodeGenTest test, Object expected, Object... args) { Method method = getMethod(methodName); InstalledCode code = assembleMethod(method, test);