gotopo

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 22, 2022 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Func

type Func struct {
	// contains filtered or unexported fields
}

Every function may actively use some channels or synchronization primitives. The channels and synchronization primitives are separated

func (*Func) AddCreatedChan

func (f *Func) AddCreatedChan(v ssa.Value)

func (*Func) AddInChan

func (f *Func) AddInChan(v ssa.Value)

func (*Func) AddOutChan

func (f *Func) AddOutChan(v ssa.Value)

func (*Func) AddUseChan

func (f *Func) AddUseChan(v ssa.Value)

func (*Func) AddUseSync

func (f *Func) AddUseSync(v ssa.Value)

func (*Func) Chans

func (f *Func) Chans() map[ssa.Value]struct{}

func (*Func) HasChan

func (f *Func) HasChan(v ssa.Value) bool

func (*Func) IsActive

func (f *Func) IsActive(v ssa.Value) bool

func (*Func) OutChans

func (f *Func) OutChans() map[ssa.Value]struct{}

func (*Func) String

func (f *Func) String() (str string)

func (*Func) Sync

func (f *Func) Sync() map[ssa.Value]struct{}

type PSets

type PSets []utils.SSAValueSet

GCatch style PSets

func GetGCatchPSets

func GetGCatchPSets(CFG *cfg.Cfg, f *ssa.Function, pt *pointer.Result,
	G graph.Graph[*ssa.Function],
	computeDominator func(...*ssa.Function) *ssa.Function,
	CallDAG graph.SCCDecomposition[*ssa.Function],
	ps Primitives,
) (psets PSets)

func GetInterprocPsets

func GetInterprocPsets(CFG *cfg.Cfg, pt *pointer.Result, G graph.Graph[*ssa.Function]) PSets

Get whole program GCatch style P-sets

func GetSameFuncPsets

func GetSameFuncPsets(ps Primitives) (psets PSets)

func GetSingletonPsets

func GetSingletonPsets(ps Primitives) (psets PSets)

func GetTotalPset

func GetTotalPset(ps Primitives) (psets PSets)

Compute a single, whole program P-set that includes all channels.

func (PSets) Get

func (psets PSets) Get(v ssa.Value) utils.SSAValueSet

func (PSets) String

func (psets PSets) String() string

type Primitives

type Primitives map[*ssa.Function]*Func

Map every function to the primitives it uses

func GetPrimitives

func GetPrimitives(entry *ssa.Function, pt *pointer.Result, G graph.Graph[*ssa.Function]) (p Primitives)

Process functions based on reachability

func (Primitives) Chans

func (p Primitives) Chans() utils.SSAValueSet

func (Primitives) String

func (p Primitives) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL