Skip to content

Commit d6578f7

Browse files
committed
Merge branch 'wasm-3.0' of github.com:WebAssembly/spec into wasmfx-merge
2 parents 146d607 + 1f3d996 commit d6578f7

File tree

7 files changed

+21
-13
lines changed

7 files changed

+21
-13
lines changed

.github/workflows/ci-spec.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ jobs:
7575
needs: [build-core-spec]
7676
steps:
7777
- name: Checkout repo
78-
uses: actions/checkout@v2
78+
uses: actions/checkout@v4
7979
with:
8080
submodules: "recursive"
8181
- name: Setup TexLive
@@ -94,7 +94,7 @@ jobs:
9494
runs-on: ubuntu-latest
9595
steps:
9696
- name: Checkout repo
97-
uses: actions/checkout@v2
97+
uses: actions/checkout@v4
9898
with:
9999
submodules: "recursive"
100100
- name: Setup TexLive

document/js-api/index.bs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1820,7 +1820,8 @@ In practice, an implementation may run out of resources for valid modules below
18201820

18211821
<ul>
18221822
<li>The maximum size of a table is 10,000,000.</li>
1823-
<li>The maximum number of pages of a memory is 65,536.</li>
1823+
<li>The maximum size of a 32-bit memory is 65,536 pages (4 GiB).</li>
1824+
<li>The maximum size of a 64-bit memory is 262,144 pages (16 GiB).</li>
18241825
</ul>
18251826

18261827
<h2 id="security-considerations">Security and Privacy Considerations</h2>

proposals/exception-handling/legacy/Exceptions.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -703,9 +703,9 @@ throws, and rethrows as follows:
703703
| `try` | `0x06` | sig : `blocktype` | begins a block which can handle thrown exceptions |
704704
| `catch` | `0x07` | index : `varint32` | begins the catch block of the try block |
705705
| `catch_all` | `0x19` | | begins the catch_all block of the try block |
706-
| `delegate` | `0x18` | relative_depth : `varuint32` | begins the delegate block of the try block |
707-
| `throw` | `0x08` | index : `varint32` | Creates an exception defined by the tag and then throws it |
708-
| `rethrow` | `0x09` | relative_depth : `varuint32` | Pops the `exnref` on top of the stack and throws it |
706+
| `delegate` | `0x18` | relative_depth : `varuint32` | ends the current try block and delegates any exceptions to the block at `relative_depth` |
707+
| `throw` | `0x08` | index : `varint32` | creates an exception defined by the tag and then throws it |
708+
| `rethrow` | `0x09` | relative_depth : `varuint32` | throws the exception caught by the catch block at `relative_depth` |
709709

710710
The *sig* fields of `block`, `if`, and `try` operators are block signatures
711711
which describe their use of the operand stack.

proposals/memory64/Overview.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,16 +88,16 @@ have to support 32-bit memory addresses in their ABI.
8888
* [Memory page limits][valid limits] and [Table entry limits][valid limits] are
8989
classified by their respective address types
9090
- ```
91-
it : k n <= k (m <= k)? (n < m)?
91+
at : k n <= k (m <= k)? (n < m)?
9292
-------------------------------------------
93-
⊦ { min n, max m? } : it
93+
⊦ { min n, max m? } : at
9494
```
9595
9696
* Memory and Table types are validated accordingly:
9797
- ```
98-
⊦ limits : it
98+
⊦ limits : at
9999
--------------
100-
it limits ok
100+
at limits ok
101101
```
102102
103103
* All [memory instructions][valid meminst] are changed to use the address type,
@@ -195,11 +195,11 @@ have to support 32-bit memory addresses in their ABI.
195195
----------------------------------
196196
C ⊦ tables.fill x : [at t at] → []
197197
```
198-
- table.copy x y
198+
- table.copy d s
199199
- ```
200-
C.tables[d] = aN limits t C.tables[s] = aM limits t K = min {aN, AM}
200+
C.tables[d] = aD limits t C.tables[s] = aS limits t aN = min {aD, aS}
201201
-----------------------------------------------------------------------------
202-
C ⊦ table.copy d s : [aN aM aK] → []
202+
C ⊦ table.copy d s : [aD aS aN] → []
203203
```
204204
- table.init x y
205205
- ```

test/core/memory.wast

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
(module (memory 0 0))
66
(module (memory 0 1))
77
(module (memory 1 256))
8+
(module definition (memory 65536))
89
(module (memory 0 65536))
910

1011
(module (memory (data)) (func (export "memsize") (result i32) (memory.size)))

test/core/memory64.wast

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
(module (memory i64 0 1))
66
(module (memory i64 1 256))
77
(module (memory i64 0 65536))
8+
(module definition (memory i64 0x1_0000_0000_0000))
9+
(module (memory i64 0 0x1_0000_0000_0000))
810

911
(module (memory i64 (data)) (func (export "memsize") (result i64) (memory.size)))
1012
(assert_return (invoke "memsize") (i64.const 0))

test/core/table.wast

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
(module (table 0 1 funcref))
77
(module (table 1 256 funcref))
88
(module (table 0 65536 funcref))
9+
(module definition (table 0xffff_ffff funcref))
910
(module (table 0 0xffff_ffff funcref))
1011

1112
(module (table 1 (ref null func)))
@@ -53,6 +54,9 @@
5354
(module (table i64 1 256 funcref))
5455
(module (table i64 0 65536 funcref))
5556
(module (table i64 0 0xffff_ffff funcref))
57+
(module (table i64 0 0x1_0000_0000 funcref))
58+
(module definition (table i64 0xffff_ffff_ffff_ffff funcref))
59+
(module (table i64 0 0xffff_ffff_ffff_ffff funcref))
5660

5761
(module (table i64 0 funcref) (table i64 0 funcref))
5862
(module (table (import "spectest" "table64") i64 0 funcref) (table i64 0 funcref))

0 commit comments

Comments
 (0)