@Override public boolean verify() { assertTrue((object == null) == isStatic(), "static field must not have object, instance field must have object"); return super.verify(); }
@Override public NodeCycles estimatedNodeCycles() { if (isVolatile()) { return CYCLES_2; } return super.estimatedNodeCycles(); } }
@Override public NodeSize estimatedNodeSize() { if (isVolatile()) { return SIZE_2; } return super.estimatedNodeSize(); } }
if (node instanceof AccessFieldNode) { AccessFieldNode access = (AccessFieldNode) node; if (access.isVolatile()) { processIdentity(state, any()); } else { ValueNode object = GraphUtil.unproxify(access.object()); LoadCacheEntry identifier = new LoadCacheEntry(object, new FieldLocationIdentity(access.field())); ValueNode cachedValue = state.getCacheEntry(identifier); if (node instanceof LoadFieldNode) { if (cachedValue != null && access.stamp(NodeView.DEFAULT).isCompatible(cachedValue.stamp(NodeView.DEFAULT))) { effects.replaceAtUsages(access, cachedValue, access); addScalarAlias(access, cachedValue);
for (FixedGuardNode guard : graph.getNodes(FixedGuardNode.TYPE)) { if (guard.next() instanceof AccessFieldNode && guard.condition() instanceof IsNullNode && guard.isNegated() && ((IsNullNode) guard.condition()).getValue() == ((AccessFieldNode) guard.next()).object()) {
if (node instanceof AccessFieldNode) { result.append('#'); result.append(((AccessFieldNode) node).field());
@Override public NodeCycles estimatedNodeCycles() { if (isVolatile()) { return CYCLES_8; } return super.estimatedNodeCycles(); } }