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

Cover 100% of core spec tests, support WIT codegen #62

Merged
merged 1 commit into from
Nov 2, 2023
Merged

Cover 100% of core spec tests, support WIT codegen #62

merged 1 commit into from
Nov 2, 2023

Conversation

MaxDesiatov
Copy link
Collaborator

@MaxDesiatov MaxDesiatov commented Nov 2, 2023

Here is a more detailed breakdown for specific changes:

  1. Renamed the project from WAKit to WasmKit.

  2. WebAssembly binary parser change to make it compliant with the spec. Files changed:
    ./Sources/WasmKit/Parser/
    ./Tests/WasmKitTests/Parser/

  3. WebAssembly interpreter changes to make it compliant with the spec. No JIT or assembly code generation done in the interpreter. Files changed:
    ./Sources/WasmKit/Execution/
    ./Sources/WasmKit/Types/
    ./Tests/WasmKitTests/Execution/

  4. WASI system interface changes to make it compliant with the spec.
    ./Sources/WASI/
    ./Sources/SystemExtras/
    ./Tests/WASITests/
    ./IntegrationTests/WASI/

  5. WIT parser change to make it compliant with the Component Model specification. Files changed:
    ./Sources/WIT/
    ./Tests/WITTests/

  6. WIT code generation change. Files changed:
    ./Plugins/
    ./Sources/WITExtractor/
    ./Sources/WITOverlayGenerator/
    ./Sources/WasmKit/Component/
    ./Tests/WITExtractorTests/
    ./Tests/WITOverlayGeneratorTests/
    ./Tests/WITExtractorPluginTests/

Here is a more detailed breakdown for specific changes:
1. WebAssembly binary parser change to make it compliant with the spec. Files changed:
./Sources/WasmKit/Parser/
./Tests/WasmKitTests/Parser/

2. WebAssembly interpreter changes to make it compliant with the spec. No JIT or assembly code generation done in the interpreter. Files changed:
./Sources/WasmKit/Execution/
./Sources/WasmKit/Types/
./Tests/WasmKitTests/Execution/

3. WASI system interface changes to make it compliant with the spec.
./Sources/WASI/
./Sources/SystemExtras/
./Tests/WASITests/
./IntegrationTests/WASI/

4 .WIT parser change to make it compliant with the Component Model specification. Files changed:
./Sources/WIT/
./Tests/WITTests/

5. WIT code generation change. We should mention that this only generates Swift code statically and no binary code is generated. It’s similar to protoc in Protocol Buffers or Swift OpenAPI Generator projects that are already open-source. No “hot reloading” or dynamic code generation is done (i.e. when application is running).
Files changed:
./Plugins/
./Sources/WITExtractor/
./Sources/WITOverlayGenerator/
./Sources/WasmKit/Component/
./Tests/WITExtractorTests/
./Tests/WITOverlayGeneratorTests/
./Tests/WITExtractorPluginTests/

Co-authored-by: Yuta Saito <[email protected]>
@kateinoigakukun kateinoigakukun merged commit d984a6c into swiftwasm:main Nov 2, 2023
0 of 8 checks passed
@MaxDesiatov MaxDesiatov deleted the core-spec-and-wit branch November 2, 2023 19:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants