package jasmin
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Compiler for High-Assurance and High-Speed Cryptography
Install
dune-project
Dependency
Authors
Maintainers
Sources
jasmin-compiler-v2025.06.2.tar.bz2
sha256=aa0d21f532c1560a0939244cfd1c8414ba2b42c9d1403960f458500446cb1ebb
doc/jasmin.linter/Linter/BackwardAnalyser/Make/argument-1-L/index.html
Parameter Make.L
val initialize : ('info, 'asm) Jasmin.Prog.func -> domain Annotation.annotationBuild the initial value of the domain using the function passed as argument.
args :
('info,'asm) Prog.func(function to analyse)
returns :
domain(intial domain)
val pp : Format.formatter -> (Jasmin.Location.i_loc * domain) -> unitPretty printer for the domain.
args :
Format.formatter(formatter to use)domain(domain to print)
Inclusion test for the domain. included a b test if a is included in b
args :
domain(first domain)domain(second domain)
returns :
bool(true if first domain is included in the second one)
val account :
int Jasmin.Prog.gexpr ->
domain Annotation.annotation ->
domain Annotation.annotation ->
domain Annotation.annotationControl flow function used to handle conditionnal branches. assume build an annotation such that : for all A1, A2, e, s ; s in I(account e A1 A2) => s in I(if es then A1 else A2)
val forget : int Jasmin.Prog.gvar_i -> domain -> domain Annotation.annotationFunction to remove a variable from a domain. This function is needed because of the way we handle for loops. args :
Jasmin.Prog.var_i(variable to remove)domain(domain to update)
returns :
domain Annotation.annotation(updated domain wrap with annotation type)
val funcall :
Jasmin.Location.i_loc ->
Jasmin.Prog.lvals ->
Jasmin.CoreIdent.funname ->
Jasmin.Prog.exprs ->
domain ->
domain Annotation.annotationFunction to handle function call instruction
val syscall :
Jasmin.Location.i_loc ->
Jasmin.Prog.lvals ->
Jasmin.BinNums.positive Jasmin.Syscall_t.syscall_t ->
Jasmin.Prog.exprs ->
domain ->
domain Annotation.annotationFunction to handle syscall instruction
val assign :
Jasmin.Location.i_loc ->
Jasmin.Prog.lval ->
Jasmin.Expr.assgn_tag ->
Jasmin.Prog.ty ->
Jasmin.Prog.expr ->
domain ->
domain Annotation.annotationFunction to handle assign instruction
val opn :
Jasmin.Location.i_loc ->
Jasmin.Prog.lvals ->
Jasmin.Expr.assgn_tag ->
'asm Jasmin.Sopn.sopn ->
Jasmin.Prog.exprs ->
domain ->
domain Annotation.annotationFunction to handle opn instruction
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>