Open Bug 1676441 Opened 3 months ago Updated 1 month ago

Tweaks, test infrastructure and test cases for wasm memories > INT32_MAX

Categories

(Core :: Javascript: WebAssembly, enhancement, P2)

enhancement

Tracking

()

ASSIGNED

People

(Reporter: lth, Assigned: lth)

References

(Blocks 1 open bug)

Details

Attachments

(9 files, 2 obsolete files)

47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review

Various test cases for wasm memories > 2GB, and tweaks and infrastructure to make them pass.

Summary: Test infrastructure and test cases for wasm memories > INT32_MAX → Test infrastructure and test cases and tweaks for wasm memories > INT32_MAX

Depends on D96602

Attachment #9186999 - Attachment description: Bug 1676441 - Going from 65544 to 65536 is hard, WIP → Bug 1676441 - Going from 65534 to 65536 is hard, WIP
Attachment #9186961 - Attachment description: Bug 1676441 - Scaffolding + test WIP → Bug 1676441 - Allow up to 65534 pages + test cases
Priority: P3 → P2
Summary: Test infrastructure and test cases and tweaks for wasm memories > INT32_MAX → Tweaks, test infrastructure and test cases for wasm memories > INT32_MAX

Depends on D98969

Depends on D98970

The plan for asm.js is to restrict it to 2GB, so that we do not have to vet the semantics + the implementation to handle more. This has been implemented as a check during linking, and iiuc a link failure means we'll just fall back to JS, so asm.js programs will be able to use the larger heaps, but they will be run as JS, not translated to wasm.

Make the bounds check limit field platform-dependent and tidy up some
naming.

Make sure asm.js tests are run with explicit bounds checking also on
64-bit platforms.

Depends on D98970

Add wasmBoundsCheck64() APIs that will take a 64-bit index and 64-bit
limit, to be used on all 64-bit platforms.

Document how the bounds checking primitives are supposed to be used.

Depends on D99097

Use the new 64-bit API on 64-bit systems (after widening the index
appropriately) and the 32-bit API on 32-bit systems.

Depends on D99098

Update the Ion pipeline to support 64-bit bounds for wasm on 64-bit
platforms, and 32-bit bounds for asm.js everywhere and wasm on 32-bit
platforms.

Depends on D99102

Attachment #9186999 - Attachment is obsolete: true
Attachment #9191734 - Attachment is obsolete: true

Depends on D99104

You need to log in before you can comment on or make changes to this bug.