Skip to content

Tasks and Issues #398

Description

@clover2123

Language Standards

WebAssembly Standard

WebAssembly-JavaScript API Standard

WASI (WebAssembly System Interface) API

Test Suites


Current Issues

1. Code Duplication from Memory64 Support

  • Excessive class duplication in ByteCode.h
  • Increased code size and reduced maintainability
  • Solution: introduce base classes and helper macros
  • Refactor incrementally

2. Excessive Stack Usage in Debug Mode

  • interpret() uses ~8KB stack (vs. a few hundred bytes in release)
  • Problematic for recursive call tests
  • Cause: too many local variables with no stack slot reuse
  • Solution: reuse variables for uint32/uint64 indices and offsets

3. Missing WASI Preview1 Functions

  • Many WASI Preview1 APIs are not implemented
  • Low complexity (mainly interface additions)
  • Can be implemented quickly

4. Apple Clang Optimization Breaking Bytecode Mapping

  • Compiler merges interpreter loop paths
  • Breaks computed goto → bytecode mapping
  • Critical issue for JIT compilation
  • Current workaround: swap src/dst operands in some bytecodes
  • Required actions:
    • Verify the issue is fully resolved
    • Add release assert to prevent regression

Optimizations

Interpreter-JIT Hybrid Runtime Execution

  • Use interpretation for cold functions and JIT compilation for hot functions

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions