@@ -46,7 +46,8 @@ WebAssemblyTable::NewInstance(RecyclableObject* function, CallInfo callInfo, ...
46
46
DynamicObject * tableDescriptor = VarTo<DynamicObject>(args[1 ]);
47
47
48
48
Var elementVar = JavascriptOperators::OP_GetProperty (tableDescriptor, PropertyIds::element, scriptContext);
49
- if (!JavascriptOperators::StrictEqualString (elementVar, scriptContext->GetLibrary ()->CreateStringFromCppLiteral (_u (" anyfunc" ))))
49
+ auto elementStr = JavascriptConversion::ToString (elementVar, scriptContext);
50
+ if (!JavascriptOperators::StrictEqualString (elementStr, scriptContext->GetLibrary ()->CreateStringFromCppLiteral (_u (" anyfunc" ))))
50
51
{
51
52
JavascriptError::ThrowTypeError (scriptContext, WASMERR_ExpectedAnyFunc, _u (" tableDescriptor.element" ));
52
53
}
@@ -55,9 +56,9 @@ WebAssemblyTable::NewInstance(RecyclableObject* function, CallInfo callInfo, ...
55
56
uint32 initial = WebAssembly::ToNonWrappingUint32 (initVar, scriptContext);
56
57
57
58
uint32 maximum = Wasm::Limits::GetMaxTableSize ();
58
- if (JavascriptOperators::OP_HasProperty (tableDescriptor, PropertyIds::maximum, scriptContext))
59
+ Var maxVar = JavascriptOperators::OP_GetProperty (tableDescriptor, PropertyIds::maximum, scriptContext);
60
+ if (!JavascriptOperators::IsUndefined (maxVar))
59
61
{
60
- Var maxVar = JavascriptOperators::OP_GetProperty (tableDescriptor, PropertyIds::maximum, scriptContext);
61
62
maximum = WebAssembly::ToNonWrappingUint32 (maxVar, scriptContext);
62
63
}
63
64
return Create (initial, maximum, scriptContext);
0 commit comments