comparison graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/InstanceOfSnippets.java @ 20123:81d08c81b2a7

Introduce TypeCheckNode.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Wed, 01 Apr 2015 17:43:06 +0200
parents 19d3db31bcea
children a9c8df485789
comparison
equal deleted inserted replaced
20111:45d46b136777 20123:81d08c81b2a7
265 if (hintInfo.hintHitProbability >= 1.0 && hintInfo.exact == null) { 265 if (hintInfo.hintHitProbability >= 1.0 && hintInfo.exact == null) {
266 args.addConst("nullSeen", hintInfo.profile.getNullSeen() != TriState.FALSE); 266 args.addConst("nullSeen", hintInfo.profile.getNullSeen() != TriState.FALSE);
267 } 267 }
268 return args; 268 return args;
269 269
270 } else if (replacer.instanceOf instanceof TypeCheckNode) {
271 TypeCheckNode typeCheck = (TypeCheckNode) replacer.instanceOf;
272 ValueNode object = typeCheck.getValue();
273 Arguments args = new Arguments(instanceofExact, typeCheck.graph().getGuardsStage(), tool.getLoweringStage());
274 args.add("object", object);
275 args.add("exactHub", ConstantNode.forConstant(KlassPointerStamp.klassNonNull(), ((HotSpotResolvedObjectType) typeCheck.type()).klass(), providers.getMetaAccess(), typeCheck.graph()));
276 return args;
270 } else if (replacer.instanceOf instanceof InstanceOfDynamicNode) { 277 } else if (replacer.instanceOf instanceof InstanceOfDynamicNode) {
271 InstanceOfDynamicNode instanceOf = (InstanceOfDynamicNode) replacer.instanceOf; 278 InstanceOfDynamicNode instanceOf = (InstanceOfDynamicNode) replacer.instanceOf;
272 ValueNode object = instanceOf.object(); 279 ValueNode object = instanceOf.object();
273 280
274 Arguments args = new Arguments(instanceofDynamic, instanceOf.graph().getGuardsStage(), tool.getLoweringStage()); 281 Arguments args = new Arguments(instanceofDynamic, instanceOf.graph().getGuardsStage(), tool.getLoweringStage());