Canonical typed runtime places shared by frame storage, call dispatch and place execution. Byte-level MemoryOperandLayout is only a one-way memory API projection; saved places always retain their original TyAndLayout.
@[reducible, inline]
Instances For
- mplace : MemPlace P
- layout : LocalLayout
Instances For
@[instance_reducible]
instance
Miri.Interpreter.instDecidableEqMPlaceTy
{P✝ : Type}
[DecidableEq P✝]
:
DecidableEq (MPlaceTy P✝)
def
Miri.Interpreter.instDecidableEqMPlaceTy.decEq
{P✝ : Type}
[DecidableEq P✝]
(x✝ x✝¹ : MPlaceTy P✝)
:
Equations
Instances For
@[instance_reducible]
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
- local {P : Type} (frameIndex localId : Nat) (offset : Option ABI.Size) (localsIdentity : LocalsIdentity) : RuntimePlaceRef P
- memory {P : Type} (place : MemPlace P) : RuntimePlaceRef P
Instances For
def
Miri.Interpreter.instDecidableEqRuntimePlaceRef.decEq
{P✝ : Type}
[DecidableEq P✝]
(x✝ x✝¹ : RuntimePlaceRef P✝)
:
Equations
- One or more equations did not get rendered due to their size.
- Miri.Interpreter.instDecidableEqRuntimePlaceRef.decEq (Miri.Interpreter.RuntimePlaceRef.memory a) (Miri.Interpreter.RuntimePlaceRef.memory b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
@[instance_reducible]
@[instance_reducible]
Equations
def
Miri.Interpreter.instReprRuntimePlaceRef.repr
{P✝ : Type}
[Repr P✝]
:
RuntimePlaceRef P✝ → Nat → Std.Format
Equations
- One or more equations did not get rendered due to their size.
Instances For
- ref : RuntimePlaceRef P
- layout : LocalLayout
Instances For
@[instance_reducible]
instance
Miri.Interpreter.instDecidableEqRuntimePlace
{P✝ : Type}
[DecidableEq P✝]
:
DecidableEq (RuntimePlace P✝)
def
Miri.Interpreter.instDecidableEqRuntimePlace.decEq
{P✝ : Type}
[DecidableEq P✝]
(x✝ x✝¹ : RuntimePlace P✝)
:
Equations
Instances For
@[instance_reducible]
Equations
def
Miri.Interpreter.instReprRuntimePlace.repr
{P✝ : Type}
[Repr P✝]
:
RuntimePlace P✝ → Nat → Std.Format
Equations
- One or more equations did not get rendered due to their size.
Instances For
Saved evaluated call/return destination. Both variants retain canonical compiler type identity, including projected local destinations.
- memory {P : Type} (place : MPlaceTy P) : RuntimeStackPlace P
- frameLocal {P : Type} (frameIndex localId : Nat) (offset : Option ABI.Size) (layout : LocalLayout) (localsIdentity : LocalsIdentity) : RuntimeStackPlace P
Instances For
@[instance_reducible]
def
Miri.Interpreter.instDecidableEqRuntimeStackPlace.decEq
{P✝ : Type}
[DecidableEq P✝]
(x✝ x✝¹ : RuntimeStackPlace P✝)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
instance
Miri.Interpreter.instReprRuntimeStackPlace
{P✝ : Type}
[Repr P✝]
:
Repr (RuntimeStackPlace P✝)
Equations
def
Miri.Interpreter.instReprRuntimeStackPlace.repr
{P✝ : Type}
[Repr P✝]
:
RuntimeStackPlace P✝ → Nat → Std.Format
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- (Miri.Interpreter.RuntimeStackPlace.memory a).toRuntimePlace = { ref := Miri.Interpreter.RuntimePlaceRef.memory a.mplace, layout := a.layout }
- (Miri.Interpreter.RuntimeStackPlace.frameLocal a a_1 a_2 a_3 a_4).toRuntimePlace = { ref := Miri.Interpreter.RuntimePlaceRef.local a a_1 a_2 a_4, layout := a_3 }
Instances For
Equations
- (Miri.Interpreter.RuntimeStackPlace.memory a).layout = a.layout
- (Miri.Interpreter.RuntimeStackPlace.frameLocal a a_1 a_2 a_3 a_4).layout = a_3
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
Miri.Interpreter.RuntimePlace.stackView_toRuntimePlace
{P : Type}
(place : RuntimePlace P)
:
@[simp]
theorem
Miri.Interpreter.RuntimeStackPlace.toRuntimePlace_stackView
{P : Type}
(place : RuntimeStackPlace P)
: