github.com/wasilibs/wazerox@v0.0.0-20240124024944-4923be63ab5f/internal/integration_test/spectest/v2/testdata/memory_fill.wast (about)

     1  ;;
     2  ;; Generated by ../meta/generate_memory_fill.js
     3  ;; DO NOT EDIT THIS FILE.  CHANGE THE SOURCE AND REGENERATE.
     4  ;;
     5  
     6  (module
     7    (memory 1 1)
     8    
     9    (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
    10      (loop $cont
    11        (if (i32.eq (local.get $from) (local.get $to))
    12          (then
    13            (return (i32.const -1))))
    14        (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
    15          (then
    16            (local.set $from (i32.add (local.get $from) (i32.const 1)))
    17            (br $cont))))
    18      (return (local.get $from)))
    19  
    20    (func (export "test")
    21      (memory.fill (i32.const 0xFF00) (i32.const 0x55) (i32.const 256))))
    22  (invoke "test")
    23  
    24  (assert_return (invoke "checkRange" (i32.const 0) (i32.const 65280) (i32.const 0))
    25                 (i32.const -1))
    26  (assert_return (invoke "checkRange" (i32.const 65280) (i32.const 65536) (i32.const 85))
    27                 (i32.const -1))
    28  (module
    29    (memory 1 1)
    30    
    31    (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
    32      (loop $cont
    33        (if (i32.eq (local.get $from) (local.get $to))
    34          (then
    35            (return (i32.const -1))))
    36        (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
    37          (then
    38            (local.set $from (i32.add (local.get $from) (i32.const 1)))
    39            (br $cont))))
    40      (return (local.get $from)))
    41  
    42    (func (export "test")
    43      (memory.fill (i32.const 0xFF00) (i32.const 0x55) (i32.const 257))))
    44  (assert_trap (invoke "test") "out of bounds memory access")
    45  
    46  (module
    47    (memory 1 1)
    48    
    49    (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
    50      (loop $cont
    51        (if (i32.eq (local.get $from) (local.get $to))
    52          (then
    53            (return (i32.const -1))))
    54        (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
    55          (then
    56            (local.set $from (i32.add (local.get $from) (i32.const 1)))
    57            (br $cont))))
    58      (return (local.get $from)))
    59  
    60    (func (export "test")
    61      (memory.fill (i32.const 0xFFFFFF00) (i32.const 0x55) (i32.const 257))))
    62  (assert_trap (invoke "test") "out of bounds memory access")
    63  
    64  (module
    65    (memory 1 1)
    66    
    67    (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
    68      (loop $cont
    69        (if (i32.eq (local.get $from) (local.get $to))
    70          (then
    71            (return (i32.const -1))))
    72        (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
    73          (then
    74            (local.set $from (i32.add (local.get $from) (i32.const 1)))
    75            (br $cont))))
    76      (return (local.get $from)))
    77  
    78    (func (export "test")
    79      (memory.fill (i32.const 0x12) (i32.const 0x55) (i32.const 0))))
    80  (invoke "test")
    81  
    82  (assert_return (invoke "checkRange" (i32.const 0) (i32.const 65536) (i32.const 0))
    83                 (i32.const -1))
    84  (module
    85    (memory 1 1)
    86    
    87    (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
    88      (loop $cont
    89        (if (i32.eq (local.get $from) (local.get $to))
    90          (then
    91            (return (i32.const -1))))
    92        (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
    93          (then
    94            (local.set $from (i32.add (local.get $from) (i32.const 1)))
    95            (br $cont))))
    96      (return (local.get $from)))
    97  
    98    (func (export "test")
    99      (memory.fill (i32.const 0x10000) (i32.const 0x55) (i32.const 0))))
   100  (invoke "test")
   101  
   102  (module
   103    (memory 1 1)
   104    
   105    (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
   106      (loop $cont
   107        (if (i32.eq (local.get $from) (local.get $to))
   108          (then
   109            (return (i32.const -1))))
   110        (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
   111          (then
   112            (local.set $from (i32.add (local.get $from) (i32.const 1)))
   113            (br $cont))))
   114      (return (local.get $from)))
   115  
   116    (func (export "test")
   117      (memory.fill (i32.const 0x20000) (i32.const 0x55) (i32.const 0))))
   118  (assert_trap (invoke "test") "out of bounds memory access")
   119  
   120  (module
   121    (memory 1 1)
   122    
   123    (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
   124      (loop $cont
   125        (if (i32.eq (local.get $from) (local.get $to))
   126          (then
   127            (return (i32.const -1))))
   128        (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
   129          (then
   130            (local.set $from (i32.add (local.get $from) (i32.const 1)))
   131            (br $cont))))
   132      (return (local.get $from)))
   133  
   134    (func (export "test")
   135      (memory.fill (i32.const 0x1) (i32.const 0xAA) (i32.const 0xFFFE))))
   136  (invoke "test")
   137  
   138  (assert_return (invoke "checkRange" (i32.const 0) (i32.const 1) (i32.const 0))
   139                 (i32.const -1))
   140  (assert_return (invoke "checkRange" (i32.const 1) (i32.const 65535) (i32.const 170))
   141                 (i32.const -1))
   142  (assert_return (invoke "checkRange" (i32.const 65535) (i32.const 65536) (i32.const 0))
   143                 (i32.const -1))
   144  
   145  (module
   146    (memory 1 1)
   147    
   148    (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
   149      (loop $cont
   150        (if (i32.eq (local.get $from) (local.get $to))
   151          (then
   152            (return (i32.const -1))))
   153        (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
   154          (then
   155            (local.set $from (i32.add (local.get $from) (i32.const 1)))
   156            (br $cont))))
   157      (return (local.get $from)))
   158  
   159    (func (export "test")
   160       (memory.fill (i32.const 0x12) (i32.const 0x55) (i32.const 10))
   161       (memory.fill (i32.const 0x15) (i32.const 0xAA) (i32.const 4))))
   162  (invoke "test")
   163  
   164  (assert_return (invoke "checkRange" (i32.const 0) (i32.const 18) (i32.const 0))
   165                 (i32.const -1))
   166  (assert_return (invoke "checkRange" (i32.const 18) (i32.const 21) (i32.const 85))
   167                 (i32.const -1))
   168  (assert_return (invoke "checkRange" (i32.const 21) (i32.const 25) (i32.const 170))
   169                 (i32.const -1))
   170  (assert_return (invoke "checkRange" (i32.const 25) (i32.const 28) (i32.const 85))
   171                 (i32.const -1))
   172  (assert_return (invoke "checkRange" (i32.const 28) (i32.const 65536) (i32.const 0))
   173                 (i32.const -1))
   174  (assert_invalid
   175    (module
   176      (func (export "testfn")
   177        (memory.fill (i32.const 10) (i32.const 20) (i32.const 30))))
   178    "unknown memory 0")
   179  
   180  (assert_invalid
   181    (module
   182      (memory 1 1)
   183      (func (export "testfn")
   184        (memory.fill (i32.const 10) (i32.const 20) (f32.const 30))))
   185    "type mismatch")
   186  
   187  (assert_invalid
   188    (module
   189      (memory 1 1)
   190      (func (export "testfn")
   191        (memory.fill (i32.const 10) (i32.const 20) (i64.const 30))))
   192    "type mismatch")
   193  
   194  (assert_invalid
   195    (module
   196      (memory 1 1)
   197      (func (export "testfn")
   198        (memory.fill (i32.const 10) (i32.const 20) (f64.const 30))))
   199    "type mismatch")
   200  
   201  (assert_invalid
   202    (module
   203      (memory 1 1)
   204      (func (export "testfn")
   205        (memory.fill (i32.const 10) (f32.const 20) (i32.const 30))))
   206    "type mismatch")
   207  
   208  (assert_invalid
   209    (module
   210      (memory 1 1)
   211      (func (export "testfn")
   212        (memory.fill (i32.const 10) (f32.const 20) (f32.const 30))))
   213    "type mismatch")
   214  
   215  (assert_invalid
   216    (module
   217      (memory 1 1)
   218      (func (export "testfn")
   219        (memory.fill (i32.const 10) (f32.const 20) (i64.const 30))))
   220    "type mismatch")
   221  
   222  (assert_invalid
   223    (module
   224      (memory 1 1)
   225      (func (export "testfn")
   226        (memory.fill (i32.const 10) (f32.const 20) (f64.const 30))))
   227    "type mismatch")
   228  
   229  (assert_invalid
   230    (module
   231      (memory 1 1)
   232      (func (export "testfn")
   233        (memory.fill (i32.const 10) (i64.const 20) (i32.const 30))))
   234    "type mismatch")
   235  
   236  (assert_invalid
   237    (module
   238      (memory 1 1)
   239      (func (export "testfn")
   240        (memory.fill (i32.const 10) (i64.const 20) (f32.const 30))))
   241    "type mismatch")
   242  
   243  (assert_invalid
   244    (module
   245      (memory 1 1)
   246      (func (export "testfn")
   247        (memory.fill (i32.const 10) (i64.const 20) (i64.const 30))))
   248    "type mismatch")
   249  
   250  (assert_invalid
   251    (module
   252      (memory 1 1)
   253      (func (export "testfn")
   254        (memory.fill (i32.const 10) (i64.const 20) (f64.const 30))))
   255    "type mismatch")
   256  
   257  (assert_invalid
   258    (module
   259      (memory 1 1)
   260      (func (export "testfn")
   261        (memory.fill (i32.const 10) (f64.const 20) (i32.const 30))))
   262    "type mismatch")
   263  
   264  (assert_invalid
   265    (module
   266      (memory 1 1)
   267      (func (export "testfn")
   268        (memory.fill (i32.const 10) (f64.const 20) (f32.const 30))))
   269    "type mismatch")
   270  
   271  (assert_invalid
   272    (module
   273      (memory 1 1)
   274      (func (export "testfn")
   275        (memory.fill (i32.const 10) (f64.const 20) (i64.const 30))))
   276    "type mismatch")
   277  
   278  (assert_invalid
   279    (module
   280      (memory 1 1)
   281      (func (export "testfn")
   282        (memory.fill (i32.const 10) (f64.const 20) (f64.const 30))))
   283    "type mismatch")
   284  
   285  (assert_invalid
   286    (module
   287      (memory 1 1)
   288      (func (export "testfn")
   289        (memory.fill (f32.const 10) (i32.const 20) (i32.const 30))))
   290    "type mismatch")
   291  
   292  (assert_invalid
   293    (module
   294      (memory 1 1)
   295      (func (export "testfn")
   296        (memory.fill (f32.const 10) (i32.const 20) (f32.const 30))))
   297    "type mismatch")
   298  
   299  (assert_invalid
   300    (module
   301      (memory 1 1)
   302      (func (export "testfn")
   303        (memory.fill (f32.const 10) (i32.const 20) (i64.const 30))))
   304    "type mismatch")
   305  
   306  (assert_invalid
   307    (module
   308      (memory 1 1)
   309      (func (export "testfn")
   310        (memory.fill (f32.const 10) (i32.const 20) (f64.const 30))))
   311    "type mismatch")
   312  
   313  (assert_invalid
   314    (module
   315      (memory 1 1)
   316      (func (export "testfn")
   317        (memory.fill (f32.const 10) (f32.const 20) (i32.const 30))))
   318    "type mismatch")
   319  
   320  (assert_invalid
   321    (module
   322      (memory 1 1)
   323      (func (export "testfn")
   324        (memory.fill (f32.const 10) (f32.const 20) (f32.const 30))))
   325    "type mismatch")
   326  
   327  (assert_invalid
   328    (module
   329      (memory 1 1)
   330      (func (export "testfn")
   331        (memory.fill (f32.const 10) (f32.const 20) (i64.const 30))))
   332    "type mismatch")
   333  
   334  (assert_invalid
   335    (module
   336      (memory 1 1)
   337      (func (export "testfn")
   338        (memory.fill (f32.const 10) (f32.const 20) (f64.const 30))))
   339    "type mismatch")
   340  
   341  (assert_invalid
   342    (module
   343      (memory 1 1)
   344      (func (export "testfn")
   345        (memory.fill (f32.const 10) (i64.const 20) (i32.const 30))))
   346    "type mismatch")
   347  
   348  (assert_invalid
   349    (module
   350      (memory 1 1)
   351      (func (export "testfn")
   352        (memory.fill (f32.const 10) (i64.const 20) (f32.const 30))))
   353    "type mismatch")
   354  
   355  (assert_invalid
   356    (module
   357      (memory 1 1)
   358      (func (export "testfn")
   359        (memory.fill (f32.const 10) (i64.const 20) (i64.const 30))))
   360    "type mismatch")
   361  
   362  (assert_invalid
   363    (module
   364      (memory 1 1)
   365      (func (export "testfn")
   366        (memory.fill (f32.const 10) (i64.const 20) (f64.const 30))))
   367    "type mismatch")
   368  
   369  (assert_invalid
   370    (module
   371      (memory 1 1)
   372      (func (export "testfn")
   373        (memory.fill (f32.const 10) (f64.const 20) (i32.const 30))))
   374    "type mismatch")
   375  
   376  (assert_invalid
   377    (module
   378      (memory 1 1)
   379      (func (export "testfn")
   380        (memory.fill (f32.const 10) (f64.const 20) (f32.const 30))))
   381    "type mismatch")
   382  
   383  (assert_invalid
   384    (module
   385      (memory 1 1)
   386      (func (export "testfn")
   387        (memory.fill (f32.const 10) (f64.const 20) (i64.const 30))))
   388    "type mismatch")
   389  
   390  (assert_invalid
   391    (module
   392      (memory 1 1)
   393      (func (export "testfn")
   394        (memory.fill (f32.const 10) (f64.const 20) (f64.const 30))))
   395    "type mismatch")
   396  
   397  (assert_invalid
   398    (module
   399      (memory 1 1)
   400      (func (export "testfn")
   401        (memory.fill (i64.const 10) (i32.const 20) (i32.const 30))))
   402    "type mismatch")
   403  
   404  (assert_invalid
   405    (module
   406      (memory 1 1)
   407      (func (export "testfn")
   408        (memory.fill (i64.const 10) (i32.const 20) (f32.const 30))))
   409    "type mismatch")
   410  
   411  (assert_invalid
   412    (module
   413      (memory 1 1)
   414      (func (export "testfn")
   415        (memory.fill (i64.const 10) (i32.const 20) (i64.const 30))))
   416    "type mismatch")
   417  
   418  (assert_invalid
   419    (module
   420      (memory 1 1)
   421      (func (export "testfn")
   422        (memory.fill (i64.const 10) (i32.const 20) (f64.const 30))))
   423    "type mismatch")
   424  
   425  (assert_invalid
   426    (module
   427      (memory 1 1)
   428      (func (export "testfn")
   429        (memory.fill (i64.const 10) (f32.const 20) (i32.const 30))))
   430    "type mismatch")
   431  
   432  (assert_invalid
   433    (module
   434      (memory 1 1)
   435      (func (export "testfn")
   436        (memory.fill (i64.const 10) (f32.const 20) (f32.const 30))))
   437    "type mismatch")
   438  
   439  (assert_invalid
   440    (module
   441      (memory 1 1)
   442      (func (export "testfn")
   443        (memory.fill (i64.const 10) (f32.const 20) (i64.const 30))))
   444    "type mismatch")
   445  
   446  (assert_invalid
   447    (module
   448      (memory 1 1)
   449      (func (export "testfn")
   450        (memory.fill (i64.const 10) (f32.const 20) (f64.const 30))))
   451    "type mismatch")
   452  
   453  (assert_invalid
   454    (module
   455      (memory 1 1)
   456      (func (export "testfn")
   457        (memory.fill (i64.const 10) (i64.const 20) (i32.const 30))))
   458    "type mismatch")
   459  
   460  (assert_invalid
   461    (module
   462      (memory 1 1)
   463      (func (export "testfn")
   464        (memory.fill (i64.const 10) (i64.const 20) (f32.const 30))))
   465    "type mismatch")
   466  
   467  (assert_invalid
   468    (module
   469      (memory 1 1)
   470      (func (export "testfn")
   471        (memory.fill (i64.const 10) (i64.const 20) (i64.const 30))))
   472    "type mismatch")
   473  
   474  (assert_invalid
   475    (module
   476      (memory 1 1)
   477      (func (export "testfn")
   478        (memory.fill (i64.const 10) (i64.const 20) (f64.const 30))))
   479    "type mismatch")
   480  
   481  (assert_invalid
   482    (module
   483      (memory 1 1)
   484      (func (export "testfn")
   485        (memory.fill (i64.const 10) (f64.const 20) (i32.const 30))))
   486    "type mismatch")
   487  
   488  (assert_invalid
   489    (module
   490      (memory 1 1)
   491      (func (export "testfn")
   492        (memory.fill (i64.const 10) (f64.const 20) (f32.const 30))))
   493    "type mismatch")
   494  
   495  (assert_invalid
   496    (module
   497      (memory 1 1)
   498      (func (export "testfn")
   499        (memory.fill (i64.const 10) (f64.const 20) (i64.const 30))))
   500    "type mismatch")
   501  
   502  (assert_invalid
   503    (module
   504      (memory 1 1)
   505      (func (export "testfn")
   506        (memory.fill (i64.const 10) (f64.const 20) (f64.const 30))))
   507    "type mismatch")
   508  
   509  (assert_invalid
   510    (module
   511      (memory 1 1)
   512      (func (export "testfn")
   513        (memory.fill (f64.const 10) (i32.const 20) (i32.const 30))))
   514    "type mismatch")
   515  
   516  (assert_invalid
   517    (module
   518      (memory 1 1)
   519      (func (export "testfn")
   520        (memory.fill (f64.const 10) (i32.const 20) (f32.const 30))))
   521    "type mismatch")
   522  
   523  (assert_invalid
   524    (module
   525      (memory 1 1)
   526      (func (export "testfn")
   527        (memory.fill (f64.const 10) (i32.const 20) (i64.const 30))))
   528    "type mismatch")
   529  
   530  (assert_invalid
   531    (module
   532      (memory 1 1)
   533      (func (export "testfn")
   534        (memory.fill (f64.const 10) (i32.const 20) (f64.const 30))))
   535    "type mismatch")
   536  
   537  (assert_invalid
   538    (module
   539      (memory 1 1)
   540      (func (export "testfn")
   541        (memory.fill (f64.const 10) (f32.const 20) (i32.const 30))))
   542    "type mismatch")
   543  
   544  (assert_invalid
   545    (module
   546      (memory 1 1)
   547      (func (export "testfn")
   548        (memory.fill (f64.const 10) (f32.const 20) (f32.const 30))))
   549    "type mismatch")
   550  
   551  (assert_invalid
   552    (module
   553      (memory 1 1)
   554      (func (export "testfn")
   555        (memory.fill (f64.const 10) (f32.const 20) (i64.const 30))))
   556    "type mismatch")
   557  
   558  (assert_invalid
   559    (module
   560      (memory 1 1)
   561      (func (export "testfn")
   562        (memory.fill (f64.const 10) (f32.const 20) (f64.const 30))))
   563    "type mismatch")
   564  
   565  (assert_invalid
   566    (module
   567      (memory 1 1)
   568      (func (export "testfn")
   569        (memory.fill (f64.const 10) (i64.const 20) (i32.const 30))))
   570    "type mismatch")
   571  
   572  (assert_invalid
   573    (module
   574      (memory 1 1)
   575      (func (export "testfn")
   576        (memory.fill (f64.const 10) (i64.const 20) (f32.const 30))))
   577    "type mismatch")
   578  
   579  (assert_invalid
   580    (module
   581      (memory 1 1)
   582      (func (export "testfn")
   583        (memory.fill (f64.const 10) (i64.const 20) (i64.const 30))))
   584    "type mismatch")
   585  
   586  (assert_invalid
   587    (module
   588      (memory 1 1)
   589      (func (export "testfn")
   590        (memory.fill (f64.const 10) (i64.const 20) (f64.const 30))))
   591    "type mismatch")
   592  
   593  (assert_invalid
   594    (module
   595      (memory 1 1)
   596      (func (export "testfn")
   597        (memory.fill (f64.const 10) (f64.const 20) (i32.const 30))))
   598    "type mismatch")
   599  
   600  (assert_invalid
   601    (module
   602      (memory 1 1)
   603      (func (export "testfn")
   604        (memory.fill (f64.const 10) (f64.const 20) (f32.const 30))))
   605    "type mismatch")
   606  
   607  (assert_invalid
   608    (module
   609      (memory 1 1)
   610      (func (export "testfn")
   611        (memory.fill (f64.const 10) (f64.const 20) (i64.const 30))))
   612    "type mismatch")
   613  
   614  (assert_invalid
   615    (module
   616      (memory 1 1)
   617      (func (export "testfn")
   618        (memory.fill (f64.const 10) (f64.const 20) (f64.const 30))))
   619    "type mismatch")
   620  
   621  (module
   622    (memory 1 1 )
   623    
   624    (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
   625      (loop $cont
   626        (if (i32.eq (local.get $from) (local.get $to))
   627          (then
   628            (return (i32.const -1))))
   629        (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
   630          (then
   631            (local.set $from (i32.add (local.get $from) (i32.const 1)))
   632            (br $cont))))
   633      (return (local.get $from)))
   634  
   635    (func (export "run") (param $offs i32) (param $val i32) (param $len i32)
   636      (memory.fill (local.get $offs) (local.get $val) (local.get $len))))
   637  
   638  (assert_trap (invoke "run" (i32.const 65280) (i32.const 37) (i32.const 512))
   639                "out of bounds memory access")
   640  
   641  (assert_return (invoke "checkRange" (i32.const 0) (i32.const 1) (i32.const 0))
   642                 (i32.const -1))
   643  (module
   644    (memory 1 1 )
   645    
   646    (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
   647      (loop $cont
   648        (if (i32.eq (local.get $from) (local.get $to))
   649          (then
   650            (return (i32.const -1))))
   651        (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
   652          (then
   653            (local.set $from (i32.add (local.get $from) (i32.const 1)))
   654            (br $cont))))
   655      (return (local.get $from)))
   656  
   657    (func (export "run") (param $offs i32) (param $val i32) (param $len i32)
   658      (memory.fill (local.get $offs) (local.get $val) (local.get $len))))
   659  
   660  (assert_trap (invoke "run" (i32.const 65279) (i32.const 37) (i32.const 514))
   661                "out of bounds memory access")
   662  
   663  (assert_return (invoke "checkRange" (i32.const 0) (i32.const 1) (i32.const 0))
   664                 (i32.const -1))
   665  (module
   666    (memory 1 1 )
   667    
   668    (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
   669      (loop $cont
   670        (if (i32.eq (local.get $from) (local.get $to))
   671          (then
   672            (return (i32.const -1))))
   673        (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
   674          (then
   675            (local.set $from (i32.add (local.get $from) (i32.const 1)))
   676            (br $cont))))
   677      (return (local.get $from)))
   678  
   679    (func (export "run") (param $offs i32) (param $val i32) (param $len i32)
   680      (memory.fill (local.get $offs) (local.get $val) (local.get $len))))
   681  
   682  (assert_trap (invoke "run" (i32.const 65279) (i32.const 37) (i32.const 4294967295))
   683                "out of bounds memory access")
   684  
   685  (assert_return (invoke "checkRange" (i32.const 0) (i32.const 1) (i32.const 0))
   686                 (i32.const -1))