@@ -1406,10 +1406,10 @@ module Bigarray = struct
1406
1406
let * x = x in
1407
1407
Memory. box_float (return (W. F64PromoteF32 x)) )
1408
1408
| Float64 -> " dv_get_f64" , F64 , 3 , Memory. box_float
1409
- | Int8_signed -> " dv_get_i8" , I32 , 2 , Fun. id
1410
- | Int8_unsigned | Char -> " dv_get_ui8" , I32 , 2 , Fun. id
1411
- | Int16_signed -> " dv_get_i16" , I32 , 2 , Fun. id
1412
- | Int16_unsigned -> " dv_get_ui16" , I32 , 2 , Fun. id
1409
+ | Int8_signed -> " dv_get_i8" , I32 , 0 , Fun. id
1410
+ | Int8_unsigned | Char -> " dv_get_ui8" , I32 , 0 , Fun. id
1411
+ | Int16_signed -> " dv_get_i16" , I32 , 1 , Fun. id
1412
+ | Int16_unsigned -> " dv_get_ui16" , I32 , 1 , Fun. id
1413
1413
| Int32 -> " dv_get_i32" , I32 , 2 , Memory. box_int32
1414
1414
| Nativeint -> " dv_get_i32" , I32 , 2 , Memory. box_nativeint
1415
1415
| Int64 -> " dv_get_i64" , I64 , 3 , Memory. box_int64
@@ -1427,8 +1427,8 @@ module Bigarray = struct
1427
1427
in
1428
1428
let * ty = Type. bigarray_type in
1429
1429
let * ta = Memory. wasm_struct_get ty (Memory. wasm_cast ty a) 2 in
1430
- let * i = if size = 1 then i else Arith. (i lsl const (Int32. of_int size)) in
1431
- box (return (W. Call (f, [ ta; i ])))
1430
+ let * ofs = Arith. (i lsl const (Int32. of_int size)) in
1431
+ box (return (W. Call (f, [ ta; ofs ])))
1432
1432
1433
1433
let set ~kind a i v =
1434
1434
let name, (typ : Wasm_ast.value_type ), size, unbox =
@@ -1442,10 +1442,10 @@ module Bigarray = struct
1442
1442
let * e = Memory. unbox_float x in
1443
1443
return (W. F32DemoteF64 e) )
1444
1444
| Float64 -> " dv_set_f64" , F64 , 3 , Memory. unbox_float
1445
- | Int8_signed -> " dv_set_i8" , I32 , 2 , Fun. id
1446
- | Int8_unsigned | Char -> " dv_set_ui8" , I32 , 2 , Fun. id
1447
- | Int16_signed -> " dv_set_i16" , I32 , 2 , Fun. id
1448
- | Int16_unsigned -> " dv_set_ui16" , I32 , 2 , Fun. id
1445
+ | Int8_signed -> " dv_set_i8" , I32 , 0 , Fun. id
1446
+ | Int8_unsigned | Char -> " dv_set_ui8" , I32 , 0 , Fun. id
1447
+ | Int16_signed -> " dv_set_i16" , I32 , 1 , Fun. id
1448
+ | Int16_unsigned -> " dv_set_ui16" , I32 , 1 , Fun. id
1449
1449
| Int32 -> " dv_set_i32" , I32 , 2 , Memory. unbox_int32
1450
1450
| Nativeint -> " dv_set_i32" , I32 , 2 , Memory. unbox_nativeint
1451
1451
| Int64 -> " dv_set_i64" , I64 , 3 , Memory. unbox_int64
@@ -1454,7 +1454,7 @@ module Bigarray = struct
1454
1454
in
1455
1455
let * ty = Type. bigarray_type in
1456
1456
let * ta = Memory. wasm_struct_get ty (Memory. wasm_cast ty a) 2 in
1457
- let * i = if size = 1 then i else Arith. (i lsl const (Int32. of_int size)) in
1457
+ let * ofs = Arith. (i lsl const (Int32. of_int size)) in
1458
1458
let * v = unbox v in
1459
1459
let * f =
1460
1460
register_import
@@ -1465,7 +1465,7 @@ module Bigarray = struct
1465
1465
; result = []
1466
1466
})
1467
1467
in
1468
- instr (W. CallInstr (f, [ ta; i ; v ]))
1468
+ instr (W. CallInstr (f, [ ta; ofs ; v ]))
1469
1469
end
1470
1470
1471
1471
module JavaScript = struct
0 commit comments