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 19 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 19 bits last phase id: 6 bits #phases before last: 6 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