Skip to content

Commit

Permalink
Implement wasm-c-api frame/trap APIs for interpreter mode (#660)
Browse files Browse the repository at this point in the history
And enable to cache compiled AOT file buffer for wasm-c-api JIT mode
Avoid checks that rely on undefined C behavior
Fix issues of wasm-c-api sample trap and callback_chain

Signed-off-by: Wenyong Huang <wenyong.huang@intel.com>
  • Loading branch information
wenyongh authored Jul 6, 2021
1 parent d91047c commit b554a9d
Show file tree
Hide file tree
Showing 16 changed files with 575 additions and 103 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ The WAMR [samples](./samples) integrate the iwasm VM core, application manager a

Project Technical Steering Committee
====================================
The [WAMR PTSC Charter](./TSC_Charter.md) governs the operations of the project TSC.
The [WAMR PTSC Charter](./TSC_Charter.md) governs the operations of the project TSC.
The current TSC members:
- [lum1n0us](https://github.com/lum1n0us) - **Liang He**, <liang.he@intel.com>
- [qinxk-inter](https://github.com/qinxk-inter) - **Xiaokang Qin**, <xiaokang.qxk@antgroup.com>
Expand Down
24 changes: 12 additions & 12 deletions TSC_Charter.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,31 @@

## Section 1. Guiding Principle

The WebAssembly Micro Runtime (WAMR) project is part of the
Bytecode Alliance (BA) which operates transparently, openly,
collaboratively, and ethically. Project proposals, timelines, and status
The WebAssembly Micro Runtime (WAMR) project is part of the
Bytecode Alliance (BA) which operates transparently, openly,
collaboratively, and ethically. Project proposals, timelines, and status
must not merely be open, but also easily visible to outsiders.

## Section 2. Project Governance under Bytecode Alliance

Technical leadership for the WAMR projects within the Bytecode Alliance
is delegated to the projects through the project charter. Though the BA TSC
Technical leadership for the WAMR projects within the Bytecode Alliance
is delegated to the projects through the project charter. Though the BA TSC
will not interfere with day-to-day discussions, votes or meetings of the PTSC,
the BA TSC may request additional amendments to the PTSC charter when
the BA TSC may request additional amendments to the PTSC charter when
there is misalignment between the project charter and the BA mission and values.



The PTSC structure described in this document may be overhauled as part of
establishing a BA TSC in order to adhere to constraints or requirements that
The PTSC structure described in this document may be overhauled as part of
establishing a BA TSC in order to adhere to constraints or requirements that
TSC will impose on project-level governance.

## Section 3. Establishment of the PTSC

PTSC memberships are not time-limited. There is no maximum size of the PTSC.
The size is expected to vary in order to ensure adequate coverage of important
areas of expertise, balanced with the ability to make decisions efficiently.
The PTSC must have at least four members.
The PTSC must have at least four members.

There is no specific set of requirements or qualifications for PTSC
membership beyond these rules. The PTSC may add additional members to the
Expand Down Expand Up @@ -77,11 +77,11 @@ The PTSC will define WAMR project’s release vehicles.

## Section 5. WAMR Project Operations

The PTSC will establish and maintain a development process for the WAMR
The PTSC will establish and maintain a development process for the WAMR
project. The development process will establish guidelines
for how the developers and community will operate. It will, for example,
establish appropriate timelines for PTSC review (e.g. agenda items must be
published at least a certain number of hours in advance of a PTSC
published at least a certain number of hours in advance of a PTSC
meeting).

The PTSC and entire technical community will follow any processes as may
Expand All @@ -106,7 +106,7 @@ the candidate's election. Elections shall be done within the projects by
the Collaborators active in the project.

The PTSC will elect from amongst voting PTSC members a PTSC Chairperson to
work on building an agenda for PTSC meetings. The PTSC shall hold annual
work on building an agenda for PTSC meetings. The PTSC shall hold annual

elections to select a PTSC Chairperson; there are no limits on the number
of terms a PTSC Chairperson may serve.
Expand Down
4 changes: 2 additions & 2 deletions core/iwasm/aot/aot_runtime.c
Original file line number Diff line number Diff line change
Expand Up @@ -1896,7 +1896,7 @@ aot_validate_app_addr(AOTModuleInstance *module_inst,
}

/* integer overflow check */
if(app_offset + size < app_offset) {
if(app_offset > UINT32_MAX - size) {
goto fail;
}

Expand All @@ -1920,7 +1920,7 @@ aot_validate_native_addr(AOTModuleInstance *module_inst,
}

/* integer overflow check */
if (addr + size < addr) {
if ((uintptr_t)addr > UINTPTR_MAX - size) {
goto fail;
}

Expand Down
Loading

0 comments on commit b554a9d

Please sign in to comment.