Add Typed_array.Bytes module#1609
Merged
hhugo merged 4 commits intoocsigen:masterfrom May 3, 2024
johnridesabike:uint8array-bytes
Merged
Add Typed_array.Bytes module#1609hhugo merged 4 commits intoocsigen:masterfrom johnridesabike:uint8array-bytes
hhugo merged 4 commits intoocsigen:masterfrom
johnridesabike:uint8array-bytes
Conversation
hhugo
reviewed
May 3, 2024
22 tasks
Comment on lines
+3
to
+6
| void caml_bytes_of_array () { | ||
| caml_fatal_error("Unimplemented Javascript primitive caml_bytes_of_array!"); | ||
| } | ||
|
|
Contributor
There was a problem hiding this comment.
I’m a bit lost, can someone explain to me why using the API will not just raise this error?
Member
There was a problem hiding this comment.
This is just to keep the Ocaml bytecode compiler happy. This code is executed instead:
js_of_ocaml/runtime/mlBytes.js
Lines 512 to 517 in a03f32c
vouillon
pushed a commit
that referenced
this pull request
Oct 29, 2024
hhugo
added a commit
to hhugo/opam-repository
that referenced
this pull request
Nov 22, 2024
CHANGES: ## Features/Changes * Misc: update testsuite to OCaml 5.2 * Misc: CI uses opam.2.2 and no longer use sunset repo * Misc: yojson is no longer optional * Misc: reduce the diff with the wasm_of_ocaml fork * Misc: finalize support for OCaml 5.3 * Compiler: speedup global_flow/global_deadcode pass on large bytecode * Compiler: improved global dead code elimination (ocsigen/js_of_ocaml#2206) * Compiler: speedup json parsing, relying on Yojson.Raw (ocsigen/js_of_ocaml#1640) * Compiler: Decode sourcemap mappings only when necessary (ocsigen/js_of_ocaml#1664) * Compiler: mark [TextEncoder] as reserved * Compiler: add support for the Wasm backend in parts of the pipeline, in prevision for the merge of wasm_of_ocaml * Compiler: introduce a Targetint module that follows the semantic of the backend (js or wasm) * Compiler: warn on joo_global_object * Compiler: revisit static env handling (ocsigen/js_of_ocaml#1708) * Compiler: Emit index source_map to avoid changing mappings (ocsigen/js_of_ocaml#1714, ocsigen/js_of_ocaml#1715) * Compiler: improved source map generation (ocsigen/js_of_ocaml#1716) * Runtime: change Sys.os_type on windows (Cygwin -> Win32) * Runtime: backtraces are really expensive, they need to be explicitly requested at compile time (--enable with-js-error) or at startup (OCAMLRUNPARAM=b=1) * Runtime: allow dynlink of precompiled js with separate compilation (ocsigen/js_of_ocaml#1676) * Runtime: reimplement the runtime of weak and ephemeron (ocsigen/js_of_ocaml#1707) * Lib: Modify Typed_array API for compatibility with WebAssembly * Lib: add details element and toggle event (ocsigen/js_of_ocaml#1728) * Toplevel: no longer set globals for toplevel initialization * Runtime: precompute constants used in `caml_lxm_next` (ocsigen/js_of_ocaml#1730) * Runtime: cleanup runtime ## Bug fixes * Runtime: fix parsing of unsigned integers (0u2147483648) (ocsigen/js_of_ocaml#1633, ocsigen/js_of_ocaml#1666) * Runtime: fix incorrect pos_in after unmarshalling * Runtime: make float_of_string stricter (ocsigen/js_of_ocaml#1609) * Toplevel: fix missing primitives with separate compilation * Compiler: fix link of packed modules with separate compilation * Compiler: Fixed the static evaluation of some equalities (ocsigen/js_of_ocaml#1659) * Compiler: fix global analysis bug (subsumes ocsigen/js_of_ocaml#1556)
hhugo
added a commit
to hhugo/opam-repository
that referenced
this pull request
Nov 23, 2024
CHANGES: ## Features/Changes * Misc: update testsuite to OCaml 5.2 * Misc: CI uses opam.2.2 and no longer use sunset repo * Misc: yojson is no longer optional * Misc: reduce the diff with the wasm_of_ocaml fork * Misc: finalize support for OCaml 5.3 * Compiler: speedup global_flow/global_deadcode pass on large bytecode * Compiler: improved global dead code elimination (ocsigen/js_of_ocaml#2206) * Compiler: speedup json parsing, relying on Yojson.Raw (ocsigen/js_of_ocaml#1640) * Compiler: Decode sourcemap mappings only when necessary (ocsigen/js_of_ocaml#1664) * Compiler: mark [TextEncoder] as reserved * Compiler: add support for the Wasm backend in parts of the pipeline, in prevision for the merge of wasm_of_ocaml * Compiler: introduce a Targetint module that follows the semantic of the backend (js or wasm) * Compiler: warn on joo_global_object * Compiler: revisit static env handling (ocsigen/js_of_ocaml#1708) * Compiler: Emit index source_map to avoid changing mappings (ocsigen/js_of_ocaml#1714, ocsigen/js_of_ocaml#1715) * Compiler: improved source map generation (ocsigen/js_of_ocaml#1716) * Runtime: change Sys.os_type on windows (Cygwin -> Win32) * Runtime: backtraces are really expensive, they need to be explicitly requested at compile time (--enable with-js-error) or at startup (OCAMLRUNPARAM=b=1) * Runtime: allow dynlink of precompiled js with separate compilation (ocsigen/js_of_ocaml#1676) * Runtime: reimplement the runtime of weak and ephemeron (ocsigen/js_of_ocaml#1707) * Lib: Modify Typed_array API for compatibility with WebAssembly * Lib: add details element and toggle event (ocsigen/js_of_ocaml#1728) * Toplevel: no longer set globals for toplevel initialization * Runtime: precompute constants used in `caml_lxm_next` (ocsigen/js_of_ocaml#1730) * Runtime: cleanup runtime ## Bug fixes * Runtime: fix parsing of unsigned integers (0u2147483648) (ocsigen/js_of_ocaml#1633, ocsigen/js_of_ocaml#1666) * Runtime: fix incorrect pos_in after unmarshalling * Runtime: make float_of_string stricter (ocsigen/js_of_ocaml#1609) * Toplevel: fix missing primitives with separate compilation * Compiler: fix link of packed modules with separate compilation * Compiler: Fixed the static evaluation of some equalities (ocsigen/js_of_ocaml#1659) * Compiler: fix global analysis bug (subsumes ocsigen/js_of_ocaml#1556)
hhugo
added a commit
to hhugo/opam-repository
that referenced
this pull request
Nov 26, 2024
CHANGES: ## Features/Changes * Misc: update testsuite to OCaml 5.2 * Misc: CI uses opam.2.2 and no longer use sunset repo * Misc: yojson is no longer optional * Misc: reduce the diff with the wasm_of_ocaml fork * Misc: finalize support for OCaml 5.3 * Compiler: speedup global_flow/global_deadcode pass on large bytecode * Compiler: improved global dead code elimination (ocsigen/js_of_ocaml#2206) * Compiler: speedup json parsing, relying on Yojson.Raw (ocsigen/js_of_ocaml#1640) * Compiler: Decode sourcemap mappings only when necessary (ocsigen/js_of_ocaml#1664) * Compiler: mark [TextEncoder] as reserved * Compiler: add support for the Wasm backend in parts of the pipeline, in prevision for the merge of wasm_of_ocaml * Compiler: introduce a Targetint module that follows the semantic of the backend (js or wasm) * Compiler: warn on joo_global_object * Compiler: revisit static env handling (ocsigen/js_of_ocaml#1708) * Compiler: Emit index source_map to avoid changing mappings (ocsigen/js_of_ocaml#1714, ocsigen/js_of_ocaml#1715) * Compiler: improved source map generation (ocsigen/js_of_ocaml#1716) * Runtime: change Sys.os_type on windows (Cygwin -> Win32) * Runtime: backtraces are really expensive, they need to be explicitly requested at compile time (--enable with-js-error) or at startup (OCAMLRUNPARAM=b=1) * Runtime: allow dynlink of precompiled js with separate compilation (ocsigen/js_of_ocaml#1676) * Runtime: reimplement the runtime of weak and ephemeron (ocsigen/js_of_ocaml#1707) * Lib: Modify Typed_array API for compatibility with WebAssembly * Lib: add details element and toggle event (ocsigen/js_of_ocaml#1728) * Toplevel: no longer set globals for toplevel initialization * Runtime: precompute constants used in `caml_lxm_next` (ocsigen/js_of_ocaml#1730) * Runtime: cleanup runtime ## Bug fixes * Runtime: fix parsing of unsigned integers (0u2147483648) (ocsigen/js_of_ocaml#1633, ocsigen/js_of_ocaml#1666) * Runtime: fix incorrect pos_in after unmarshalling * Runtime: make float_of_string stricter (ocsigen/js_of_ocaml#1609) * Toplevel: fix missing primitives with separate compilation * Compiler: fix link of packed modules with separate compilation * Compiler: Fixed the static evaluation of some equalities (ocsigen/js_of_ocaml#1659) * Compiler: fix global analysis bug (subsumes ocsigen/js_of_ocaml#1556)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds an API in
Typed_arrayfor converting uint8Array values into bytes. Because the runtime uses uint8Array internally to represent bytes, this doesn't need to copy anything. Modifying the resulting bytes will also modify the original uint8Array.