Skip to content

Shared heap enhancement for AOT and update tests and samples #4226

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

Conversation

TianlongLiang
Copy link
Collaborator

For AOT:

  • support preallocated shared heap and shared heap chain

For shared heap tests and samples:

  • enable AOT in sample and unit test
  • add more shared heap unit test cases, and enable shared heap unit test suite on X86_32 platform

@lum1n0us lum1n0us linked an issue May 18, 2025 that may be closed by this pull request
@TianlongLiang
Copy link
Collaborator Author

The CI issue is due to the update of LLVM, which will be resolved after rebasing the dev branch

@TianlongLiang TianlongLiang marked this pull request as ready for review May 20, 2025 08:10
LLVMBasicBlockRef check_succ, LLVMValueRef maddr_phi,
LLVMValueRef start_offset, LLVMValueRef max_addr,
LLVMValueRef mem_base_addr, LLVMValueRef bytes, uint32 bytes_u32,
bool is_memory64, bool is_target_64bit, bool bulk_memory, bool enable_segue)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might need comments to explain what each variable stands for.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will add more comments in the new refactored function

LLVMBasicBlockRef check_succ, LLVMValueRef maddr_phi,
LLVMValueRef start_offset, LLVMValueRef max_addr,
LLVMValueRef mem_base_addr, LLVMValueRef bytes, uint32 bytes_u32,
bool is_memory64, bool is_target_64bit, bool bulk_memory, bool enable_segue)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maynot a good idea to cover two types of memory overflow check.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will break the common code to separate functions and create two functions for bulk memory and memory check, respectively

Copy link
Collaborator

@lum1n0us lum1n0us left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need to fix CI errors.

"""
LLVM ERROR: Instruction Combining did not reach a fixpoint after 1 iterations
"""

@TianlongLiang
Copy link
Collaborator Author

need to fix CI errors.

""" LLVM ERROR: Instruction Combining did not reach a fixpoint after 1 iterations """

The CI issue is due to the update of LLVM, which will be resolved after rebasing the dev branch

@lum1n0us
Copy link
Collaborator

lum1n0us commented Jun 11, 2025

@TianlongLiang TianlongLiang force-pushed the dev/aot_shared_heap_enhancement branch from b57e280 to 8f49f86 Compare June 17, 2025 03:43
@lum1n0us lum1n0us merged commit ccdc836 into bytecodealliance:dev/shared_heap Jun 19, 2025
530 of 540 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[RFC] Shared heap enhancements
2 participants