comparison graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/AheadOfTimeCompilationTest.java @ 10075:c0e9ae41ed17

unittest/aot: add testcase for BoxingSnippets
author Bernhard Urban <bernhard.urban@jku.at>
date Mon, 17 Jun 2013 22:09:44 +0200
parents 4ebe31e19892
children 0eeb9f8dab9b
comparison
equal deleted inserted replaced
10074:e8fbc5fd3440 10075:c0e9ae41ed17
163 163
164 assertEquals(0, result.getNodes(FloatingReadNode.class).count()); 164 assertEquals(0, result.getNodes(FloatingReadNode.class).count());
165 assertEquals(0, result.getNodes(ReadNode.class).count()); 165 assertEquals(0, result.getNodes(ReadNode.class).count());
166 } 166 }
167 167
168 public static Boolean getBoxedBoolean() {
169 return Boolean.valueOf(true);
170 }
171
172 @Test
173 public void testBoxedBooleanAOT() {
174 StructuredGraph result = compile("getBoxedBoolean", true);
175
176 assertEquals(2, result.getNodes(FloatingReadNode.class).count());
177 assertEquals(1, result.getNodes(UnsafeCastNode.class).count());
178 assertEquals(1, result.getNodes().filter(ConstantNode.class).count());
179 ConstantNode constant = result.getNodes().filter(ConstantNode.class).first();
180 assertEquals(Kind.Long, constant.kind());
181 assertEquals(((HotSpotResolvedObjectType) runtime.lookupJavaType(Boolean.class)).klass(), constant.asConstant());
182 }
183
184 @Test
185 public void testBoxedBoolean() {
186 StructuredGraph result = compile("getBoxedBoolean", false);
187 assertEquals(0, result.getNodes(FloatingReadNode.class).count());
188 assertEquals(0, result.getNodes(UnsafeCastNode.class).count());
189 assertEquals(1, result.getNodes().filter(ConstantNode.class).count());
190 ConstantNode constant = result.getNodes().filter(ConstantNode.class).first();
191 assertEquals(Kind.Object, constant.kind());
192 assertEquals(Boolean.TRUE, constant.asConstant().asObject());
193 }
194
168 private StructuredGraph compile(String test, boolean compileAOT) { 195 private StructuredGraph compile(String test, boolean compileAOT) {
169 StructuredGraph graph = parse(test); 196 StructuredGraph graph = parse(test);
170 ResolvedJavaMethod method = graph.method(); 197 ResolvedJavaMethod method = graph.method();
171 198
172 boolean originalSetting = AOTCompilation.getValue(); 199 boolean originalSetting = AOTCompilation.getValue();