87 return null; |
87 return null; |
88 } |
88 } |
89 } |
89 } |
90 |
90 |
91 protected void test(TestCompiler compiler, Method method, Object... args) { |
91 protected void test(TestCompiler compiler, Method method, Object... args) { |
92 HotSpotResolvedJavaMethod resolvedMethod = (HotSpotResolvedJavaMethod) metaAccess.lookupJavaMethod(method); |
92 try { |
93 TestAssembler asm = createAssembler(); |
93 HotSpotResolvedJavaMethod resolvedMethod = (HotSpotResolvedJavaMethod) metaAccess.lookupJavaMethod(method); |
|
94 TestAssembler asm = createAssembler(); |
94 |
95 |
95 asm.emitPrologue(); |
96 asm.emitPrologue(); |
96 compiler.compile(asm); |
97 compiler.compile(asm); |
97 asm.emitEpilogue(); |
98 asm.emitEpilogue(); |
98 |
99 |
99 HotSpotCompiledCode code = asm.finish(resolvedMethod); |
100 HotSpotCompiledCode code = asm.finish(resolvedMethod); |
100 InstalledCode installed = codeCache.addCode(resolvedMethod, code, null, null); |
101 InstalledCode installed = codeCache.addCode(resolvedMethod, code, null, null); |
101 |
102 |
102 try { |
|
103 Object expected = method.invoke(null, args); |
103 Object expected = method.invoke(null, args); |
104 Object actual = installed.executeVarargs(args); |
104 Object actual = installed.executeVarargs(args); |
105 Assert.assertEquals(expected, actual); |
105 Assert.assertEquals(expected, actual); |
106 } catch (Exception e) { |
106 } catch (Exception e) { |
107 e.printStackTrace(); |
107 e.printStackTrace(); |