Skip to content

Commit aadc467

Browse files
gahaasbinji
authored andcommitted
Change element segment encoding (WebAssembly#108)
* Change element segment encoding * Change table index letter
1 parent 820bd12 commit aadc467

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

document/core/binary/modules.rst

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -327,12 +327,18 @@ It decodes into a vector of :ref:`element segments <syntax-elem>` that represent
327327
\production{element section} & \Belemsec &::=&
328328
\X{seg}^\ast{:}\Bsection_9(\Bvec(\Belem)) &\Rightarrow& \X{seg} \\
329329
\production{element segment} & \Belem &::=&
330-
\hex{00}~~e{:}\Bexpr~~y^\ast{:}\Bvec(\Bfuncidx)
331-
&\Rightarrow& \{ \ETABLE~0, \EOFFSET~e, \EINIT~((\REFFUNC~y)~\END)^\ast \} \\ &&|&
332-
\hex{01}~~\X{et}:\Belemtype~e^\ast{:}\Bvec(\Belemexpr)
330+
\hex{00}~~o{:}\Bexpr~~y^\ast{:}\Bvec(\Bfuncidx)
331+
&\Rightarrow& \{ \ETABLE~0, \EOFFSET~o, \ETYPE~\FUNCREF, \EINIT~((\REFFUNC~y)~\END)^\ast \} \\ &&|&
332+
\hex{01}~~\hex{00}~~y^\ast{:}\Bvec(\Bfuncidx)
333+
&\Rightarrow& \{ \ETYPE~\FUNCREF, \EINIT~((\REFFUNC~y)~\END)^\ast \} \\ &&|&
334+
\hex{02}~~x{:}\Btableidx~~o{:}\Bexpr~~\hex{00}~~y^\ast{:}\Bvec(\Bfuncidx)
335+
&\Rightarrow& \{ \ETABLE~x, \EOFFSET~o, \ETYPE~\FUNCREF, \EINIT~((\REFFUNC~y)~\END)^\ast \} \\ &&|&
336+
\hex{04}~~o{:}\Bexpr~e^\ast{:}\Bvec(\Belemexpr)
337+
&\Rightarrow& \{ \ETABLE~0, \EOFFSET~o, \ETYPE~\FUNCREF, \EINIT~e^\ast \} \\ &&|&
338+
\hex{05}~~\X{et}:\Belemtype~~e^\ast{:}\Bvec(\Belemexpr)
333339
&\Rightarrow& \{ \ETYPE~et, \EINIT~e^\ast \} \\ &&|&
334-
\hex{02}~~x{:}\Btableidx~~e{:}\Bexpr~~y^\ast{:}\Bvec(\Bfuncidx)
335-
&\Rightarrow& \{ \ETABLE~x, \EOFFSET~e, \EINIT~((\REFFUNC~y)~\END)^\ast \} \\
340+
\hex{06}~~x{:}\Btableidx~~o{:}\Bexpr~~\X{et}:\Belemtype~~e^\ast{:}\Bvec(\Belemexpr)
341+
&\Rightarrow& \{ \ETABLE~x, \EOFFSET~o, \ETYPE~et, \EINIT~e^\ast \} \\
336342
\production{elemexpr} & \Belemexpr &::=&
337343
\hex{D0}~\hex{0B} &\Rightarrow& \REFNULL~\END \\ &&|&
338344
\hex{D2}~x{:}\Bfuncidx~\hex{0B} &\Rightarrow& (\REFFUNC~x)~\END \\

0 commit comments

Comments
 (0)