python / python/cpython

JIT: remove all uses of _PyType_LookupByVersion in optimizer_bytecodes.c

Đang mở
#148,380 4 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

interpreter-core topic-JIT type-feature type-refactor
Ngôn ngữ chính
Python
Star
77.2k
Fork
35.9k
Chỉ số merge pull request
Chỉ số pull request đang chờ

Mô tả

Feature or enhancement

Proposal:

We should use recorded values instead, as that is not bounded by a limited-size cache, and it will be easier to make the optimizer thread safe for FT. See for example how I use recorded values for guards in this commit https://github.com/python/cpython/pull/148277/commits/8fab9d33c998d9c50a85f7705d0205aa175d03ab

Ops that need converting:

  • _CHECK_ATTR_CLASS
  • _GUARD_TYPE_VERSION

@NekoAsakura would you like to work on this?

Has this already been discussed elsewhere?

No response given

Links to previous discussion of this feature:

No response

Linked PRs
  • gh-148394

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu trong optimizer_bytecodes.c và kiểm tra việc sử dụng còn lại của _PyType_LookupByVersion bởi _CHECK_ATTR_CLASS, sử dụng commit được liên kết và PR 148277 làm ngữ cảnh cho các guard giá trị được ghi lại. Kiểm tra PR 148394 vì issue liệt kê công việc liên quan. Được xem là hoàn tất khi thao tác còn lại được liệt kê đã được chuyển đổi và các bài kiểm thử liên quan của nó đều đạt.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
c, python
Lĩnh vực
compilers
Loại issue
Tính năng
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.