summaryrefslogtreecommitdiff
path: root/lib/net/http.rb
diff options
context:
space:
mode:
authorAlan Wu <XrXr@users.noreply.github.com>2024-03-28 15:46:08 -0400
committerAlan Wu <XrXr@users.noreply.github.com>2024-03-28 17:41:01 -0400
commitf3c35749feb559db5aa3597a1c91a30c2550e85c (patch)
tree628b03271991cf866be95a036363d1f4375ef3d5 /lib/net/http.rb
parent817eecf685cf2408ff468ba9c3b814e3c6389ce7 (diff)
YJIT: Optimize putobject+opt_ltlt for integers
In `jit_rb_int_lshift()`, we guard against the right hand side changing since we want to avoid generating variable length shifts. When control reaches a `putobject` and `opt_ltlt` pair, though, we know that the right hand side never changes. This commit detects this situation and substitutes an implementation that does not guard against the right hand side changing, saving that work. Deleted some `putobject` Rust tests since they aren't that valuable and cause linking issues. Nice boost to `optcarrot` and `protoboeuf`: ``` ---------- ------------------ bench yjit-pre/yjit-post optcarrot 1.09 protoboeuf 1.12 ---------- ------------------ ```
Diffstat (limited to 'lib/net/http.rb')
0 files changed, 0 insertions, 0 deletions