We should clarify if the following specifications are desired:
table.copy can copy between shared and unshared tables (all 4 combinations1, also for all the other cases below)
array.copy can copy between shared and unshared arrays
table.init can initialize shared and unshared tables from shared and unshared element segments
array.new_elem can construct shared and unshared arrays using shared and unshared element segments
array.new_data can construct shared and unshared arrays using shared and unshared data segments
array.init_data and array.init_elem can similarly use a mix of shared and unshared arrays and element / data segments
AFAICT that's what this proposal is currently defining, I can say for sure that the V8 implementation does not support most of these cases (some of the bulk instructions might not work at all for shared types in the current POC.)
We should clarify if the following specifications are desired:
table.copycan copy between shared and unshared tables (all 4 combinations1, also for all the other cases below)array.copycan copy between shared and unshared arraystable.initcan initialize shared and unshared tables from shared and unshared element segmentsarray.new_elemcan construct shared and unshared arrays using shared and unshared element segmentsarray.new_datacan construct shared and unshared arrays using shared and unshared data segmentsarray.init_dataandarray.init_elemcan similarly use a mix of shared and unshared arrays and element / data segmentsAFAICT that's what this proposal is currently defining, I can say for sure that the V8 implementation does not support most of these cases (some of the bulk instructions might not work at all for shared types in the current POC.)
Footnotes
Inside an unshared function ↩