@@ -2445,9 +2445,9 @@ void WebAssemblyTableGrowImpl(const v8::FunctionCallbackInfo<v8::Value>& info) {
24452445namespace {
24462446void WasmObjectToJSReturnValue (v8::ReturnValue<v8::Value>& return_value,
24472447 i::Handle<i::Object> value,
2448- i::wasm::HeapType type, i::Isolate* isolate,
2448+ i::wasm::ValueType type, i::Isolate* isolate,
24492449 ErrorThrower* thrower) {
2450- switch (type.representation ()) {
2450+ switch (type.heap_type (). representation ()) {
24512451 case internal::wasm::HeapType::kStringViewWtf8 :
24522452 thrower->TypeError (" %s" , " stringview_wtf8 has no JS representation" );
24532453 break ;
@@ -2457,6 +2457,10 @@ void WasmObjectToJSReturnValue(v8::ReturnValue<v8::Value>& return_value,
24572457 case internal::wasm::HeapType::kStringViewIter :
24582458 thrower->TypeError (" %s" , " stringview_iter has no JS representation" );
24592459 break ;
2460+ case internal::wasm::HeapType::kExn :
2461+ case internal::wasm::HeapType::kNoExn :
2462+ thrower->TypeError (" invalid type %s" , type.name ().c_str ());
2463+ break ;
24602464 default : {
24612465 return_value.Set (Utils::ToLocal (i::wasm::WasmToJSObject (isolate, value)));
24622466 break ;
@@ -2490,8 +2494,8 @@ void WebAssemblyTableGetImpl(const v8::FunctionCallbackInfo<v8::Value>& info) {
24902494 i::WasmTableObject::Get (i_isolate, receiver, index);
24912495
24922496 v8::ReturnValue<v8::Value> return_value = info.GetReturnValue ();
2493- WasmObjectToJSReturnValue (return_value, result, receiver->type (). heap_type () ,
2494- i_isolate, &thrower);
2497+ WasmObjectToJSReturnValue (return_value, result, receiver->type (), i_isolate ,
2498+ &thrower);
24952499}
24962500
24972501// WebAssembly.Table.set(num, any)
@@ -2767,8 +2771,7 @@ void WebAssemblyExceptionGetArgImpl(
27672771 case i::wasm::kRefNull : {
27682772 i::Handle<i::Object> obj = handle (values->get (decode_index), i_isolate);
27692773 ReturnValue<Value> return_value = info.GetReturnValue ();
2770- return WasmObjectToJSReturnValue (return_value, obj,
2771- signature->get (index).heap_type (),
2774+ return WasmObjectToJSReturnValue (return_value, obj, signature->get (index),
27722775 i_isolate, &thrower);
27732776 }
27742777 case i::wasm::kRtt :
@@ -2836,8 +2839,7 @@ void WebAssemblyGlobalGetValueCommon(
28362839 case i::wasm::kRef :
28372840 case i::wasm::kRefNull : {
28382841 WasmObjectToJSReturnValue (return_value, receiver->GetRef (),
2839- receiver->type ().heap_type (), i_isolate,
2840- &thrower);
2842+ receiver->type (), i_isolate, &thrower);
28412843 break ;
28422844 }
28432845 case i::wasm::kRtt :
0 commit comments