final object Periods

Constructors

Members

[+] final class Period

A period is a contiguous sequence of phase ids in some run. It is coded as follows:

sign, always 0 1 bit runid 17 bits last phase id...

A period is a contiguous sequence of phase ids in some run. It is coded as follows:

sign, always 0 1 bit runid 17 bits last phase id: 7 bits #phases before last: 7 bits

// Dmitry: sign == 0 isn't actually always true, in some cases phaseId == -1 is used for shifts, that easily creates code < 0

final object Period
type PhaseId = Int

An ordinal number for phases. First phase has number 1.

An ordinal number for phases. First phase has number 1.

type RunId = Int

An ordinal number for compiler runs. First run has number 1.

An ordinal number for compiler runs. First run has number 1.

final val FirstPhaseId : 1
final val InitialPeriod : Period
final val InitialRunId : 1
final val InvalidPeriod : Period
final val MaxPossiblePhaseId : 127
final val MaxPossibleRunId : 131071
final val NoPhaseId : 0
final val NoRunId : 0
final val Nowhere : Period
final val PhaseMask : 127
final val PhaseWidth : 7

The number of bits needed to encode a phase identifier.

The number of bits needed to encode a phase identifier.

final val RunWidth : 17