Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: Upgrade Binaryen to v101 #99

Merged
merged 14 commits into from May 9, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
33 changes: 33 additions & 0 deletions js/element_segment.ml
@@ -0,0 +1,33 @@
open Js_of_ocaml.Js
open Js_of_ocaml.Js.Unsafe

type t = int

let get_name elem =
let element_segment_info =
meth_call global##.binaryen "getElementSegmentInfo" [| inject elem |]
in
to_string (get element_segment_info "name")

let get_table elem =
let element_segment_info =
meth_call global##.binaryen "getElementSegmentInfo" [| inject elem |]
in
to_string (get element_segment_info "table")

let get_offset elem =
let element_segment_info =
meth_call global##.binaryen "getElementSegmentInfo" [| inject elem |]
in
get element_segment_info "offset"

let get_length elem =
meth_call global##.binaryen "_BinaryenElementSegmentGetLength"
[| inject elem |]

let get_data elem index =
let element_segment_info =
meth_call global##.binaryen "getElementSegmentInfo" [| inject elem |]
in
let data_js_array = get element_segment_info "data" in
to_string (get data_js_array index)
37 changes: 37 additions & 0 deletions js/export.ml
Expand Up @@ -19,5 +19,42 @@ let add_global_export wasm_mod internal_name external_name =
meth_call wasm_mod "addGlobalExport"
[| inject (string internal_name); inject (string external_name) |]

let get_export wasm_mod external_name =
meth_call wasm_mod "getExport" [| inject (string external_name) |]

let remove_export wasm_mod external_name =
meth_call wasm_mod "removeExport" [| inject (string external_name) |]

let get_num_exports wasm_mod = meth_call wasm_mod "getNumExports" [||]

let get_export_by_index wasm_mod index =
meth_call wasm_mod "getExportByIndex" [| inject index |]

let get_name export =
let export_info =
meth_call global##.binaryen "getExportInfo" [| inject export |]
in
to_string (get export_info "name")

let get_value export =
let export_info =
meth_call global##.binaryen "getExportInfo" [| inject export |]
in
to_string (get export_info "value")

let external_function =
meth_call global##.binaryen "_BinaryenExternalFunction" [||]

let external_table = meth_call global##.binaryen "_BinaryenExternalTable" [||]

let external_memory = meth_call global##.binaryen "_BinaryenExternalMemory" [||]

let external_global = meth_call global##.binaryen "_BinaryenExternalGlobal" [||]

let external_event = meth_call global##.binaryen "_BinaryenExternalEvent" [||]

let export_get_kind export =
let export_info =
meth_call global##.binaryen "getExportInfo" [| inject export |]
in
get export_info "kind"