[spectec] SpecTec interpreter: array.new_data and array.init_data fail on arrays of v128
Maintainer thường phản hồi trong vòng 1 ngày
Một pull request liên quan đã được merge.
- #2293 của @rossberg — đã merge
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- wasm
- Lĩnh vực
- testing
Hướng nghiên cứu
Bắt đầu trong trình thông dịch SpecTec tại inv_zbytes và so sánh cách xử lý các giá trị vector với inv_cbytes, vốn đã chuyển V128 đến inv_vbytes. Chạy spectec specification/wasm-3.0/*.spectec --interpreter với module được cung cấp; hoàn tất khi cả array.new_data và array.init_data đều trả về các giá trị lane như mong đợi mà không có ArgMismatch.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
(module
(type $av (array (mut v128)))
(data $d "\00\01\02\03\04\05\06\07\08\09\0a\0b\0c\0d\0e\0f")
(func (export "new") (result i32)
(i32x4.extract_lane 3 (array.get $av (array.new_data $av $d (i32.const 0) (i32.const 1)) (i32.const 0))))
(func (export "init") (result i32)
(local $x (ref $av))
(local.set $x (array.new_default $av (i32.const 1)))
(array.init_data $av $d (local.get $x) (i32.const 0) (i32.const 0) (i32.const 1))
(i32x4.extract_lane 1 (array.get $av (local.get $x) (i32.const 0)))))
(assert_return (invoke "new") (i32.const 0x0f0e0d0c))
(assert_return (invoke "init") (i32.const 0x07060504))
The reference interpreter passes. spectec specification/wasm-3.0/*.spectec --interpreter fails both:
$ARRAY.NEW_DATA: Backend_interpreter.Exception.ArgMismatch("inv_nbytes: [V128, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]]")
array.new_data-num and array.init_data-num decode the segment with $zbytes_(zt, c). In the interpreter, inv_zbytes handles I8 and I16 and passes everything else to inv_nbytes, which has no V128 case. inv_cbytes already sends V128 to inv_vbytes; inv_zbytes needs the same case.
Tested at 340650f.
- Ngôn ngữ chính
- WebAssembly
- Star
- 3.5k
- Fork
- 540
- Merge trung bình
- 23 giờ 36 phút
- Pull request đã merge (30 ngày)
- 26
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của WebAssembly/spec
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 66/100
WebAssembly/spec#2302 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 53/100
WebAssembly/spec#2301 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
il2al: host function rules become two independent conditionals and ignore the new store `s'`Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
WebAssembly/spec#2279 · 6 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
WebAssembly/spec#2258 · 4 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[js-api] A mutable global import allocates a const global before LinkErrorCó thể đã có người làm @chicoxyzzy đã nhận 18 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 58/100
WebAssembly/spec#2253 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của WebAssembly/spec
Issue tương tự
-
status:needs-review type:bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Gentleman-Programming/engram#2079 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
limitlessprojects/Go-Hybrid#1377 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 93/100
webarkit/WebARKitLib#107 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: infra bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Docker host resolution missing default rootless Docker pathCó thể đã có người làm @500B đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
testcontainers/testcontainers-rs#1000 ·
Maintainer thường phản hồi trong vòng 3 ngày