Lost stack values when entering a loop
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- wasm
- Lĩnh vực
- compilers
Hướng nghiên cứu
Bắt đầu với module WebAssembly fac-ssa được nhúng và assertion, sau đó kiểm tra pykwasm/kdist/wasm-semantics/wasm.md ở các dòng 549-552 cùng với quy tắc vào loop được liên kết trong đặc tả. Tái hiện invocation và xác minh rằng loop giữ lại hai giá trị trên stack cần cho $pick1 và assertion về giai thừa thành công.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
(module
;; Iterative factorial without locals.
(func $pick0 (param i64) (result i64 i64)
(local.get 0) (local.get 0)
)
(func $pick1 (param i64 i64) (result i64 i64 i64)
(local.get 0) (local.get 1) (local.get 0)
)
(func (export "fac-ssa") (param i64) (result i64)
(i64.const 1) (local.get 0)
(loop $l (param i64 i64) (result i64)
(call $pick1) (call $pick1) (i64.mul)
(call $pick1) (i64.const 1) (i64.sub)
(call $pick0) (i64.const 0) (i64.gt_u)
(br_if $l)
(drop) (return)
)
)
)
(assert_return (invoke "fac-ssa" (i64.const 25)) (i64.const 7034535277573963776))
After fac-ssa gets invoked and the loop instruction is reached, the two values that have been pushed onto the stack disappear when we enter the loop, so then the subsequent call to $pick1 doesn't have any parameters to use.
Our rule:
It looks like the spec states that the stack values are prepended to the instructions when entering the block, but we aren't doing that here.
- Ngôn ngữ chính
- WebAssembly
- Star
- 107
- Fork
- 25
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Có Dockerfile hoặc 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 runtimeverification/wasm-semantics
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 55/100
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
-
Improve tokenisation supportĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
Tất cả issue của runtimeverification/wasm-semantics
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
tree-sitter/tree-sitter-cpp#374 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
voidzero-dev/oxc-angular-compiler#511 ·
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 86/100
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 72/100
tc39/proposal-deferred-reexports#98 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug good-title pdd
Độ khó 2/5 Dưới một giờ Mức phù hợp với người mới 82/100
objectionary/phino#1630 ·
Maintainer thường phản hồi trong vòng 1 ngày