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

PR: lib/snapshot.js (create, load, modify) #54

Closed
2 tasks
frank-dspeed opened this issue Sep 16, 2022 · 0 comments
Closed
2 tasks

PR: lib/snapshot.js (create, load, modify) #54

frank-dspeed opened this issue Sep 16, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@frank-dspeed
Copy link

frank-dspeed commented Sep 16, 2022

This is a Tracking issue for the JustJS Implementation of the Stealify Snapshot driven Component System implemented via the b8g tooling. A WASI & WASM drop in Replacement fully Capability based and Compose able with external References support and sharedArrayBuffers ffi and dlopen everything that you expect.

Related deno/rust integration:

Related stealify snapshot tooling written in ECMAScript

Why?

The internal snapshot format which is in general a serialized hash table is use able as wasi wasm replacement

It implements a binary format that is able to handle any type so it is a better fit for backend development while it is still able to be used in browsers.

Impl Roadmap

  • use v8/src/snapshots/* as justjs module implement a loader
    • port the functions from the snapshot tests to build multiple snapshots and modify them

Snapshot blob layout:

  // [0] number of contexts N
  // [1] rehashability
  // [2] checksum
  // [3] (128 bytes) version string
  // [4] offset to readonly
  // [5] offset to context 0
  // [6] offset to context 1
  // ...
  // ... offset to context N - 1
  // ... startup snapshot data
  // ... read-only snapshot data
  // ... context 0 snapshot data
  // ... context 1 snapshot data
@frank-dspeed frank-dspeed changed the title PR: @Stealify Based Component System for JustJS PR: lib/snapshot.js (create, load, modify) Sep 16, 2022
@billywhizz billywhizz added the enhancement New feature or request label Sep 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants