Documentation

Miri.Interpreter.ExecutionScalar

Compiler-only scalar leaves and the integer subpath used by source pointer arithmetic. No placeholder float/pointer/dereference callbacks are constructed merely to run an integer operation. The scalar-size/type/overflow checks are identical to ScalarOps.binary's integer arm.

Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def Miri.Interpreter.ExecutionScalar.finish {S C P : Type} (h : Leaves S C) (choice : C) (input : LocalLayout) :
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def Miri.Interpreter.ExecutionScalar.integerBinary {P S C : Type} [Memory.PointerProvenance P] (h : Leaves S C) (choice : C) (op : MIR.BinOp) (left right : RvalueImmTy P) :
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Miri.Interpreter.ExecutionScalar.pointerBinary {P S C : Type} [Memory.PointerProvenance P] (target : ABI.TargetDataLayout) (queries : Leaves S C) (isRaw : C → MIR.TyId → RvalueM S Bool) (usizeLayout : C → RvalueM S LocalLayout) (choice : C) (op : MIR.BinOp) (left right : RvalueImmTy P) :

          Pinned Miri machine pointer comparison/atomic arithmetic fallback. Only actual result-layout and integer actions are required, not a full scalar record.

          Equations
          Instances For

            Full scalar dictionary constructed without overwritten input callbacks. Pointer offsets retain compiler layout→multiply/overflow→signed conversion→ allocation bounds→wrapping-address order; dereference uses the actual source operand driver supplied by the physical factory.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For