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

Implement reference-types Wasm proposal #635

Merged
merged 121 commits into from
Jan 31, 2023
Merged

Commits on Jan 25, 2023

  1. Configuration menu
    Copy the full SHA
    fd00d48 View commit details
    Browse the repository at this point in the history
  2. enable all Wasm spec tests again

    Many are failing at the moment since reference-types is not yet implemented in wasmi. The goal of this PR is to make all tests pass again.
    Robbepop committed Jan 25, 2023
    Configuration menu
    Copy the full SHA
    5cefe50 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    dc24b16 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    77a0f11 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f13935f View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2023

  1. make FuncIdx use NonZeroU32

    This allows to have size_of<Func> == size_of<Option<Func>>
    Robbepop committed Jan 26, 2023
    Configuration menu
    Copy the full SHA
    1b17a82 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3741a9d View commit details
    Browse the repository at this point in the history
  3. create FuncRef type in wasmi

    Robbepop committed Jan 26, 2023
    Configuration menu
    Copy the full SHA
    2249fdd View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    012a8fd View commit details
    Browse the repository at this point in the history
  5. add test comment

    Robbepop committed Jan 26, 2023
    Configuration menu
    Copy the full SHA
    b029367 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    45effa9 View commit details
    Browse the repository at this point in the history
  7. add ValueType::FuncRef

    Robbepop committed Jan 26, 2023
    Configuration menu
    Copy the full SHA
    2b11559 View commit details
    Browse the repository at this point in the history
  8. make Value no longer Copy

    This is in preparation for the introduction of the ExternRef type that is going to be a non-Copy type since internally it will be reference counted.
    Robbepop committed Jan 26, 2023
    Configuration menu
    Copy the full SHA
    e187eff View commit details
    Browse the repository at this point in the history
  9. add ExternRef type to wasmi

    Robbepop committed Jan 26, 2023
    Configuration menu
    Copy the full SHA
    b1a1c9c View commit details
    Browse the repository at this point in the history
  10. fix no_std compilation

    Robbepop committed Jan 26, 2023
    Configuration menu
    Copy the full SHA
    19b9d84 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    de6f533 View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2023

  1. Configuration menu
    Copy the full SHA
    061f659 View commit details
    Browse the repository at this point in the history
  2. re-design ExternRef

    It no longer owns its data itself but uses to the store to do so just like any other entity in wasmi.
    Robbepop committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    fae6050 View commit details
    Browse the repository at this point in the history
  3. add accessor methods to Value

    Thesse methods were taken over from the Wasmtime API.
    Robbepop committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    04095e0 View commit details
    Browse the repository at this point in the history
  4. apply clippy suggestion

    Robbepop committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    2a9f144 View commit details
    Browse the repository at this point in the history
  5. make Value no longer impl PartialEq

    Just like in the Wasmtime API. Better mirroring.
    Robbepop committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    c3d4fa9 View commit details
    Browse the repository at this point in the history
  6. improve docs

    Robbepop committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    5c191f8 View commit details
    Browse the repository at this point in the history
  7. add ExternRef to Value

    This also removes the Display impl for Value.
    The wasmi CLI tool now instead implements its own way to display Value which makes more sense anyways.
    Robbepop committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    7363309 View commit details
    Browse the repository at this point in the history
  8. remove Display impl for FuncType

    The Display implementation now resides in wasmi_cli which was its only user and makes more sense since Display impls usually are biased.
    Robbepop committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    e6a4ccc View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    efab6a7 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    561ac69 View commit details
    Browse the repository at this point in the history
  11. remove TryInto API from Value

    This better mirrors the Wasmtime API.
    Robbepop committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    1ed309c View commit details
    Browse the repository at this point in the history
  12. remove Value::try_into

    Robbepop committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    81ae13b View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    7d9703f View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    d28de74 View commit details
    Browse the repository at this point in the history
  15. apply rustfmt

    Robbepop committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    21a5f80 View commit details
    Browse the repository at this point in the history
  16. fix internal doc link

    Robbepop committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    247e1e3 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    aecd7a5 View commit details
    Browse the repository at this point in the history
  18. apply rustfmt

    Robbepop committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    3257595 View commit details
    Browse the repository at this point in the history
  19. add element type to TableType

    Note that the Table is still working as before.
    Robbepop committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    613be2d View commit details
    Browse the repository at this point in the history
  20. make Table use ValueType and Value

    Internally TableEntity uses UntypedValue for efficiency reasons.
    Robbepop committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    4c2c076 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    9bed627 View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2023

  1. Configuration menu
    Copy the full SHA
    23bd5c3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    38b6755 View commit details
    Browse the repository at this point in the history
  3. add docs

    Robbepop committed Jan 28, 2023
    Configuration menu
    Copy the full SHA
    ef79dd7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    416e9cd View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f6e26f2 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a555103 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f16e0a4 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    62083b5 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    17ef451 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    22a37cc View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    546aeda View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    f18be54 View commit details
    Browse the repository at this point in the history
  13. cleanup assert

    Robbepop committed Jan 28, 2023
    Configuration menu
    Copy the full SHA
    0ea8d54 View commit details
    Browse the repository at this point in the history
  14. add ValueType::{is_num, is_ref} methods

    These are copied over from the Wasmtime API.
    Robbepop committed Jan 28, 2023
    Configuration menu
    Copy the full SHA
    89a6898 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    4ba8c15 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    a3aeca0 View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2023

  1. Configuration menu
    Copy the full SHA
    c6bbd5f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    43b85ba View commit details
    Browse the repository at this point in the history
  3. improve wast testsuite

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    2b70fdf View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1b38020 View commit details
    Browse the repository at this point in the history
  5. extend wast testsuite

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    56758c4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ad475ac View commit details
    Browse the repository at this point in the history
  7. apply rustfmt

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    763eec7 View commit details
    Browse the repository at this point in the history
  8. apply clippy suggestions

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    a86a28a View commit details
    Browse the repository at this point in the history
  9. adjust trap message

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    cef6ecc View commit details
    Browse the repository at this point in the history
  10. improve trap message

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    b4b00c3 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    1f7b499 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    b8ba528 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    cadb9ae View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    7b48141 View commit details
    Browse the repository at this point in the history
  15. more cleanups

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    2680393 View commit details
    Browse the repository at this point in the history
  16. more linker cleanups

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    de9d19d View commit details
    Browse the repository at this point in the history
  17. improve LinkerError

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    57aa6f5 View commit details
    Browse the repository at this point in the history
  18. more cleanups

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    1aa9309 View commit details
    Browse the repository at this point in the history
  19. apply rustfmt

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    db069b4 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    d9bdffb View commit details
    Browse the repository at this point in the history
  21. apply clippy suggestion

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    bdea66a View commit details
    Browse the repository at this point in the history
  22. fix internal doc link

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    bcfe552 View commit details
    Browse the repository at this point in the history
  23. improve docs

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    1ce1aec View commit details
    Browse the repository at this point in the history
  24. rename methods

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    c950aa3 View commit details
    Browse the repository at this point in the history
  25. refactor check_subtype

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    b075ac7 View commit details
    Browse the repository at this point in the history
  26. apply clippy suggestions

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    b1a3f79 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    e99fff0 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    d6ad7f9 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    9689550 View commit details
    Browse the repository at this point in the history
  30. minor cleanup

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    27bb1eb View commit details
    Browse the repository at this point in the history
  31. update Wasm spec testsuite

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    5fd2c16 View commit details
    Browse the repository at this point in the history
  32. remove debug println

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    913f26f View commit details
    Browse the repository at this point in the history
  33. cleanup testsuite runner

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    a3bed01 View commit details
    Browse the repository at this point in the history
  34. remove unnecessary match arm

    even Wasmtime does not know how to compare funcrefs according to the Wast specification. Therefore I think it has not been designed, yet.
    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    3dccd33 View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    49249e7 View commit details
    Browse the repository at this point in the history
  36. use Self were possible

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    2398c6e View commit details
    Browse the repository at this point in the history
  37. add temporary fix

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    2a23358 View commit details
    Browse the repository at this point in the history
  38. fix TableEntity::copy_within

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    3ca7e47 View commit details
    Browse the repository at this point in the history
  39. improve Table docs

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    6a61f80 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    b6756b3 View commit details
    Browse the repository at this point in the history
  41. cleanup code after bug fix

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    106a3da View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    4983c92 View commit details
    Browse the repository at this point in the history
  43. move comment

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    e7f9b78 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    94a4ba2 View commit details
    Browse the repository at this point in the history
  45. cleanup error handling

    Robbepop committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    3014571 View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    6e46ef5 View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2023

  1. Configuration menu
    Copy the full SHA
    0bfacb5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    025d64e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0507f49 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fe7af12 View commit details
    Browse the repository at this point in the history
  5. cleanup

    Robbepop committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    3aea9e5 View commit details
    Browse the repository at this point in the history
  6. rename method

    Robbepop committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    1408c7a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ba3ba55 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    aa0a33b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f6fddb4 View commit details
    Browse the repository at this point in the history
  10. apply rustfmt

    Robbepop committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    bbaad89 View commit details
    Browse the repository at this point in the history
  11. add Memory::import_ty method

    This fixes a bug with import subtyping.
    Apparently subtyping is concerned with dynamic types and not with static types.
    Robbepop committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    7851d5a View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    8c3e334 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    96aafed View commit details
    Browse the repository at this point in the history
  14. rename import_ty -> dynamic_ty

    better name for the same thing
    Robbepop committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    7a6c4b7 View commit details
    Browse the repository at this point in the history
  15. remove clippy allowance

    Robbepop committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    0a401f4 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    ff49303 View commit details
    Browse the repository at this point in the history
  17. apply rustfmt

    Robbepop committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    e2821d5 View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2023

  1. canonicalize FuncRef::null instances

    Now all FuncRef::null() instances are always guaranteed to be encoded as 0.
    Robbepop committed Jan 31, 2023
    Configuration menu
    Copy the full SHA
    852e131 View commit details
    Browse the repository at this point in the history
  2. fi spelling in doc

    Robbepop committed Jan 31, 2023
    Configuration menu
    Copy the full SHA
    95ced32 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    81a5277 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    43bcba8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e795b37 View commit details
    Browse the repository at this point in the history