Module Flambda2_to_jsir.To_jsir_shared
val bind_expr_to_var :
env:To_jsir_env.t ->
res:To_jsir_result.t ->
Flambda2_identifiers.Variable.t ->
Jsoo_imports.Import.Jsir.expr ->
To_jsir_env.t * To_jsir_result.tBind a fresh JSIR variable to expr, and map fvar to this new variable in the environment.
val bind_expr_to_var' :
env:To_jsir_env.t ->
res:To_jsir_result.t ->
Flambda2_identifiers.Variable.t ->
Jsoo_imports.Import.Jsir.expr ->
Jsoo_imports.Import.Jsir.Var.t * To_jsir_env.t * To_jsir_result.tval target_ocaml_int_to_jsir_const :
Flambda2_numbers.Target_ocaml_int.t ->
Jsoo_imports.Import.Jsir.constantConvert various integer types into a Jsir.constant.
val float32_to_jsir_const :
Flambda2_numbers.Numeric_types.Float32_by_bit_pattern.t ->
Jsoo_imports.Import.Jsir.constantval float_to_jsir_const :
Flambda2_numbers.Numeric_types.Float_by_bit_pattern.t ->
Jsoo_imports.Import.Jsir.constantval int8_to_jsir_const :
Flambda2_numbers.Numeric_types.Int8.t ->
Jsoo_imports.Import.Jsir.constantval int16_to_jsir_const :
Flambda2_numbers.Numeric_types.Int16.t ->
Jsoo_imports.Import.Jsir.constantval int32_to_jsir_const : Int32.t -> Jsoo_imports.Import.Jsir.constantval int64_to_jsir_const : Int64.t -> Jsoo_imports.Import.Jsir.constantval nativeint_to_jsir_const :
Flambda2_numbers.Targetint_32_64.t ->
Jsoo_imports.Import.Jsir.constantval reg_width_const :
Flambda2_identifiers.Reg_width_const.t ->
Jsoo_imports.Import.Jsir.constantConvert a Flambda Reg_width_const.t into a Jsir.constant.
val simple :
env:To_jsir_env.t ->
res:To_jsir_result.t ->
Flambda2_term_basics.Simple.t ->
Jsoo_imports.Import.Jsir.Var.t * To_jsir_result.tConvert a Flambda Simple.t into a Jsir.Var.t, potentially by adding new instructions in the result.
val simples :
env:To_jsir_env.t ->
res:To_jsir_result.t ->
Flambda2_term_basics.Simple.t list ->
Jsoo_imports.Import.Jsir.Var.t list * To_jsir_result.tval bound_parameters :
env:To_jsir_env.t ->
Flambda2_bound_identifiers.Bound_parameters.t ->
Jsoo_imports.Import.Jsir.Var.t list * To_jsir_env.tTake in Bound_parameters.t and bind each parameter to fresh JSIR variables in the environment, and return the variables in order
val block :
env:To_jsir_env.t ->
res:To_jsir_result.t ->
tag:Flambda2_kinds.Tag.t ->
mut:Flambda2_terms.Mutability.t ->
fields:Flambda2_term_basics.Simple.t list ->
Jsoo_imports.Import.Jsir.expr * To_jsir_env.t * To_jsir_result.tMake a new block.