aa
com.cliffc.aa.HM.HM9.If Class Reference
Inheritance diagram for com.cliffc.aa.HM.HM9.If:
[legend]
Collaboration diagram for com.cliffc.aa.HM.HM9.If:
[legend]

Public Member Functions

 If ()
 
String p ()
 
final String toString ()
 

Package Functions

void add_hm_work (Worklist work)
 
void add_val_work (Syntax child, Worklist work)
 
Type apply (Syntax[] args)
 
T2 debug_find ()
 
T2 find ()
 
boolean hm (Worklist work)
 
PrimSyn make ()
 
boolean more_work (Worklist work)
 
final boolean more_work_impl (Worklist work)
 
String name ()
 
final SB p0 (SB sb, VBitSet dups)
 
SB p1 (SB sb)
 
SB p2 (SB sb, VBitSet dups)
 
void prep_lookup_deps (Ident id)
 
int prep_tree (Syntax par, VStack nongen, Worklist work)
 
final void prep_tree_impl (Syntax par, VStack nongen, Worklist work, T2 t)
 
SB str (SB sb)
 
T2 targ (int i)
 
Type val (Worklist work)
 

Static Package Functions

static void reset ()
 

Package Attributes

final String[] _args
 
final Syntax _body
 
final int _fidx
 
Type _flow
 
T2 _hmt
 
VStack _nongen
 
Syntax _par
 
final T2[] _targs
 
final Type[] _types
 

Static Package Attributes

static T2 BOOL
 
static T2 FLT64
 
static final NonBlockingHashMapLong< LambdaFUNS = new NonBlockingHashMapLong<>()
 
static T2 INT64
 
static int PAIR_ALIAS
 
static T2 STRP
 
static int TRIPLE_ALIAS
 
static Worklist WORK
 

Static Private Attributes

static final String[][] IDS
 

Detailed Description

Definition at line 1044 of file HM9.java.

Constructor & Destructor Documentation

◆ If()

com.cliffc.aa.HM.HM9.If.If ( )

Definition at line 1046 of file HM9.java.

1046 { super(T2.make_leaf(),T2.make_leaf(),T2.make_leaf(),T2.make_leaf()); }

References com.cliffc.aa.HM.HM9.T2.make_leaf().

Referenced by com.cliffc.aa.HM.HM9.If.make().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ add_hm_work()

void com.cliffc.aa.HM.HM9.PrimSyn.add_hm_work ( Worklist  work)
packageinherited

Reimplemented from com.cliffc.aa.HM.HM9.Lambda.

Definition at line 966 of file HM9.java.

966  {
967  if( find().is_err() ) work.push(_par);
968  }

References com.cliffc.aa.HM.HM9.Syntax._par, com.cliffc.aa.HM.HM9.Syntax.find(), and com.cliffc.aa.HM.HM9.Worklist.push().

Here is the call graph for this function:

◆ add_val_work()

void com.cliffc.aa.HM.HM9.PrimSyn.add_val_work ( Syntax  child,
Worklist  work 
)
packageinherited

Reimplemented from com.cliffc.aa.HM.HM9.Lambda.

Definition at line 969 of file HM9.java.

969 { throw unimpl(); }

◆ apply()

Type com.cliffc.aa.HM.HM9.If.apply ( Syntax[]  args)
package

Reimplemented from com.cliffc.aa.HM.HM9.Lambda.

Definition at line 1065 of file HM9.java.

1065  {
1066  Type pred= args[0]._flow;
1067  Type t1 = args[1]._flow;
1068  Type t2 = args[2]._flow;
1069  // Conditional Constant Propagation: only prop types from executable sides
1070  if( pred == TypeInt.FALSE || pred == Type.NIL || pred==Type.XNIL )
1071  return t2; // False only
1072  if( pred.above_center() ) // Delay any values
1073  return Type.XSCALAR; // t1.join(t2); // Join of either
1074  if( !pred.must_nil() ) // True only
1075  return t1;
1076  // Could be either, so meet
1077  return t1.meet(t2);
1078  }

References com.cliffc.aa.HM.HM9.Syntax._flow, com.cliffc.aa.type.Type< T extends Type< T >.above_center(), com.cliffc.aa.type.TypeInt.FALSE, com.cliffc.aa.type.Type< T extends Type< T >.meet(), com.cliffc.aa.type.Type< T extends Type< T >.must_nil(), com.cliffc.aa.type.Type< T extends Type< T >.NIL, com.cliffc.aa.type.Type< T extends Type< T >.XNIL, and com.cliffc.aa.type.Type< T extends Type< T >.XSCALAR.

Here is the call graph for this function:

◆ debug_find()

T2 com.cliffc.aa.HM.HM9.Syntax.debug_find ( )
packageinherited

Definition at line 329 of file HM9.java.

329 { return _hmt.debug_find(); } // Find, without the roll-up

References com.cliffc.aa.HM.HM9.Syntax._hmt, and com.cliffc.aa.HM.HM9.T2.debug_find().

Referenced by com.cliffc.aa.HM.HM9.hm().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ find()

◆ hm()

boolean com.cliffc.aa.HM.HM9.If.hm ( Worklist  work)
package

Reimplemented from com.cliffc.aa.HM.HM9.PrimSyn.

Definition at line 1048 of file HM9.java.

1048  {
1049  T2 rez = find().args(3);
1050  // GCP helps HM: do not unify dead control paths
1051  if( DO_GCP ) { // Doing GCP during HM
1052  Type pred = _types[0];
1053  if( pred == TypeInt.FALSE || pred == Type.NIL || pred==Type.XNIL )
1054  return rez.unify(targ(2),work); // Unify only the false side
1055  if( pred.above_center() ) // Neither side executes
1056  return false; // Unify neither side
1057  if( !pred.must_nil() ) // Unify only the true side
1058  return rez.unify(targ(1),work);
1059  }
1060  // Unify both sides with the result
1061  return
1062  rez.unify(targ(1),work) |
1063  rez.find().unify(targ(2),work);
1064  }

References com.cliffc.aa.HM.HM9.Lambda._types, com.cliffc.aa.type.Type< T extends Type< T >.above_center(), com.cliffc.aa.HM.HM9.T2.args(), com.cliffc.aa.HM.HM9.DO_GCP, com.cliffc.aa.type.TypeInt.FALSE, com.cliffc.aa.HM.HM9.Syntax.find(), com.cliffc.aa.HM.HM9.T2.find(), com.cliffc.aa.type.Type< T extends Type< T >.must_nil(), com.cliffc.aa.type.Type< T extends Type< T >.NIL, com.cliffc.aa.HM.HM9.Lambda.targ(), com.cliffc.aa.HM.HM9.T2.unify(), and com.cliffc.aa.type.Type< T extends Type< T >.XNIL.

Here is the call graph for this function:

◆ make()

PrimSyn com.cliffc.aa.HM.HM9.If.make ( )
package

Reimplemented from com.cliffc.aa.HM.HM9.PrimSyn.

Definition at line 1047 of file HM9.java.

1047 { return new If(); }

References com.cliffc.aa.HM.HM9.If.If().

Here is the call graph for this function:

◆ more_work()

boolean com.cliffc.aa.HM.HM9.PrimSyn.more_work ( Worklist  work)
packageinherited

Reimplemented from com.cliffc.aa.HM.HM9.Lambda.

Definition at line 970 of file HM9.java.

970 { return more_work_impl(work); }

References com.cliffc.aa.HM.HM9.Syntax.more_work_impl().

Here is the call graph for this function:

◆ more_work_impl()

final boolean com.cliffc.aa.HM.HM9.Syntax.more_work_impl ( Worklist  work)
packageinherited

Definition at line 362 of file HM9.java.

362  {
363  if( work.has(this) ) return true;
364  if( DO_HM && hm(null) ) // Any more HM work?
365  return false; // Found HM work not on worklist
366  if( DO_GCP && val(null)!=_flow )
367  return false; // Found GCP work not on worklist
368  return true;
369  }

References com.cliffc.aa.HM.HM9.Syntax._flow, com.cliffc.aa.HM.HM9.DO_GCP, com.cliffc.aa.HM.HM9.DO_HM, com.cliffc.aa.HM.HM9.Worklist.has(), com.cliffc.aa.HM.HM9.Syntax.hm(), and com.cliffc.aa.HM.HM9.Syntax.val().

Referenced by com.cliffc.aa.HM.HM9.Con.more_work(), com.cliffc.aa.HM.HM9.Ident.more_work(), com.cliffc.aa.HM.HM9.Lambda.more_work(), com.cliffc.aa.HM.HM9.Let.more_work(), com.cliffc.aa.HM.HM9.Apply.more_work(), com.cliffc.aa.HM.HM9.Struct.more_work(), com.cliffc.aa.HM.HM9.Field.more_work(), and com.cliffc.aa.HM.HM9.PrimSyn.more_work().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ name()

String com.cliffc.aa.HM.HM9.If.name ( )
package

Reimplemented from com.cliffc.aa.HM.HM9.PrimSyn.

Definition at line 1045 of file HM9.java.

1045 { return "if"; }

◆ p()

String com.cliffc.aa.HM.HM9.Syntax.p ( )
inherited

Definition at line 374 of file HM9.java.

374 { return p0(new SB(), new VBitSet()).toString(); }

References com.cliffc.aa.HM.HM9.Syntax.p0(), and com.cliffc.aa.util.SB.toString().

Here is the call graph for this function:

◆ p0()

final SB com.cliffc.aa.HM.HM9.Syntax.p0 ( SB  sb,
VBitSet  dups 
)
packageinherited

Definition at line 375 of file HM9.java.

375  {
376  _hmt.get_dups(dups);
377  VBitSet visit = new VBitSet();
378  p1(sb.i());
379  if( DO_HM ) _hmt .str(sb.p(", HM="), visit,dups);
380  if( DO_GCP ) _flow.str(sb.p(", CCP="),visit.clr(),null,false);
381  sb.nl();
382  return p2(sb.ii(1),dups).di(1);
383  }

References com.cliffc.aa.HM.HM9.Syntax._flow, com.cliffc.aa.HM.HM9.Syntax._hmt, com.cliffc.aa.util.VBitSet.clr(), com.cliffc.aa.util.SB.di(), com.cliffc.aa.HM.HM9.DO_GCP, com.cliffc.aa.HM.HM9.DO_HM, com.cliffc.aa.HM.HM9.T2.get_dups(), com.cliffc.aa.util.SB.i(), com.cliffc.aa.util.SB.ii(), com.cliffc.aa.util.SB.nl(), com.cliffc.aa.util.SB.p(), com.cliffc.aa.HM.HM9.Syntax.p1(), com.cliffc.aa.HM.HM9.Syntax.p2(), com.cliffc.aa.type.Type< T extends Type< T >.str(), and com.cliffc.aa.HM.HM9.T2.str().

Referenced by com.cliffc.aa.HM.HM9.Syntax.p(), com.cliffc.aa.HM.HM9.Lambda.p2(), com.cliffc.aa.HM.HM9.Let.p2(), com.cliffc.aa.HM.HM9.Apply.p2(), com.cliffc.aa.HM.HM9.Struct.p2(), and com.cliffc.aa.HM.HM9.Field.p2().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ p1()

SB com.cliffc.aa.HM.HM9.PrimSyn.p1 ( SB  sb)
packageinherited

Reimplemented from com.cliffc.aa.HM.HM9.Lambda.

Definition at line 972 of file HM9.java.

972 { return sb.p(name()); }

References com.cliffc.aa.HM.HM9.PrimSyn.name(), and com.cliffc.aa.util.SB.p().

Here is the call graph for this function:

◆ p2()

SB com.cliffc.aa.HM.HM9.PrimSyn.p2 ( SB  sb,
VBitSet  dups 
)
packageinherited

Reimplemented from com.cliffc.aa.HM.HM9.Lambda.

Definition at line 973 of file HM9.java.

973 { return sb; }

◆ prep_lookup_deps()

void com.cliffc.aa.HM.HM9.Lambda.prep_lookup_deps ( Ident  id)
packageinherited

Reimplemented from com.cliffc.aa.HM.HM9.Syntax.

Definition at line 533 of file HM9.java.

533  {
534  for( int i=0; i<_args.length; i++ )
535  if( Util.eq(_args[i],id._name) ) _targs[i].push_update(id);
536  }

References com.cliffc.aa.HM.HM9.Lambda._args, com.cliffc.aa.HM.HM9.Lambda._targs, com.cliffc.aa.util.Util.eq(), and com.cliffc.aa.HM.HM9.T2.push_update().

Here is the call graph for this function:

◆ prep_tree()

int com.cliffc.aa.HM.HM9.PrimSyn.prep_tree ( Syntax  par,
VStack  nongen,
Worklist  work 
)
packageinherited

Reimplemented from com.cliffc.aa.HM.HM9.Lambda.

Reimplemented in com.cliffc.aa.HM.HM9.NotNil.

Definition at line 952 of file HM9.java.

952  {
953  prep_tree_impl(par,nongen,work, _hmt);
954  return 1;
955  }

References com.cliffc.aa.HM.HM9.Syntax._hmt, and com.cliffc.aa.HM.HM9.Syntax.prep_tree_impl().

Here is the call graph for this function:

◆ prep_tree_impl()

final void com.cliffc.aa.HM.HM9.Syntax.prep_tree_impl ( Syntax  par,
VStack  nongen,
Worklist  work,
T2  t 
)
packageinherited

Definition at line 351 of file HM9.java.

351  {
352  _par = par;
353  _hmt = t;
354  _flow= Type.XSCALAR;
355  _nongen = nongen;
356  work.push(this);
357  }

References com.cliffc.aa.HM.HM9.Syntax._flow, com.cliffc.aa.HM.HM9.Syntax._hmt, com.cliffc.aa.HM.HM9.Syntax._nongen, com.cliffc.aa.HM.HM9.Syntax._par, com.cliffc.aa.HM.HM9.Worklist.push(), and com.cliffc.aa.type.Type< T extends Type< T >.XSCALAR.

Referenced by com.cliffc.aa.HM.HM9.Con.prep_tree(), com.cliffc.aa.HM.HM9.Ident.prep_tree(), com.cliffc.aa.HM.HM9.Lambda.prep_tree(), com.cliffc.aa.HM.HM9.Let.prep_tree(), com.cliffc.aa.HM.HM9.Apply.prep_tree(), com.cliffc.aa.HM.HM9.Struct.prep_tree(), com.cliffc.aa.HM.HM9.Field.prep_tree(), and com.cliffc.aa.HM.HM9.PrimSyn.prep_tree().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reset()

static void com.cliffc.aa.HM.HM9.PrimSyn.reset ( )
staticpackageinherited

Definition at line 930 of file HM9.java.

References com.cliffc.aa.type.TypeInt.BOOL, com.cliffc.aa.HM.HM9.PrimSyn.BOOL, com.cliffc.aa.type.TypeFlt.FLT64, com.cliffc.aa.HM.HM9.PrimSyn.FLT64, com.cliffc.aa.type.TypeInt.INT64, com.cliffc.aa.HM.HM9.PrimSyn.INT64, com.cliffc.aa.HM.HM9.T2.make_base(), com.cliffc.aa.type.BitsAlias.new_alias(), com.cliffc.aa.HM.HM9.PrimSyn.PAIR_ALIAS, com.cliffc.aa.type.BitsAlias.REC, com.cliffc.aa.HM.HM9.PrimSyn.STRP, com.cliffc.aa.type.TypeMemPtr.STRPTR, and com.cliffc.aa.HM.HM9.PrimSyn.TRIPLE_ALIAS.

Referenced by com.cliffc.aa.HM.HM9.reset().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ str()

SB com.cliffc.aa.HM.HM9.PrimSyn.str ( SB  sb)
packageinherited

Reimplemented from com.cliffc.aa.HM.HM9.Lambda.

Definition at line 971 of file HM9.java.

971 { return sb.p(name()); }

References com.cliffc.aa.HM.HM9.PrimSyn.name(), and com.cliffc.aa.util.SB.p().

Here is the call graph for this function:

◆ targ()

T2 com.cliffc.aa.HM.HM9.Lambda.targ ( int  i)
packageinherited

Definition at line 495 of file HM9.java.

495 { T2 targ = _targs[i].find(); return targ==_targs[i] ? targ : (_targs[i]=targ); }

References com.cliffc.aa.HM.HM9.Lambda._targs, com.cliffc.aa.HM.HM9.T2.find(), and com.cliffc.aa.HM.HM9.Lambda.targ().

Referenced by com.cliffc.aa.HM.HM9.Lambda.add_hm_work(), com.cliffc.aa.HM.HM9.Apply.add_val_work(), com.cliffc.aa.HM.HM9.Lambda.hm(), com.cliffc.aa.HM.HM9.PrimSyn.hm(), com.cliffc.aa.HM.HM9.If.hm(), com.cliffc.aa.HM.HM9.NotNil.hm(), com.cliffc.aa.HM.HM9.Lambda.p1(), com.cliffc.aa.HM.HM9.Ident.prep_tree(), com.cliffc.aa.HM.HM9.Lambda.prep_tree(), and com.cliffc.aa.HM.HM9.Lambda.targ().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toString()

final String com.cliffc.aa.HM.HM9.Syntax.toString ( )
inherited

Definition at line 371 of file HM9.java.

371 { return str(new SB()).toString(); }

References com.cliffc.aa.HM.HM9.Syntax.str(), and com.cliffc.aa.util.SB.toString().

Referenced by com.cliffc.aa.HM.HM9.Lambda.p1().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ val()

Type com.cliffc.aa.HM.HM9.Lambda.val ( Worklist  work)
packageinherited

Reimplemented from com.cliffc.aa.HM.HM9.Syntax.

Definition at line 520 of file HM9.java.

520 { return TypeFunPtr.make(_fidx,_args.length,Type.ANY); }

References com.cliffc.aa.HM.HM9.Lambda._args, com.cliffc.aa.HM.HM9.Lambda._fidx, com.cliffc.aa.type.Type< T extends Type< T >.ANY, and com.cliffc.aa.type.TypeFunPtr.make().

Referenced by com.cliffc.aa.HM.HM9.NotNil.apply(), and com.cliffc.aa.HM.HM9.Lambda.Lambda().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ _args

◆ _body

◆ _fidx

final int com.cliffc.aa.HM.HM9.Lambda._fidx
packageinherited

◆ _flow

◆ _hmt

◆ _nongen

VStack com.cliffc.aa.HM.HM9.Syntax._nongen
packageinherited

◆ _par

◆ _targs

◆ _types

final Type [] com.cliffc.aa.HM.HM9.Lambda._types
packageinherited

◆ BOOL

T2 com.cliffc.aa.HM.HM9.PrimSyn.BOOL
staticpackageinherited

◆ FLT64

T2 com.cliffc.aa.HM.HM9.PrimSyn.FLT64
staticpackageinherited

◆ FUNS

◆ IDS

final String [][] com.cliffc.aa.HM.HM9.PrimSyn.IDS
staticprivateinherited
Initial value:
= new String[][] {
null,
{"x"},
{"x","y"},
{"x","y","z"},
}

Definition at line 939 of file HM9.java.

Referenced by com.cliffc.aa.HM.HM9.PrimSyn.PrimSyn().

◆ INT64

T2 com.cliffc.aa.HM.HM9.PrimSyn.INT64
staticpackageinherited

◆ PAIR_ALIAS

◆ STRP

T2 com.cliffc.aa.HM.HM9.PrimSyn.STRP
staticpackageinherited

◆ TRIPLE_ALIAS

int com.cliffc.aa.HM.HM9.PrimSyn.TRIPLE_ALIAS
staticpackageinherited

◆ WORK

Worklist com.cliffc.aa.HM.HM9.PrimSyn.WORK
staticpackageinherited

Definition at line 928 of file HM9.java.

Referenced by com.cliffc.aa.HM.HM9.hm().


The documentation for this class was generated from the following file:
com.cliffc.aa.HM.HM9.Syntax.prep_tree_impl
final void prep_tree_impl(Syntax par, VStack nongen, Worklist work, T2 t)
Definition: HM9.java:351
com.cliffc.aa.HM.HM9.PrimSyn.BOOL
static T2 BOOL
Definition: HM9.java:927
com.cliffc.aa.HM.HM9.Lambda._fidx
final int _fidx
Definition: HM9.java:463
com.cliffc.aa.type.TypeFunPtr
Definition: TypeFunPtr.java:23
com.cliffc.aa.HM.HM9.Lambda._targs
final T2[] _targs
Definition: HM9.java:461
com.cliffc.aa.HM.HM9.Lambda._args
final String[] _args
Definition: HM9.java:459
com.cliffc.aa.HM.HM9.Syntax.hm
abstract boolean hm(Worklist work)
com.cliffc.aa.HM.HM9.PrimSyn.TRIPLE_ALIAS
static int TRIPLE_ALIAS
Definition: HM9.java:929
com.cliffc.aa.util.Util.eq
static boolean eq(String s0, String s1)
Definition: Util.java:16
com.cliffc.aa.util.SB.ii
SB ii(int i)
Definition: SB.java:44
com.cliffc.aa.HM.HM9.Syntax.find
T2 find()
Definition: HM9.java:325
com.cliffc.aa.HM.HM9.PrimSyn.PAIR_ALIAS
static int PAIR_ALIAS
Definition: HM9.java:929
com.cliffc.aa.util.SB.di
SB di(int i)
Definition: SB.java:46
com.cliffc.aa.type.Type.XSCALAR
static final Type XSCALAR
Definition: Type.java:329
com.cliffc.aa.HM.HM9.Lambda.targ
T2 targ(int i)
Definition: HM9.java:495
com.cliffc.aa.type.TypeInt
Definition: TypeInt.java:9
com.cliffc.aa.HM.HM9.Syntax.p0
final SB p0(SB sb, VBitSet dups)
Definition: HM9.java:375
com.cliffc.aa.type.Type
an implementation of language AA
Definition: Type.java:94
com.cliffc.aa.type.TypeFlt
Definition: TypeFlt.java:9
com.cliffc.aa.type.BitsAlias
Definition: BitsAlias.java:8
com.cliffc.aa.HM.HM9.PrimSyn.STRP
static T2 STRP
Definition: HM9.java:927
com.cliffc.aa.util.VBitSet.clr
VBitSet clr()
Definition: VBitSet.java:9
com.cliffc.aa.type.Type.ANY
static final Type ANY
Definition: Type.java:325
com.cliffc.aa.type.BitsAlias.new_alias
static int new_alias(int par)
Definition: BitsAlias.java:75
com.cliffc.aa.HM.HM9.PrimSyn.FLT64
static T2 FLT64
Definition: HM9.java:927
com.cliffc.aa.type.Type.meet
final Type meet(Type t)
Definition: Type.java:412
com.cliffc.aa.type.Type.str
SB str(SB sb, VBitSet dups, TypeMem mem, boolean debug)
Definition: Type.java:131
com.cliffc.aa.HM.HM9.Syntax.p1
abstract SB p1(SB sb)
com.cliffc.aa.type.BitsAlias.REC
static final int REC
Definition: BitsAlias.java:25
com.cliffc.aa.type.TypeInt.INT64
static final TypeInt INT64
Definition: TypeInt.java:39
com.cliffc.aa.HM.HM9.T2.find
T2 find()
Definition: HM9.java:1355
com.cliffc.aa.HM.HM9.T2.make_base
static T2 make_base(Type flow)
Definition: HM9.java:1304
com.cliffc.aa.type.Type.above_center
boolean above_center()
Definition: Type.java:741
com.cliffc.aa.HM.HM9.T2.push_update
T2 push_update(Ary< Syntax > as)
Definition: HM9.java:1995
com.cliffc.aa.util.Util
Definition: Util.java:5
com.cliffc.aa.HM.HM9.Syntax._hmt
T2 _hmt
Definition: HM9.java:324
com.cliffc.aa.HM.HM9.PrimSyn.INT64
static T2 INT64
Definition: HM9.java:927
com.cliffc.aa.type.Type.must_nil
boolean must_nil()
Definition: Type.java:845
com.cliffc.aa.HM.HM9.T2.debug_find
T2 debug_find()
Definition: HM9.java:1344
com.cliffc.aa.type.TypeFunPtr.make
static TypeFunPtr make(BitsFun fidxs, int nargs, Type disp)
Definition: TypeFunPtr.java:67
com.cliffc.aa.HM.HM9.Syntax.more_work_impl
final boolean more_work_impl(Worklist work)
Definition: HM9.java:362
com.cliffc.aa.HM.HM9.T2.args
T2 args(int i)
Definition: HM9.java:1363
com.cliffc.aa.HM.HM9.T2.str
SB str(SB sb, VBitSet visit, VBitSet dups)
Definition: HM9.java:2040
com.cliffc.aa.util.VBitSet
Definition: VBitSet.java:5
com.cliffc.aa.util.SB
Tight/tiny StringBuilder wrapper.
Definition: SB.java:8
com.cliffc.aa.type.Type.NIL
static final Type NIL
Definition: Type.java:332
com.cliffc.aa.HM.HM9.Syntax.str
abstract SB str(SB sb)
com.cliffc.aa.util.SB.nl
SB nl()
Definition: SB.java:48
com.cliffc.aa.util.SB.p
SB p(String s)
Definition: SB.java:13
com.cliffc.aa.type.TypeInt.FALSE
static final Type FALSE
Definition: TypeInt.java:45
com.cliffc.aa.type.Type.XNIL
static final Type XNIL
Definition: Type.java:333
com.cliffc.aa.HM.HM9.PrimSyn.name
abstract String name()
com.cliffc.aa.HM.HM9.Syntax._nongen
VStack _nongen
Definition: HM9.java:323
com.cliffc.aa.util.SB.i
SB i(int d)
Definition: SB.java:38
com.cliffc.aa.HM.HM9.Lambda._types
final Type[] _types
Definition: HM9.java:462
com.cliffc.aa.type.TypeMemPtr.STRPTR
static final TypeMemPtr STRPTR
Definition: TypeMemPtr.java:97
com.cliffc.aa.HM.HM9.DO_GCP
static final boolean DO_GCP
Definition: HM9.java:79
com.cliffc.aa.HM.HM9.Syntax.p2
abstract SB p2(SB sb, VBitSet dups)
com.cliffc.aa.HM.HM9.DO_HM
static final boolean DO_HM
Definition: HM9.java:78
com.cliffc.aa.HM.HM9.Syntax._flow
Type _flow
Definition: HM9.java:332
com.cliffc.aa.type.TypeInt.BOOL
static final TypeInt BOOL
Definition: TypeInt.java:43
com.cliffc.aa.util.SB.toString
String toString()
Definition: SB.java:62
com.cliffc.aa.type.TypeMemPtr
Definition: TypeMemPtr.java:14
com.cliffc.aa.HM.HM9.If.If
If()
Definition: HM9.java:1046
com.cliffc.aa.type.TypeFlt.FLT64
static final TypeFlt FLT64
Definition: TypeFlt.java:38
com.cliffc.aa.HM.HM9.T2.get_dups
VBitSet get_dups(VBitSet dups)
Definition: HM9.java:2025
com.cliffc.aa.HM.HM9.Syntax.val
abstract Type val(Worklist work)
com.cliffc.aa.HM.HM9.Syntax._par
Syntax _par
Definition: HM9.java:322