Skip to content

Refactor the last references to rb_shape_t #13586

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 11, 2025

Conversation

casperisfine
Copy link
Contributor

The type isn't opaque because Ruby isn't often compiled with LTO, so for optimization purpose it's better to allow as much inlining as possible.

However ideally only shape.c and shape.h should deal with the actual struct, and everything else should just deal with opaque shape_id_t.

Also it probably be good to rename rb_shape_t as it's no longer the actual shape, just part of it. The shape_id now actually contain important data too, not just a "pointer".

@matzbot matzbot requested a review from a team June 11, 2025 13:00
@casperisfine casperisfine force-pushed the refactor-rb-shape-t-out branch from 310b996 to 69f9ba0 Compare June 11, 2025 13:06
Copy link

launchable-app bot commented Jun 11, 2025

Tests Failed

✖️1 test failed ✔️28791 tests passed(4 flakes)

22/137 test sessions failed

❌ Test session #4472196 failedos:macos-14 ![workflow:YJIT macOS Arm64](https://img.shields.io/badge/workflow-YJIT macOS Arm64-blue.svg) test_opts:--enable-yjit test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28612 tests passed

❌ Test session #4472202 failedos:macos-15 workflow:macOS test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28607 tests passed

❌ Test session #4472203 failedos:macos-latest workflow:ModGC test_opts: test_task:checkdetails on CI
🔔 2 issues ✖️2 tests failed ✔️28543 tests passed

❌ Test session #4472207 failedos:macos-14 workflow:macOS test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28607 tests passed

❌ Test session #4472211 failedos:macos-14 workflow:macOS test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28605 tests passed

❌ Test session #4472217 failedos:macos-14 workflow:macOS test_opts:--repeat-count:2 test_task:test-alldetails on CI
🔔 1 issue ✖️1 test failed ✔️28624 tests passed

❌ Test session #4472218 failedos:ubuntu-latest workflow:ModGC test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️27693 tests passed

❌ Test session #4472221 failedos:macos-latest workflow:ModGC test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28586 tests passed

❌ Test session #4472227 failedos:macos-14 ![workflow:YJIT macOS Arm64](https://img.shields.io/badge/workflow-YJIT macOS Arm64-blue.svg) test_opts:--enable-yjit:dev test_task:checkdetails on CI
🔔 2 issues ✖️2 tests failed ✔️28680 tests passed

❌ Test session #4472234 failedos:ubuntu-22.04 workflow:Ubuntu test_opts:--disable-yjit test_task:checkdetails on CI
🔔 2 issues ✖️2 tests failed ✔️28472 tests passed

❌ Test session #4472240 failedos:macos-14 workflow:macOS test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28608 tests passed

❌ Test session #4472243 failedos:ubuntu-22.04 workflow:Ubuntu test_opts:--enable-shared--enable-load-relative test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28644 tests passed

❌ Test session #4472247 failedos:ubuntu-latest workflow:ModGC test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28583 tests passed

❌ Test session #4472252 failedos:ubuntu-24.04 workflow:Ubuntu test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28677 tests passed

❌ Test session #4472254 failedos:ubuntu-22.04 ![workflow:YJIT Ubuntu](https://img.shields.io/badge/workflow-YJIT Ubuntu-blue.svg) test_opts:--enable-yjit:dev test_task:checkdetails on CI
🔔 3 issues ✖️3 tests failed ✔️28682 tests passed

❌ Test session #4472256 failedos:ubuntu-22.04 workflow:Ubuntu test_opts:cppflags:-DVM_CHECK_MODE test_task:checkdetails on CI
🔔 3 issues ✖️3 tests failed ✔️28657 tests passed

❌ Test session #4472257 failedos:ubuntu-24.04-arm workflow:Ubuntu test_opts: test_task:checkdetails on CI
🔔 3 issues ✖️3 tests failed ✔️28706 tests passed

❌ Test session #4472263 failedos:macos-14 workflow:macOS test_opts: test_task:checkdetails on CI
🔔 1 issue ✖️1 test failed ✔️28626 tests passed

❌ Test session #4472270 failedos:ubuntu-22.04 ![workflow:YJIT Ubuntu](https://img.shields.io/badge/workflow-YJIT Ubuntu-blue.svg) test_opts:--enable-yjit:dev test_task:checkdetails on CI
🔔 3 issues ✖️3 tests failed ✔️28700 tests passed

❌ Test session #4472292 failedos:ubuntu-22.04 workflow:Ubuntu test_opts: test_task:checkdetails on CI
🔔 2 issues ✖️2 tests failed ✔️27548 tests passed

❌ Test session #4472303 failedos:macos-13 workflow:macOS test_opts: test_task:checkdetails on CI
🔔 2 issues ✖️2 tests failed ✔️28626 tests passed

❌ Test session #4472304 failedos:ubuntu-22.04 ![workflow:YJIT Ubuntu](https://img.shields.io/badge/workflow-YJIT Ubuntu-blue.svg) test_opts:RUSTC:'rustc+1.58.0' test_task:checkdetails on CI
🔔 2 issues ✖️2 tests failed ✔️27666 tests passed

@casperisfine casperisfine force-pushed the refactor-rb-shape-t-out branch 2 times, most recently from 419c930 to da0441f Compare June 11, 2025 13:29
The type isn't opaque because Ruby isn't often compiled with LTO,
so for optimization purpose it's better to allow as much inlining
as possible.

However ideally only `shape.c` and `shape.h` should deal with
the actual struct, and everything else should just deal with opaque
`shape_id_t`.
@casperisfine casperisfine force-pushed the refactor-rb-shape-t-out branch from da0441f to 85e6b6f Compare June 11, 2025 13:53
@byroot byroot merged commit 9520129 into ruby:master Jun 11, 2025
81 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants