Skip to content

ZJIT: Inline BasicObject#initialize#14856

Merged
tekknolagi merged 1 commit intoruby:masterfrom
tekknolagi:mb-inline-basicobject-initialize
Oct 16, 2025
Merged

ZJIT: Inline BasicObject#initialize#14856
tekknolagi merged 1 commit intoruby:masterfrom
tekknolagi:mb-inline-basicobject-initialize

Conversation

@tekknolagi
Copy link
Contributor

It just returns nil.

@launchable-app

This comment has been minimized.

@tekknolagi tekknolagi force-pushed the mb-inline-basicobject-initialize branch from 7b91b3c to 3d4f929 Compare October 16, 2025 14:12
@tekknolagi tekknolagi force-pushed the mb-inline-basicobject-initialize branch from 3d4f929 to 7ecb6c8 Compare October 16, 2025 14:53
@tekknolagi tekknolagi marked this pull request as ready for review October 16, 2025 15:15
@matzbot matzbot requested a review from a team October 16, 2025 15:15
PatchPoint MethodRedefined(Object@0x1008, initialize@0x1040, cme:0x1048)
PatchPoint NoSingletonClass(Object@0x1008)
v47:NilClass = CCall initialize@0x1070, v43
v47:NilClass = Const Value(nil)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OT: It's weird that this isn't DCE'd, since the return value of initialize is not semantically used. I guess it got caught in a FrameState somehow.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, that happens a lot more now with the aggressive patchpointing and checkinterrupts. It would have gotten DCEd as the CCall too since it's marked elidable. Long-term I would like to fix this :/

@tekknolagi tekknolagi merged commit f925f1a into ruby:master Oct 16, 2025
88 checks passed
@tekknolagi tekknolagi deleted the mb-inline-basicobject-initialize branch October 16, 2025 15:34
aidenfoxivey pushed a commit to aidenfoxivey/ruby that referenced this pull request Oct 17, 2025
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