Periods

object Periods
class Object
trait Matchable
class Any

Type members

Classlikes

final class Period(val code: Int) extends AnyVal

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

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

Companion
object
object Period
Companion
class

Types

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.

Value members

Concrete methods

Are all base types in the current period guaranteed to be the same as in period p?

Are all base types in the current period guaranteed to be the same as in period p?

The period containing the current period where denotations do not change. We compute this by taking as first phase the first phase less or equal to the current phase that has the same "nextTransformerId". As last phase we take the next transformer id following the current phase.

The period containing the current period where denotations do not change. We compute this by taking as first phase the first phase less or equal to the current phase that has the same "nextTransformerId". As last phase we take the next transformer id following the current phase.

Concrete fields

final val FirstPhaseId: 1
final val InitialRunId: 1
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