Closed Bug 1413846 (wasm-bulkmem) Opened 7 years ago Closed 5 years ago

[meta] Implement bulk data copy & initialization proposal

Categories

(Core :: JavaScript: WebAssembly, task, P2)

task

Tracking

()

RESOLVED FIXED

People

(Reporter: lth, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: meta)

There is a pending proposal for a mechanism to control how shared memory is initialized from constant data in a module (namely, not repeatedly). This proposal is somewhat stalled but it is necessary and we'll need to implement it, when it makes some progress again. Issue: https://github.com/WebAssembly/threads/issues/62 Prose: https://github.com/WebAssembly/threads/blob/master/proposals/threads/ConditionalSegmentInitialization.md
According to Luke the CG settled on "Solution 2" from the spec above, so we can now try to implement that.
This proposal was merged with the bulk data copy proposal and has its own repo: https://github.com/WebAssembly/bulk-memory-operations
Blocks: wasm
Summary: Wasm shared memory: Implement mechanism that controls data segment initialization → Wasm: Implement bulk data copy & initialization proposal
Summary: Wasm: Implement bulk data copy & initialization proposal → [meta] Wasm: Implement bulk data copy & initialization proposal
Depends on: 1446930
Depends on: 1471500
Blocks: resab
Component: JavaScript Engine: JIT → Javascript: Web Assembly
Depends on: 1502030
Depends on: 1502033
Depends on: 1502035
Depends on: 1502037
Depends on: 1513499
Depends on: 1521780
Depends on: 1522081
Depends on: 1522082
Depends on: 1523908
Depends on: 1524530
Depends on: 1524543
Depends on: 1507493
Depends on: 1527570
Depends on: 1528294
Depends on: 1532285
Depends on: 1532306
Depends on: 1541770
Type: enhancement → task
Depends on: 1559962
Depends on: 1559963
Blocks: 1563480

It seems this does not need to block bug 1477743. Reach out to me if it should.

No longer blocks: resab

Anne, this bug has been blocking that bug because (a) bulk memory was originally spun out from the shared memory proposal and (b) the shared memory proposal is much less useful without bulk memory. Indeed upcoming google tools are assuming that if shared memory is available, then bulk memory is too, and we've recently landed code to make sure this is also true in firefox.

Don't know if you want to consider that a blocker or not.

Depends on: 1570112
Alias: wasm-bulkmem
Depends on: 1586252
Summary: [meta] Wasm: Implement bulk data copy & initialization proposal → [meta] Implement bulk data copy & initialization proposal
Depends on: 1594561

FWIW, there's a discussion about changing the semantics of zero-length fills from dead passive segments / and or change something else so that the semantics match a memory.fill of zero bytes, which is very lenient. https://github.com/WebAssembly/bulk-memory-operations/issues/124

Depends on: 1597790
Depends on: 1598149
Depends on: 1599517
No longer depends on: 1597790
Blocks: 1528294
No longer depends on: 1528294
Depends on: 1617825
Priority: P3 → P2

I belive we're now done with this.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.