diff --git a/document/core/appendix/implementation.rst b/document/core/appendix/implementation.rst index df2885c..d5e5392 100644 --- a/document/core/appendix/implementation.rst +++ b/document/core/appendix/implementation.rst @@ -43,6 +43,8 @@ An implementation may impose restrictions on the following dimensions of a modul * the number of :ref:`exports ` from a :ref:`module ` * the number of parameters in a :ref:`function type ` * the number of results in a :ref:`function type ` +* the number of parameters in a :ref:`block type ` +* the number of results in a :ref:`block type ` * the number of :ref:`locals ` in a :ref:`function ` * the size of a :ref:`function ` body * the size of a :ref:`structured control instruction ` diff --git a/document/core/appendix/properties.rst b/document/core/appendix/properties.rst index f05f8af..9ad9ebb 100644 --- a/document/core/appendix/properties.rst +++ b/document/core/appendix/properties.rst @@ -157,6 +157,8 @@ Module instances are classified by *module contexts*, which are regular :ref:`co :ref:`Host Function Instances ` :math:`\{\FITYPE~\functype, \FIHOSTCODE~\X{hf}\}` .................................................................................................. +* The :ref:`function type ` :math:`\functype` must be :ref:`valid `. + * Let :math:`[t_1^\ast] \to [t_2^\ast]` be the :ref:`function type ` :math:`\functype`. * For every :ref:`valid ` :ref:`store ` :math:`S_1` :ref:`extending ` :math:`S` and every sequence :math:`\val^\ast` of :ref:`values ` whose :ref:`types ` coincide with :math:`t_1^\ast`: @@ -173,6 +175,10 @@ Module instances are classified by *module contexts*, which are regular :ref:`co .. math:: \frac{ + \begin{array}[b]{@{}l@{}} + \vdashfunctype [t_1^\ast] \to [t_2^\ast] \ok \\ + \end{array} + \quad \begin{array}[b]{@{}l@{}} \forall S_1, \val^\ast,~ {\vdashstore S_1 \ok} \wedge