Mercurial > hg > truffle
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()); |