diff --git a/document/js-api/index.bs b/document/js-api/index.bs index 0e17977a0..07361a1d4 100644 --- a/document/js-api/index.bs +++ b/document/js-api/index.bs @@ -1156,9 +1156,6 @@ The algorithm ToWebAssemblyValue(|v|, |type|) coerces a JavaScript va 1. Let |i31| [=?=] [$ToInt32$](|v|). 1. Let |u31| be the unsigned integer such that |i31| is [=signed_31=](|i31|). 1. Let |r| be [=ref.i31=] |u31|. - 1. Else if |v| is an [=Exported Function=], - 1. Let |funcaddr| be the value of |v|'s \[[FunctionAddress]] internal slot. - 1. Let |r| be [=ref.func=] |funcaddr|. 1. Else if |v| is an [=Exported GC Object=], 1. Let |objectaddr| be the value of |v|'s \[[ObjectAddress]] internal slot. 1. Let |objectkind| be the value of |v|'s \[[ObjectKind]] internal slot. @@ -1166,6 +1163,9 @@ The algorithm ToWebAssemblyValue(|v|, |type|) coerces a JavaScript va 1. Let |r| be [=ref.array=] |objectaddr|. 1. If |objectkind| is "struct", 1. Let |r| be [=ref.struct=] |objectaddr|. + 1. Else if |v| is an [=Exported Function=] and [=match_valtype=](|type|, [=ref=] |null| [=heap-type/func=]), + 1. Let |funcaddr| be the value of |v|'s \[[FunctionAddress]] internal slot. + 1. Let |r| be [=ref.func=] |funcaddr|. 1. Else, 1. Let |map| be the [=surrounding agent=]'s associated [=host value cache=]. 1. If a [=host address=] |hostaddr| exists such that |map|[|hostaddr|] is the same as |v|,