@@ -565,6 +565,52 @@ enum Instruction: Equatable {
565565 case catchHandlers( Instruction . CatchHandlersOperand )
566566 /// Unregister exception handlers for a `try_table` block
567567 case catchHandlersEnd( Instruction . CatchHandlersEndOperand )
568+ /// WebAssembly Core Instruction `i32.load` on shared memory
569+ case i32LoadShared( Instruction . LoadOperand )
570+ /// WebAssembly Core Instruction `i64.load` on shared memory
571+ case i64LoadShared( Instruction . LoadOperand )
572+ /// WebAssembly Core Instruction `f32.load` on shared memory
573+ case f32LoadShared( Instruction . LoadOperand )
574+ /// WebAssembly Core Instruction `f64.load` on shared memory
575+ case f64LoadShared( Instruction . LoadOperand )
576+ /// WebAssembly Core Instruction `i32.load8_s` on shared memory
577+ case i32Load8SShared( Instruction . LoadOperand )
578+ /// WebAssembly Core Instruction `i32.load8_u` on shared memory
579+ case i32Load8UShared( Instruction . LoadOperand )
580+ /// WebAssembly Core Instruction `i32.load16_s` on shared memory
581+ case i32Load16SShared( Instruction . LoadOperand )
582+ /// WebAssembly Core Instruction `i32.load16_u` on shared memory
583+ case i32Load16UShared( Instruction . LoadOperand )
584+ /// WebAssembly Core Instruction `i64.load8_s` on shared memory
585+ case i64Load8SShared( Instruction . LoadOperand )
586+ /// WebAssembly Core Instruction `i64.load8_u` on shared memory
587+ case i64Load8UShared( Instruction . LoadOperand )
588+ /// WebAssembly Core Instruction `i64.load16_s` on shared memory
589+ case i64Load16SShared( Instruction . LoadOperand )
590+ /// WebAssembly Core Instruction `i64.load16_u` on shared memory
591+ case i64Load16UShared( Instruction . LoadOperand )
592+ /// WebAssembly Core Instruction `i64.load32_s` on shared memory
593+ case i64Load32SShared( Instruction . LoadOperand )
594+ /// WebAssembly Core Instruction `i64.load32_u` on shared memory
595+ case i64Load32UShared( Instruction . LoadOperand )
596+ /// WebAssembly Core Instruction `i32.store` on shared memory
597+ case i32StoreShared( Instruction . StoreOperand )
598+ /// WebAssembly Core Instruction `i64.store` on shared memory
599+ case i64StoreShared( Instruction . StoreOperand )
600+ /// WebAssembly Core Instruction `f32.store` on shared memory
601+ case f32StoreShared( Instruction . StoreOperand )
602+ /// WebAssembly Core Instruction `f64.store` on shared memory
603+ case f64StoreShared( Instruction . StoreOperand )
604+ /// WebAssembly Core Instruction `i32.store8` on shared memory
605+ case i32Store8Shared( Instruction . StoreOperand )
606+ /// WebAssembly Core Instruction `i32.store16` on shared memory
607+ case i32Store16Shared( Instruction . StoreOperand )
608+ /// WebAssembly Core Instruction `i64.store8` on shared memory
609+ case i64Store8Shared( Instruction . StoreOperand )
610+ /// WebAssembly Core Instruction `i64.store16` on shared memory
611+ case i64Store16Shared( Instruction . StoreOperand )
612+ /// WebAssembly Core Instruction `i64.store32` on shared memory
613+ case i64Store32Shared( Instruction . StoreOperand )
568614}
569615
570616extension Instruction {
@@ -1473,6 +1519,29 @@ extension Instruction {
14731519 case . throwRef( let immediate) : return immediate
14741520 case . catchHandlers( let immediate) : return immediate
14751521 case . catchHandlersEnd( let immediate) : return immediate
1522+ case . i32LoadShared( let immediate) : return immediate
1523+ case . i64LoadShared( let immediate) : return immediate
1524+ case . f32LoadShared( let immediate) : return immediate
1525+ case . f64LoadShared( let immediate) : return immediate
1526+ case . i32Load8SShared( let immediate) : return immediate
1527+ case . i32Load8UShared( let immediate) : return immediate
1528+ case . i32Load16SShared( let immediate) : return immediate
1529+ case . i32Load16UShared( let immediate) : return immediate
1530+ case . i64Load8SShared( let immediate) : return immediate
1531+ case . i64Load8UShared( let immediate) : return immediate
1532+ case . i64Load16SShared( let immediate) : return immediate
1533+ case . i64Load16UShared( let immediate) : return immediate
1534+ case . i64Load32SShared( let immediate) : return immediate
1535+ case . i64Load32UShared( let immediate) : return immediate
1536+ case . i32StoreShared( let immediate) : return immediate
1537+ case . i64StoreShared( let immediate) : return immediate
1538+ case . f32StoreShared( let immediate) : return immediate
1539+ case . f64StoreShared( let immediate) : return immediate
1540+ case . i32Store8Shared( let immediate) : return immediate
1541+ case . i32Store16Shared( let immediate) : return immediate
1542+ case . i64Store8Shared( let immediate) : return immediate
1543+ case . i64Store16Shared( let immediate) : return immediate
1544+ case . i64Store32Shared( let immediate) : return immediate
14761545 default : return nil
14771546 }
14781547 }
@@ -1757,6 +1826,29 @@ extension Instruction {
17571826 case . throwRef: return 271
17581827 case . catchHandlers: return 272
17591828 case . catchHandlersEnd: return 273
1829+ case . i32LoadShared: return 274
1830+ case . i64LoadShared: return 275
1831+ case . f32LoadShared: return 276
1832+ case . f64LoadShared: return 277
1833+ case . i32Load8SShared: return 278
1834+ case . i32Load8UShared: return 279
1835+ case . i32Load16SShared: return 280
1836+ case . i32Load16UShared: return 281
1837+ case . i64Load8SShared: return 282
1838+ case . i64Load8UShared: return 283
1839+ case . i64Load16SShared: return 284
1840+ case . i64Load16UShared: return 285
1841+ case . i64Load32SShared: return 286
1842+ case . i64Load32UShared: return 287
1843+ case . i32StoreShared: return 288
1844+ case . i64StoreShared: return 289
1845+ case . f32StoreShared: return 290
1846+ case . f64StoreShared: return 291
1847+ case . i32Store8Shared: return 292
1848+ case . i32Store16Shared: return 293
1849+ case . i64Store8Shared: return 294
1850+ case . i64Store16Shared: return 295
1851+ case . i64Store32Shared: return 296
17601852 }
17611853 }
17621854}
@@ -2042,6 +2134,29 @@ extension Instruction {
20422134 case 271 : return . throwRef( Instruction . ThrowRefOperand. load ( from: & pc) )
20432135 case 272 : return . catchHandlers( Instruction . CatchHandlersOperand. load ( from: & pc) )
20442136 case 273 : return . catchHandlersEnd( Instruction . CatchHandlersEndOperand. load ( from: & pc) )
2137+ case 274 : return . i32LoadShared( Instruction . LoadOperand. load ( from: & pc) )
2138+ case 275 : return . i64LoadShared( Instruction . LoadOperand. load ( from: & pc) )
2139+ case 276 : return . f32LoadShared( Instruction . LoadOperand. load ( from: & pc) )
2140+ case 277 : return . f64LoadShared( Instruction . LoadOperand. load ( from: & pc) )
2141+ case 278 : return . i32Load8SShared( Instruction . LoadOperand. load ( from: & pc) )
2142+ case 279 : return . i32Load8UShared( Instruction . LoadOperand. load ( from: & pc) )
2143+ case 280 : return . i32Load16SShared( Instruction . LoadOperand. load ( from: & pc) )
2144+ case 281 : return . i32Load16UShared( Instruction . LoadOperand. load ( from: & pc) )
2145+ case 282 : return . i64Load8SShared( Instruction . LoadOperand. load ( from: & pc) )
2146+ case 283 : return . i64Load8UShared( Instruction . LoadOperand. load ( from: & pc) )
2147+ case 284 : return . i64Load16SShared( Instruction . LoadOperand. load ( from: & pc) )
2148+ case 285 : return . i64Load16UShared( Instruction . LoadOperand. load ( from: & pc) )
2149+ case 286 : return . i64Load32SShared( Instruction . LoadOperand. load ( from: & pc) )
2150+ case 287 : return . i64Load32UShared( Instruction . LoadOperand. load ( from: & pc) )
2151+ case 288 : return . i32StoreShared( Instruction . StoreOperand. load ( from: & pc) )
2152+ case 289 : return . i64StoreShared( Instruction . StoreOperand. load ( from: & pc) )
2153+ case 290 : return . f32StoreShared( Instruction . StoreOperand. load ( from: & pc) )
2154+ case 291 : return . f64StoreShared( Instruction . StoreOperand. load ( from: & pc) )
2155+ case 292 : return . i32Store8Shared( Instruction . StoreOperand. load ( from: & pc) )
2156+ case 293 : return . i32Store16Shared( Instruction . StoreOperand. load ( from: & pc) )
2157+ case 294 : return . i64Store8Shared( Instruction . StoreOperand. load ( from: & pc) )
2158+ case 295 : return . i64Store16Shared( Instruction . StoreOperand. load ( from: & pc) )
2159+ case 296 : return . i64Store32Shared( Instruction . StoreOperand. load ( from: & pc) )
20452160 default : fatalError ( " Unknown instruction opcode: \( opcode) " )
20462161 }
20472162 }
@@ -2330,6 +2445,29 @@ extension Instruction {
23302445 case 271 : return " throwRef "
23312446 case 272 : return " catchHandlers "
23322447 case 273 : return " catchHandlersEnd "
2448+ case 274 : return " i32LoadShared "
2449+ case 275 : return " i64LoadShared "
2450+ case 276 : return " f32LoadShared "
2451+ case 277 : return " f64LoadShared "
2452+ case 278 : return " i32Load8SShared "
2453+ case 279 : return " i32Load8UShared "
2454+ case 280 : return " i32Load16SShared "
2455+ case 281 : return " i32Load16UShared "
2456+ case 282 : return " i64Load8SShared "
2457+ case 283 : return " i64Load8UShared "
2458+ case 284 : return " i64Load16SShared "
2459+ case 285 : return " i64Load16UShared "
2460+ case 286 : return " i64Load32SShared "
2461+ case 287 : return " i64Load32UShared "
2462+ case 288 : return " i32StoreShared "
2463+ case 289 : return " i64StoreShared "
2464+ case 290 : return " f32StoreShared "
2465+ case 291 : return " f64StoreShared "
2466+ case 292 : return " i32Store8Shared "
2467+ case 293 : return " i32Store16Shared "
2468+ case 294 : return " i64Store8Shared "
2469+ case 295 : return " i64Store16Shared "
2470+ case 296 : return " i64Store32Shared "
23332471 default : fatalError ( " Unknown instruction index: \( opcode) " )
23342472 }
23352473 }
0 commit comments