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 Exception Handling for classic interpreter #3096

Merged
merged 16 commits into from
Jan 31, 2024
Merged

Conversation

wenyongh
Copy link
Contributor

Merge branch dev/exce_handling to main to support exception handling,
currently it only supports classic interpreter mode, and is still in highly
experimental stage.

Refer to:
587513f
8bebfe9
59bccdf

wenyongh and others added 16 commits January 3, 2023 20:01
Define exception handling opcodes and add empty handlers for the opcodes.
Merge branch main into dev/exce_handling
Merge branch main into dev/exce_handling
Merge branch main into dev/exce_handling
Merge branch main into dev/exce_handling
Merge branch main into dev/exce_handling
Merge branch main into dev/exce_handling
Merge branch main into dev/exce_handling
This PR adds the initial support for WASM exceptions, it is an initial contribution,
as part 1 of 2 contributions. Refer to:
  #2382

### Included in this contribution
* Inside the classic interpreter only:
  * Initial handling of Tags
  * Initial handling of Exceptions based on W3C Exception Proposal
* Add `cmake -DWAMR_BUILD_EXCE_HANDLING=1/0` option to enable/disable
  the feature, and update the wamr-test-suites scripts to test the feature.

### To be included in Part 2
* Inside the classic interpreter only:
  * Bug fixes and naming convention improvements
  * Additional CI /CD changes to validate ENABLE_EXCE_HANDLING switch builds
    OK on all platforms
  * Import and Export of Exceptions and Tags

Signed-off-by: Chris Woods <chris.woods@siemens.com>
Co-authored-by: Ricardo Aguilar <ricardoaguilar@siemens.com>
Co-authored-by: Rene Ermler <rene.ermler@siemens.com>
Merge branch main into dev/exce_handling
This PR continues the work from #2382 and updates the exception handling support:
* Inside the classic interpreter only:
  * Bug fixes and naming convention improvements
  * Import and Export of Exceptions and Tags
  * Remove the dependency on multi-module
  * Additional CI /CD changes to validate ENABLE_EXCE_HANDLING switch builds
     OK on all platforms

Refer to #1884.

Signed-off-by: Ricardo Aguilar <ricardoaguilar@siemens.com>
Co-authored-by: Chris Woods <chris.woods@siemens.com>
Co-authored-by: Rene Ermler <rene.ermler@siemens.com>
Co-authored-by: Trenner Thomas <trenner.thomas@siemens.com>
Merge branch main into dev/exce_handling
@wenyongh wenyongh merged commit af318ba into main Jan 31, 2024
811 of 813 checks passed
victoryang00 pushed a commit to victoryang00/wamr-aot-gc-checkpoint-restore that referenced this pull request May 27, 2024
…e#3096)

This PR adds the initial support for WASM exception handling:
* Inside the classic interpreter only:
  * Initial handling of Tags
  * Initial handling of Exceptions based on W3C Exception Proposal
  * Import and Export of Exceptions and Tags
* Add `cmake -DWAMR_BUILD_EXCE_HANDLING=1/0` option to enable/disable
  the feature, and by default it is disabled
* Update the wamr-test-suites scripts to test the feature
* Additional CI/CD changes to validate the exception spec proposal cases

Refer to:
bytecodealliance#1884
bytecodealliance@587513f
bytecodealliance@8bebfe9
bytecodealliance@59bccdf

Signed-off-by: Ricardo Aguilar <ricardoaguilar@siemens.com>
Co-authored-by: Chris Woods <chris.woods@siemens.com>
Co-authored-by: Rene Ermler <rene.ermler@siemens.com>
Co-authored-by: Trenner Thomas <trenner.thomas@siemens.com>
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.

4 participants