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

Public Member Functions

 Factor ()
 
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 1274 of file HM.java.

Constructor & Destructor Documentation

◆ Factor()

com.cliffc.aa.HM.HM.Factor.Factor ( )

Definition at line 1276 of file HM.java.

1276 { super(FLT64,FLT64); }

References com.cliffc.aa.HM.HM.PrimSyn.FLT64.

Referenced by com.cliffc.aa.HM.HM.Factor.make().

Here is the caller graph for this function:

Member Function Documentation

◆ add_hm_work()

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

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

Definition at line 988 of file HM.java.

988  {
989  if( find().is_err() ) work.push(_par);
990  }

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

Here is the call graph for this function:

◆ add_val_work()

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

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

Definition at line 991 of file HM.java.

991 { throw unimpl(); }

◆ apply()

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

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

Definition at line 1278 of file HM.java.

1278  {
1279  Type flt = args[0]._flow;
1280  if( flt.above_center() ) return TypeFlt.FLT64.dual();
1281  return TypeFlt.FLT64;
1282  }

References com.cliffc.aa.HM.HM.Syntax._flow, com.cliffc.aa.type.Type< T extends Type< T >.above_center(), com.cliffc.aa.type.Type< T extends Type< T >.dual(), and com.cliffc.aa.type.TypeFlt.FLT64.

Here is the call graph for this function:

◆ debug_find()

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

Definition at line 348 of file HM.java.

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

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

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

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

◆ find()

◆ hm()

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

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

Reimplemented in com.cliffc.aa.HM.HM.NotNil, and com.cliffc.aa.HM.HM.If.

Definition at line 978 of file HM.java.

978  {
979  T2 old = find();
980  if( old.is_err() ) return false;
981  assert old.is_fun();
982  for( int i=0; i<_targs.length; i++ )
983  if( targ(i).is_err() )
984  return old.unify(targ(i),work);
985 
986  return false;
987  }

References com.cliffc.aa.HM.HM.Lambda._targs, com.cliffc.aa.HM.HM.Syntax.find(), com.cliffc.aa.HM.HM.T2.is_err(), com.cliffc.aa.HM.HM.T2.is_fun(), com.cliffc.aa.HM.HM.Lambda.targ(), and com.cliffc.aa.HM.HM.T2.unify().

Here is the call graph for this function:

◆ make()

PrimSyn com.cliffc.aa.HM.HM.Factor.make ( )
package

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

Definition at line 1277 of file HM.java.

1277 { return new Factor(); }

References com.cliffc.aa.HM.HM.Factor.Factor().

Here is the call graph for this function:

◆ more_work()

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

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

Definition at line 992 of file HM.java.

992 { return more_work_impl(work); }

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

Here is the call graph for this function:

◆ more_work_impl()

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

Definition at line 381 of file HM.java.

381  {
382  if( work.has(this) ) return true;
383  if( DO_HM && hm(null) ) // Any more HM work?
384  return false; // Found HM work not on worklist
385  if( DO_GCP && val(null)!=_flow )
386  return false; // Found GCP work not on worklist
387  return true;
388  }

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

Referenced by com.cliffc.aa.HM.HM.Con.more_work(), com.cliffc.aa.HM.HM.Ident.more_work(), com.cliffc.aa.HM.HM.Lambda.more_work(), com.cliffc.aa.HM.HM.Let.more_work(), com.cliffc.aa.HM.HM.Apply.more_work(), com.cliffc.aa.HM.HM.Struct.more_work(), com.cliffc.aa.HM.HM.Field.more_work(), and com.cliffc.aa.HM.HM.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.HM.Factor.name ( )
package

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

Definition at line 1275 of file HM.java.

1275 { return "factor"; }

◆ p()

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

Definition at line 393 of file HM.java.

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

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

Here is the call graph for this function:

◆ p0()

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

Definition at line 394 of file HM.java.

394  {
395  _hmt.get_dups(dups);
396  VBitSet visit = new VBitSet();
397  p1(sb.i());
398  if( DO_HM ) _hmt .str(sb.p(", HM="), visit,dups);
399  if( DO_GCP ) _flow.str(sb.p(", CCP="),visit.clr(),null,false);
400  sb.nl();
401  return p2(sb.ii(1),dups).di(1);
402  }

References com.cliffc.aa.HM.HM.Syntax._flow, com.cliffc.aa.HM.HM.Syntax._hmt, com.cliffc.aa.util.VBitSet.clr(), com.cliffc.aa.util.SB.di(), com.cliffc.aa.HM.HM.DO_GCP, com.cliffc.aa.HM.HM.DO_HM, com.cliffc.aa.HM.HM.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.HM.Syntax.p1(), com.cliffc.aa.HM.HM.Syntax.p2(), com.cliffc.aa.type.Type< T extends Type< T >.str(), and com.cliffc.aa.HM.HM.T2.str().

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

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

◆ p1()

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

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

Definition at line 994 of file HM.java.

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

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

Here is the call graph for this function:

◆ p2()

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

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

Definition at line 995 of file HM.java.

995 { return sb; }

◆ prep_lookup_deps()

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

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

Definition at line 554 of file HM.java.

554  {
555  for( int i=0; i<_args.length; i++ )
556  if( Util.eq(_args[i],id._name) ) _targs[i].push_update(id);
557  }

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

Here is the call graph for this function:

◆ prep_tree()

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

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

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

Definition at line 974 of file HM.java.

974  {
975  prep_tree_impl(par,nongen,work, _hmt);
976  return 1;
977  }

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

Here is the call graph for this function:

◆ prep_tree_impl()

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

Definition at line 370 of file HM.java.

370  {
371  _par = par;
372  _hmt = t;
373  _flow= Type.XSCALAR;
374  _nongen = nongen;
375  work.push(this);
376  }

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

Referenced by com.cliffc.aa.HM.HM.Con.prep_tree(), com.cliffc.aa.HM.HM.Ident.prep_tree(), com.cliffc.aa.HM.HM.Lambda.prep_tree(), com.cliffc.aa.HM.HM.Let.prep_tree(), com.cliffc.aa.HM.HM.Apply.prep_tree(), com.cliffc.aa.HM.HM.Struct.prep_tree(), com.cliffc.aa.HM.HM.Field.prep_tree(), and com.cliffc.aa.HM.HM.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.HM.PrimSyn.reset ( )
staticpackageinherited

Definition at line 952 of file HM.java.

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

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

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

◆ str()

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

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

Definition at line 993 of file HM.java.

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

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

Here is the call graph for this function:

◆ targ()

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

Definition at line 516 of file HM.java.

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

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

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

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

◆ toString()

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

Definition at line 390 of file HM.java.

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

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

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

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

◆ val()

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

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

Definition at line 541 of file HM.java.

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

References com.cliffc.aa.HM.HM.Lambda._args, com.cliffc.aa.HM.HM.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.HM.NotNil.apply(), and com.cliffc.aa.HM.HM.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.HM.Lambda._fidx
packageinherited

◆ _flow

◆ _hmt

T2 com.cliffc.aa.HM.HM.Syntax._hmt
packageinherited

Definition at line 343 of file HM.java.

Referenced by com.cliffc.aa.HM.HM.Syntax.debug_find(), com.cliffc.aa.HM.HM.Syntax.find(), com.cliffc.aa.HM.HM.hm(), com.cliffc.aa.HM.HM.Syntax.p0(), com.cliffc.aa.HM.HM.Let.prep_tree(), com.cliffc.aa.HM.HM.PrimSyn.prep_tree(), com.cliffc.aa.HM.HM.Syntax.prep_tree_impl(), com.cliffc.aa.HM.HM.PrimSyn.PrimSyn(), com.cliffc.aa.HM.TestHM.run(), com.cliffc.aa.HM.TestHM9.run(), com.cliffc.aa.HM.TestHM.test05(), com.cliffc.aa.HM.TestHM9.test05(), com.cliffc.aa.HM.TestHM.test06(), com.cliffc.aa.HM.TestHM9.test06(), com.cliffc.aa.HM.TestHM.test14(), com.cliffc.aa.HM.TestHM9.test14(), com.cliffc.aa.HM.TestHM.test18(), com.cliffc.aa.HM.TestHM9.test18(), com.cliffc.aa.HM.TestHM.test20(), com.cliffc.aa.HM.TestHM9.test20(), com.cliffc.aa.HM.TestHM9.test32(), com.cliffc.aa.HM.TestHM.test32(), com.cliffc.aa.HM.TestHM9.test33(), com.cliffc.aa.HM.TestHM.test33(), com.cliffc.aa.HM.TestHM9.test34(), com.cliffc.aa.HM.TestHM.test34(), com.cliffc.aa.HM.TestHM9.test36(), com.cliffc.aa.HM.TestHM.test36(), com.cliffc.aa.HM.TestHM.test39(), com.cliffc.aa.HM.TestHM9.test39(), com.cliffc.aa.HM.TestHM.test40(), com.cliffc.aa.HM.TestHM9.test40(), com.cliffc.aa.HM.TestHM.test41(), com.cliffc.aa.HM.TestHM9.test41(), com.cliffc.aa.HM.TestHM.test42(), com.cliffc.aa.HM.TestHM9.test42(), com.cliffc.aa.HM.TestHM.test43(), com.cliffc.aa.HM.TestHM9.test43(), com.cliffc.aa.HM.TestHM.test44(), com.cliffc.aa.HM.TestHM9.test44(), com.cliffc.aa.HM.TestHM.test45(), com.cliffc.aa.HM.TestHM9.test45(), com.cliffc.aa.HM.TestHM.test49(), com.cliffc.aa.HM.TestHM9.test49(), com.cliffc.aa.HM.TestHM.test50(), com.cliffc.aa.HM.TestHM9.test50(), com.cliffc.aa.HM.TestHM.test51(), com.cliffc.aa.HM.TestHM.test52(), com.cliffc.aa.HM.TestHM.test55(), com.cliffc.aa.HM.TestHM.test56(), and com.cliffc.aa.HM.TestHM.test57().

◆ _nongen

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

◆ _par

◆ _targs

◆ _types

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

◆ BOOL

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

◆ FLT64

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

◆ FUNS

◆ IDS

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

Definition at line 961 of file HM.java.

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

◆ INT64

◆ PAIR_ALIAS

◆ STRP

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

◆ TRIPLE_ALIAS

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

◆ WORK

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

Definition at line 950 of file HM.java.

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


The documentation for this class was generated from the following file:
com.cliffc.aa.HM.HM.Syntax.find
T2 find()
Definition: HM.java:344
com.cliffc.aa.type.TypeFunPtr
Definition: TypeFunPtr.java:23
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.util.SB.di
SB di(int i)
Definition: SB.java:46
com.cliffc.aa.HM.HM.Syntax.hm
abstract boolean hm(Worklist work)
com.cliffc.aa.HM.HM.PrimSyn.STRP
static T2 STRP
Definition: HM.java:949
com.cliffc.aa.type.Type.XSCALAR
static final Type XSCALAR
Definition: Type.java:329
com.cliffc.aa.type.TypeInt
Definition: TypeInt.java:9
com.cliffc.aa.HM.HM.PrimSyn.FLT64
static T2 FLT64
Definition: HM.java:949
com.cliffc.aa.HM.HM.Syntax.val
abstract Type val(Worklist work)
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.HM.PrimSyn.BOOL
static T2 BOOL
Definition: HM.java:949
com.cliffc.aa.HM.HM.Syntax.p2
abstract SB p2(SB sb, VBitSet dups)
com.cliffc.aa.HM.HM.Lambda._targs
final T2[] _targs
Definition: HM.java:482
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.HM.HM.Syntax._flow
Type _flow
Definition: HM.java:351
com.cliffc.aa.type.BitsAlias.new_alias
static int new_alias(int par)
Definition: BitsAlias.java:75
com.cliffc.aa.type.Type.str
SB str(SB sb, VBitSet dups, TypeMem mem, boolean debug)
Definition: Type.java:131
com.cliffc.aa.HM.HM.DO_HM
static final boolean DO_HM
Definition: HM.java:91
com.cliffc.aa.HM.HM.T2.push_update
T2 push_update(Ary< Syntax > as)
Definition: HM.java:2118
com.cliffc.aa.HM.HM.T2.make_base
static T2 make_base(Type flow)
Definition: HM.java:1323
com.cliffc.aa.HM.HM.Factor.Factor
Factor()
Definition: HM.java:1276
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.HM.Syntax._par
Syntax _par
Definition: HM.java:341
com.cliffc.aa.HM.HM.Syntax.p1
abstract SB p1(SB sb)
com.cliffc.aa.HM.HM.Syntax.p0
final SB p0(SB sb, VBitSet dups)
Definition: HM.java:394
com.cliffc.aa.type.Type.above_center
boolean above_center()
Definition: Type.java:741
com.cliffc.aa.HM.HM.Syntax._nongen
VStack _nongen
Definition: HM.java:342
com.cliffc.aa.HM.HM.Syntax._hmt
T2 _hmt
Definition: HM.java:343
com.cliffc.aa.util.Util
Definition: Util.java:5
com.cliffc.aa.type.TypeFunPtr.make
static TypeFunPtr make(BitsFun fidxs, int nargs, Type disp)
Definition: TypeFunPtr.java:67
com.cliffc.aa.HM.HM.Syntax.more_work_impl
final boolean more_work_impl(Worklist work)
Definition: HM.java:381
com.cliffc.aa.HM.HM.Syntax.prep_tree_impl
final void prep_tree_impl(Syntax par, VStack nongen, Worklist work, T2 t)
Definition: HM.java:370
com.cliffc.aa.util.VBitSet
Definition: VBitSet.java:5
com.cliffc.aa.HM.HM.PrimSyn.TRIPLE_ALIAS
static int TRIPLE_ALIAS
Definition: HM.java:951
com.cliffc.aa.HM.HM.Syntax.str
abstract SB str(SB sb)
com.cliffc.aa.util.SB
Tight/tiny StringBuilder wrapper.
Definition: SB.java:8
com.cliffc.aa.HM.HM.Lambda.targ
T2 targ(int i)
Definition: HM.java:516
com.cliffc.aa.util.SB.nl
SB nl()
Definition: SB.java:48
com.cliffc.aa.HM.HM.Lambda._args
final String[] _args
Definition: HM.java:480
com.cliffc.aa.HM.HM.PrimSyn.name
abstract String name()
com.cliffc.aa.util.SB.p
SB p(String s)
Definition: SB.java:13
com.cliffc.aa.HM.HM.Lambda._fidx
final int _fidx
Definition: HM.java:484
com.cliffc.aa.HM.HM.DO_GCP
static final boolean DO_GCP
Definition: HM.java:92
com.cliffc.aa.HM.HM.T2.find
T2 find()
Definition: HM.java:1374
com.cliffc.aa.type.Type.dual
final T dual()
Definition: Type.java:361
com.cliffc.aa.HM.HM.PrimSyn.INT64
static T2 INT64
Definition: HM.java:949
com.cliffc.aa.util.SB.i
SB i(int d)
Definition: SB.java:38
com.cliffc.aa.type.TypeMemPtr.STRPTR
static final TypeMemPtr STRPTR
Definition: TypeMemPtr.java:97
com.cliffc.aa.HM.HM.T2.get_dups
VBitSet get_dups(VBitSet dups)
Definition: HM.java:2148
com.cliffc.aa.HM.HM.T2.str
SB str(SB sb, VBitSet visit, VBitSet dups)
Definition: HM.java:2163
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.HM.PrimSyn.PAIR_ALIAS
static int PAIR_ALIAS
Definition: HM.java:951
com.cliffc.aa.HM.HM.T2.debug_find
T2 debug_find()
Definition: HM.java:1364
com.cliffc.aa.type.TypeFlt.FLT64
static final TypeFlt FLT64
Definition: TypeFlt.java:38