@@ -1566,14 +1566,9 @@ See the [concurrency explainer] for background.
15661566The ` context.get ` built-in returns the ` i ` th element of the [ current thread] 's
15671567[ thread-local storage] array. Validation currently restricts ` i ` to be less
15681568than 2 and ` T ` to be ` i32 ` (or, with 🐘, ` i64 ` ), but these restrictions may
1569- be relaxed in the future.
1570-
1571- Mixing ` i32 ` and ` i64 ` results in truncating or unsigned extending the
1572- stored values:
1573- * If ` context.get i32 i ` is called after ` context.set i64 i v ` ,
1574- only the low 32-bits are read (returning ` i32.wrap_i64 v ` ).
1575- * If ` context.get i64 i ` is called after ` context.set i32 i v ` ,
1576- the upper 32-bits will be zero (returning ` i64.extend_i32_u v ` ).
1569+ be relaxed in the future. Additionally, component-level validation requires
1570+ that all ` context.get ` and ` context.set ` built-ins use the * same* ` T ` , so
1571+ that there is no mixing of writes with one type and reads with another.
15771572
15781573For details, see [ Thread-Local Storage] in the concurrency explainer and
15791574[ ` canon_context_get ` ] in the Canonical ABI explainer.
@@ -1588,14 +1583,10 @@ For details, see [Thread-Local Storage] in the concurrency explainer and
15881583The ` context.set ` built-in sets the ` i ` th element of the [ current thread] 's
15891584[ thread-local storage] array to the value ` v ` . Validation currently restricts
15901585` i ` to be less than 2 and ` T ` to be ` i32 ` (or, with 🐘, ` i64 ` ), but these
1591- restrictions may be relaxed in the future.
1592-
1593- Mixing ` i32 ` and ` i64 ` results in truncating or unsigned extending the
1594- stored values:
1595- * If ` context.get i32 i ` is called after ` context.set i64 i v ` ,
1596- only the low 32-bits are read (returning ` i32.wrap_i64 v ` ).
1597- * If ` context.get i64 i ` is called after ` context.set i32 i v ` ,
1598- the upper 32-bits will be zero (returning ` i64.extend_i32_u v ` ).
1586+ restrictions may be relaxed in the future. Additionally, component-level
1587+ validation requires that all ` context.get ` and ` context.set ` built-ins use the
1588+ * same* ` T ` , so that there is no mixing of writes with one type and reads with
1589+ another.
15991590
16001591For details, see [ Thread-Local Storage] in the concurrency explainer and
16011592[ ` canon_context_set ` ] in the Canonical ABI explainer.
0 commit comments