This repository was archived by the owner on Nov 3, 2021. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +8
-24
lines changed Expand file tree Collapse file tree 2 files changed +8
-24
lines changed Original file line number Diff line number Diff line change @@ -689,24 +689,21 @@ Memory Instructions
689
689
S; F; (\I32 .\CONST ~i)~\val ~(\I32 .\CONST ~0 )~(\MEMORYFILL ) &\stepto & S; F; \epsilon
690
690
\end {array} \\
691
691
\begin {array}{lcl@{\qquad }l}
692
- S; F; (\I32 .\CONST ~i)~\val ~(\I32 .\CONST ~1 )~(\MEMORYFILL ) &\stepto & S; F;
693
- (\I32 .\CONST ~i)~\val ~(\I32 \K {.}\STORE\K {8 }~\{ \OFFSET ~0 , \ALIGN ~0 \}) \\
694
- \end {array} \\
692
+ S; F; (\I32 .\CONST ~i)~\val ~(\I32 .\CONST ~n)~(\MEMORYFILL ) &\stepto & S; F; \TRAP \\
693
+ \end {array}
694
+ \\ \qquad
695
+ \begin {array}[t]{@{}r@{~}l@{}}
696
+ (\iff & \X {i} + \X {n} \gt |S.\SMEMS [F.\AMODULE .\MIMEMS [0 ]].\MIDATA |) \\
697
+ \end {array} \\
695
698
\begin {array}{lcl@{\qquad }l}
696
699
S; F; (\I32 .\CONST ~i)~\val ~(\I32 .\CONST ~n)~(\MEMORYFILL ) &\stepto & S; F;
697
700
\begin {array}[t]{@{}l@{}}
698
- (\I32 .\CONST ~i)~\val ~(\I32 . \CONST ~ 1 )~( \MEMORYFILL ) \\
699
- (\vconst _{\ I32 } (i+1 ))~\val ~(\I32 .\CONST ~(n-1 ))~(\MEMORYFILL ) \\
701
+ (\I32 .\CONST ~i)~\val ~(\I32 \K {.} \STORE\K { 8 }~\{ \OFFSET ~ 0 , \ALIGN ~ 0 \} ) \\
702
+ (\I32 . \CONST ~ (i+1 ))~\val ~(\I32 .\CONST ~(n-1 ))~(\MEMORYFILL ) \\
700
703
\end {array} \\
701
704
\end {array}
702
- \\ \qquad
703
- (\iff n > 1 ) \\
704
705
\end {array}
705
706
706
- .. note ::
707
- The use of the :math: `\vconst _t` meta function in the rules for this and the following instructions ensures that an overflowing index turns into a :ref: `trap <syntax-trap >`.
708
-
709
-
710
707
.. _exec-memory.init :
711
708
712
709
:math: `\MEMORYINIT ~x`
Original file line number Diff line number Diff line change @@ -29,19 +29,6 @@ It is convenient to reuse the same notation as for the |CONST| :ref:`instruction
29
29
\F64 .\CONST ~\f64
30
30
\end {array}
31
31
32
- Conventions
33
- ...........
34
-
35
- The following auxiliary notation is defined for constant values, to ensure they are well-formed for the given :ref: `value type <syntax-valtype >`.
36
-
37
- .. math ::
38
- \begin {array}{lcl@{\qquad }l}
39
- \vconst _t(x) &=& (t\K {.}\CONST ~x)
40
- & (\iff x~\mbox {is well-formed for}~t) \\
41
- \vconst _t(x) &=& \TRAP
42
- & (\otherwise ) \\
43
- \end {array}
44
-
45
32
46
33
.. index :: ! result, value, trap
47
34
pair: abstract syntax; result
You can’t perform that action at this time.
0 commit comments