V8 Project
v8::internal::Effect Struct Reference

#include <effects.h>

+ Collaboration diagram for v8::internal::Effect:

Public Types

enum  Modality { POSSIBLE , DEFINITE }
 

Public Member Functions

 Effect ()
 
 Effect (Bounds b, Modality m=DEFINITE)
 

Static Public Member Functions

static Effect Unknown (Zone *zone)
 
static Effect Forget (Zone *zone)
 
static Effect Seq (Effect e1, Effect e2, Zone *zone)
 
static Effect Alt (Effect e1, Effect e2, Zone *zone)
 

Public Attributes

Modality modality
 
Bounds bounds
 

Detailed Description

Definition at line 29 of file effects.h.

Member Enumeration Documentation

◆ Modality

Enumerator
POSSIBLE 
DEFINITE 

Definition at line 30 of file effects.h.

Constructor & Destructor Documentation

◆ Effect() [1/2]

v8::internal::Effect::Effect ( )
inline

Definition at line 35 of file effects.h.

35 : modality(DEFINITE) {}
Modality modality
Definition: effects.h:32

Referenced by Alt(), Forget(), Seq(), and Unknown().

+ Here is the caller graph for this function:

◆ Effect() [2/2]

v8::internal::Effect::Effect ( Bounds  b,
Modality  m = DEFINITE 
)
inlineexplicit

Definition at line 36 of file effects.h.

36 : modality(m), bounds(b) {}

Member Function Documentation

◆ Alt()

static Effect v8::internal::Effect::Alt ( Effect  e1,
Effect  e2,
Zone zone 
)
inlinestatic

Definition at line 54 of file effects.h.

54  {
55  return Effect(
56  Bounds::Either(e1.bounds, e2.bounds, zone),
57  e1.modality == POSSIBLE ? POSSIBLE : e2.modality);
58  }
static BoundsImpl Either(BoundsImpl b1, BoundsImpl b2, Region *region)
Definition: types.h:1024

References bounds, Effect(), v8::internal::BoundsImpl< ZoneTypeConfig >::Either(), modality, and POSSIBLE.

Referenced by v8::internal::EffectsMixin< Var, Base, Effects >::Alt().

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

◆ Forget()

static Effect v8::internal::Effect::Forget ( Zone zone)
inlinestatic

Definition at line 43 of file effects.h.

43  {
44  return Effect(Bounds::Unbounded(zone), DEFINITE);
45  }
static BoundsImpl Unbounded(Region *region)
Definition: types.h:1010

References DEFINITE, Effect(), and v8::internal::BoundsImpl< ZoneTypeConfig >::Unbounded().

Referenced by v8::internal::EffectsMixin< Var, Base, Effects >::Forget().

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

◆ Seq()

static Effect v8::internal::Effect::Seq ( Effect  e1,
Effect  e2,
Zone zone 
)
inlinestatic

Definition at line 48 of file effects.h.

48  {
49  if (e2.modality == DEFINITE) return e2;
50  return Effect(Bounds::Either(e1.bounds, e2.bounds, zone), e1.modality);
51  }

References bounds, DEFINITE, Effect(), v8::internal::BoundsImpl< ZoneTypeConfig >::Either(), and modality.

Referenced by v8::internal::EffectsMixin< Var, Base, Effects >::Seq().

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

◆ Unknown()

static Effect v8::internal::Effect::Unknown ( Zone zone)
inlinestatic

Definition at line 39 of file effects.h.

39  {
40  return Effect(Bounds::Unbounded(zone), POSSIBLE);
41  }

References Effect(), POSSIBLE, and v8::internal::BoundsImpl< ZoneTypeConfig >::Unbounded().

Referenced by v8::internal::EffectsMixin< Var, Base, Effects >::Lookup().

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

Member Data Documentation

◆ bounds

Bounds v8::internal::Effect::bounds

◆ modality


The documentation for this struct was generated from the following file: