aa
StartNode.java
Go to the documentation of this file.
1 package com.cliffc.aa.node;
2 
3 import com.cliffc.aa.GVNGCM;
4 import com.cliffc.aa.type.Type;
5 import com.cliffc.aa.type.TypeMem;
6 import com.cliffc.aa.type.TypeTuple;
7 
8 import java.util.HashMap;
9 import java.util.function.Predicate;
10 
11 // Program execution start
12 public class StartNode extends Node {
13  public StartNode() { super(OP_START); }
14  @Override public Type value(GVNGCM.Mode opt_mode) { return TypeTuple.START_STATE; }
15  // TODO: Since new constants can appear at any time, we must assume as bad as
16  // a new constant. A better answer is to make new constants appear with the
17  // same liveness as their users.
18  @Override public TypeMem live(GVNGCM.Mode opt_mode) { return TypeMem.ESCAPE; }
19  //@Override public TV2 new_tvar(String alloc_site) { return TV2.make("Start",this,alloc_site); }
20  // StartNodes are never equal
21  @Override public int hashCode() { return 123456789+1; }
22  @Override public boolean equals(Object o) { return this==o; }
23  @Override Node walk_dom_last( Predicate<Node> P) { return null; }
24 }
com.cliffc.aa.node.StartNode.walk_dom_last
Node walk_dom_last(Predicate< Node > P)
Definition: StartNode.java:23
com.cliffc.aa.node.Node.OP_START
static final byte OP_START
Definition: Node.java:45
com.cliffc.aa.type.TypeMem
Memory type; the state of all of memory; memory edges order memory ops.
Definition: TypeMem.java:53
com.cliffc
com.cliffc.aa.type.TypeTuple.START_STATE
static final TypeTuple START_STATE
Definition: TypeTuple.java:129
com.cliffc.aa.node.Node
Definition: Node.java:16
com.cliffc.aa.type.TypeMem.ESCAPE
static final TypeMem ESCAPE
Definition: TypeMem.java:227
com.cliffc.aa.type.Type
an implementation of language AA
Definition: Type.java:94
com.cliffc.aa.type.TypeTuple
Definition: TypeTuple.java:11
com.cliffc.aa.GVNGCM
Definition: GVNGCM.java:12
com.cliffc.aa.node.StartNode.StartNode
StartNode()
Definition: StartNode.java:13
com.cliffc.aa.node.StartNode.equals
boolean equals(Object o)
Definition: StartNode.java:22
com.cliffc.aa.node.StartNode.live
TypeMem live(GVNGCM.Mode opt_mode)
Definition: StartNode.java:18
com.cliffc.aa
Definition: AA.java:1
com.cliffc.aa.node.StartNode.value
Type value(GVNGCM.Mode opt_mode)
Definition: StartNode.java:14
com.cliffc.aa.node.StartNode
Definition: StartNode.java:12
com.cliffc.aa.node.StartNode.hashCode
int hashCode()
Definition: StartNode.java:21
com
com.cliffc.aa.type
Definition: Bits.java:1
com.cliffc.aa.GVNGCM.Mode
Definition: GVNGCM.java:14