raw access
nanofil
A raw access is a checked-stage memory access that does no checking of its own and names the proof that covers it: raw_load, raw_store, raw_load_pointer, raw_store_pointer, raw_cas and raw_call (ir:covered_access/6).
Rocq: the ops
RawLoadandRawLoadPointer, the instructionsRawStore,RawStorePointerandRawCall;raw_accesstranscribesir:raw_access/5.At run time it makes its access check again without trapping: where that check would fail the run is unchecked (
interp:raw_res/2,raw_res). Coverage and soundness show a valid module never gets there.
Linked from
- Chain.v: access_align_divides
- Chain.v: hull_access_not_unchecked
- Chain.v: run_access_checked
- Coverage.v: check_passes
- Doomed.v: access_size_small
- Doomed.v: access_trap_stops
- Doomed.v: raw_access_uses
- Doomed.v: step_found
- Memory.v: kind
- NFB guide (Wonderful): 7. Pizlonation: making every check a term
- Ops.v: raw_res
- Semantics.v: doomed_result
- Soundness.v: raw_tmp
- Soundness.v: unchecked_op
- Syntax.v: class
- Syntax.v: load_type
- Syntax.v: op
- Validate.v: access_type
- Validate.v: ahead_step
- Validate.v: checked_inst_rest
- Validate.v: covered_access
- Validate.v: hull_covered
- Validate.v: proof_use
- Validate.v: raw_access
- Validate.v: storage
- Walk.v: raw_access_not_special
- Walk.v: relies
- checked IR
- covered access
- pizlonate
- proof
- unchecked