Noah Gibbs, Noah Gibbs (and/or Benchmark CI)

Hash Date Message
d1d3d2c0aab39511258c5c75b34396601a94f6f5 2021-06-14 If --yjit-stats is given without RUBY_DEBUG, that should be an error.
25792c17d44f4097ad5aedee87b4369cfdbef9f7 2021-06-28 Convert yjit static stat variables to counters
b385f311882be75e81ec9ce7ab74d2368fec1560 2021-06-28 Remove seven YJIT counters that are no longer used.
33227b1094d349bd64a2a588825cdf530ea5c459 2021-06-29 Add exit counters and inline/outlined code size to stats hash
d2e9932908cf1a1075d07157bfa520a1714d43b0 2021-06-29 Convert YJIT stats reporting on exit from C to Ruby.
89ae21a09222c54ada556c449fd58a3e0e6f9816 2021-06-29 Add back ifdefs for RUBY_DEBUG, accidentally removed
5e164a77d536e0eea9c76ade036a3ff4d14176c3 2021-06-29 Better comments where we add exits-by-opcode to the stats hash, plus a presumably-unneeded strncpy just to be sure.
db02d73e5e0489dd2028ea4b9572361ed5aa2cc9 2021-06-29 Change strcpy of a static string to strncpy
e2fe7e4aff27f498d56e44586276558355da34dd 2021-06-30 Percentages should be out of 100.0%, not 1.0%.
6998246233e42a05883a7bfc9364bb5918456107 2021-06-30 Use snprintf rather than double strncpy.
b70383fbea8d4acc49eceed24c83d87637412ff4 2021-07-19 YJIT stats should always include the inlined and outlined sizes, regardless of RUBY_DEBUG and --yjit-stats/YJIT_STATS settings
dd23e4658b8587adf8d6fed96b574a979b169e46 2021-07-27 If codeblock is NULL because YJIT is disabled, YJIT.runtime_stats should return Qnil
a0790e6335094e0124bae3d5b53ed2264fc7a791 2021-09-22 Break up callsite_not_simple into multiple cases.
7704a6990aad2b9f979ada573497ddb7e46eefab 2021-09-22 Fix typo in comment
e48fc07d11551a9a47034a03219e73c99bc4a38d 2021-09-22 Fix counter names
be06112d48b763da1e3f29b03e5e59d2a44e7b72 2021-10-01 Fix changes from rebase
d4a75dd9766c1f803687bf54f7b8886739b3e867 2021-10-01 Add a YJIT hacking doc with some internals; change the README text a bit to reflect its current condition
6392702375c066cc15b15b47de1603d384690caf 2021-10-04 Incorporate feedback from the PR into yjit_hacking.md
3dd4abfcd026442d99742959445eb8a223f569cf 2021-10-04 Move YJIT's README into doc/yjit/yjit.md
4fc20a8c911793d03107e8eae2042deb028d0d75 2021-10-04 Move Ruby's README back where it was
fab469b6787220648f6c5bb8104f9a1246d9eadd 2021-10-04 Document YJIT options in --help
f021b35273c385ca469ba594527bb1fb53e30f96 2021-10-04 Reduce line length for YJIT option descriptions
21e58acef347bb3891262ab38ac211c8d877efd7 2021-10-01 Don't enable YJIT by default. More tests on both Ubuntu and MacOS. Add RUBY_YJIT_ENABLE env var and YJIT_FORCE_ENABLE compile-time constant. Rename YJIT_STATS to RUBY_YJIT_STATS.
4705db6a37db61cb9da90a5c6a57015cb6fda50f 2021-10-07 Try turning off test-bundler-parallel to see if that fixes all the build errors
da305dd23e68d1b30be5f7e21c798ee3519f23c1 2021-10-18 Match the main-branch location of yjit in inits.c
14967347b9bb819c365c73dd035baac723d56b51 2022-01-11 YJIT stats documentation additions and updates (#5427)
e88ada469976e1dad653748bd2c0bedca9e30981 2022-05-11 Ruby shovel operator (<<) speedup. (#5896)
50bad7159a8e1f9846f37421c941f6fa8f087591 2022-05-20 Special-case jit_guard_known_class for strings. This can remove (#5920)
ba88787087b0d979f806e6b58cfbc3886d942968 2022-05-25 Use bindgen to import CRuby constants for YARV instruction bytecodes
9d18661e1de053a9fecae7f4ab4ed41300537cec 2022-06-01 Revert incorrect string-guard optimisation. (#5969)
653e517eefaa0c4f2710b30b4dff9a9dad7b9d6a 2022-06-06 Use bindgen to import Ruby constants wherever possible. (#5943)
1598c9458a3ac8e0e4c179317a4e5bba506e3367 2022-06-07 Add special-case code for the String unary plus operator (#5982)
e777ac9161f6d772ab2930a037ecb07789be4fe5 2022-06-10 Don't return a value from jit_guard_known_klass. We never return anything but true at this point and we don't usually check the returned value. (#6000)
9ed9cc9852a7cf12c71114c3c65b239c7af1518b 2022-06-10 Add tests for a variety of string-subclass operations (#5999)
0fab06f3c33999d7366036440dbc7ce6d16ac792 2022-06-13 Separate Type::String into Type::CString and Type::TString.
5da31b62b0c193c5d574ddba79f321b6802c0753 2022-06-13 Make sure string-operation assertions happen inside a method to be sure YJIT will JIT them.
118e3edc32c9d1768cd4f33ca18f2c40ce9ae333 2022-06-29 Add a check-yjit-bindgen-unused target. Add to CI. (#6066)
a2e0815e27e7eb35d57a5bd4c09630797e1869fc 2022-07-06 Switch YJIT to using rb_str_buf_append rather than rb_str_append when encodings don't match, as discussed with byroot
aed1539ec59ab8048b2fb64a7364d106acbaf30a 2022-07-15 YJIT: Add send unit tests (#6143)
6140edb5df29bc9362ded379d6e2e72e4584d07a 2022-07-20 Match +YJIT in Ruby desc when testing segv (#6141)
1e7a2415a4c69aa64c9c2a561197bf9cfc5a91f8 2022-08-04 YJIT: Allow str-concat arg to be any string subtype, not just rb_cString (#6205)
b4be3c00c5737649166db676278fd28f768a5e3c 2022-07-28 add --yjit-dump-iseqs param (https://github.com/Shopify/ruby/pull/332)
b3cd7a9cd3ab5f66f70bd530761358d1710377aa 2022-07-19 Fix some of the codegen.rs tests (https://github.com/Shopify/ruby/pull/327)
cbf7a7cd23e03c47274ed2755ef5ba1ca099bd50 2022-07-20 Fix dupn (https://github.com/Shopify/ruby/pull/330)
f5f58d82834cf84fe15dd1b28754923404a9fc75 2022-07-20 Update disasm to work on ARM (https://github.com/Shopify/ruby/pull/331)
b1ed4d9b947e650dda7bfb9578652d4edb2608b4 2022-07-22 Port and test duparray and splatarray (https://github.com/Shopify/ruby/pull/337)
c9a947e5d81088907f774ddfbcd274a88ba7d8ff 2022-07-25 Port and test checkkeyword (https://github.com/Shopify/ruby/pull/339)
4b1ab009c4ceea2232d1c71a1af7bf1a04af2165 2022-07-27 Port the YJIT defined opcode; fix C_ARG_REGS (https://github.com/Shopify/ruby/pull/342)
d131b410259bef45757e4bec02c9c62c88033fc8 2022-08-05 Fix to float guard in jit_guard_known_klass to use the correct output operand. (https://github.com/Shopify/ruby/pull/365)
0a680912e960c66b9894cd8b04ecdc819a531727 2022-08-05 x86 TEST should do a load for mem opnds first (https://github.com/Shopify/ruby/pull/368)
6b9cec78a18ae1788c8c939c705b85bd0a6efc3a 2022-08-10 Port cfunc lookup, plus simpler cfunc generators. (https://github.com/Shopify/ruby/pull/388)
471de2ab78ef75c7f22f80c77460e16e2356e190 2022-08-11 Enable skipdata on Capstone to allow embedded data without early stop to disasm (https://github.com/Shopify/ruby/pull/398)
09c12111d42573a19e7077bd8fa7e7cb709179de 2022-08-12 Port jit_rb_str_concat to new backend, re-enable cfunc lookup (https://github.com/Shopify/ruby/pull/402)
93c5a5f02373d9ebad3a158fd783886bc3f7bf7d 2022-08-19 Fix and re-enable String to_s, << and unary plus (https://github.com/Shopify/ruby/pull/429)
cc7f6fe73454743da87d73ddb26626503fae248f 2022-09-15 YJIT should die if we compile on Aarch64 with no instruction cache clear available (#6380)
ee7c031dc46b4e86f889b2f98cb479d79774a446 2022-11-02 YJIT: don't show a full crash report if mmap is only out of memory (#6659)
e1c84e8ee6a3a7d50ba726c18ea99395aa0bf4ce 2023-05-09 For YJIT stats, set avg_len_in_yjit to 0 if denominator would be 0 (#7793)
3bd98e7a91f81210c613b27e4846806c7244127d 2023-05-22 Add documentation for some stats counters, and generally about YJIT stats
e34505c631349f8f8b548953d392191b96e9d29c 2024-02-06 [ruby/prism] More visitors and tests for RipperCompat
b1310940e36c14bd07dbc2db885fbd6ec8c35bf8 2024-02-07 [ruby/prism] RipperCompat: support more kinds of method calls and operators.
73d222e1efa64b82bdd23efdb73fa39031fe0b9c 2024-02-07 [ruby/prism] Support &. calls and calling with blocks, test with fixtures
5b7baa04862906918bb010d8f4de07d7f272f254 2024-02-07 [ruby/prism] More different block-call syntaxes, support more types of method calls
1b68b459caa472eb85cfef55bf5cd200da9bf3c5 2024-02-07 [ruby/prism] Commit Kevin's suggestion to simplify grabbing the operator.
366af4679e5de6720a952768a3f17a05ff7df4cc 2024-02-07 [ruby/prism] RipperCompat: support for more features.
6aceb91de0c13dd3b2b98ecfede806aa3cfe883c 2024-02-08 [ruby/prism] Update lib/prism/ripper_compat.rb
70bc4ce34f54b6d865dba638ffe512522625ed9e 2024-02-08 [ruby/prism] Update lib/prism/ripper_compat.rb
c1aba5d97b4f2963af80118ddaf6941f1f909092 2024-02-08 [ruby/prism] Update lib/prism/ripper_compat.rb
3f0aa554493f154280be73045522efe562ac4de7 2024-02-08 [ruby/prism] Update lib/prism/ripper_compat.rb
f8b8a6780c9922a4792ca4a1066dddfac08638a6 2024-02-08 [ruby/prism] Update lib/prism/ripper_compat.rb
0c73553052748a9ac1ef196f6e6db9608aca0d9b 2024-02-08 [ruby/prism] Add Kevin's visit_all change and change the parent class to Compiler.
1983949811607fb87584943749a0cf9056a49c01 2024-02-08 [ruby/prism] Looks like Symbol#name wasn't a thing in 2.7, so need to switch back to to_s
f635b4dd0e8a54ebd0aff7fbabd729fb4ad26606 2024-02-08 [ruby/prism] RipperCompat: add array-refs, assigns, symbols, strings
86882565221cb709f4213e7c7699ba73f16f1107 2024-02-08 [ruby/prism] Update lib/prism/ripper_compat.rb
16b39072a56c253acdb35055e42a69631cf00d69 2024-02-12 [ruby/prism] Move Prism::RipperCompat to Prism::Translation::Ripper
a5cee8fa79422a295ce200a92b901c4182995800 2024-02-15 [ruby/prism] Handle more aliases. Better testing of prism ripper CLI and a test for it.
7d3e889bbbf88a156b0993ff85e29e191809ddd3 2024-02-15 [ruby/prism] Move visit methods into a Ripper Compiler
e801ccb3432f0fccb6c2ff9b09e6c174d9b153bc 2024-02-16 [ruby/prism] More rescue and ensure; constant handling
e3b9eec3498df88ef130098c4db5377ec156988b 2024-02-21 [ruby/prism] Translation::Parser should process warnings, not just errors
45ae69e37e1dac60ea8f6d682ff7b947cb8057d0 2024-02-21 [ruby/prism] Update lib/prism/translation/parser.rb
551f64745fa0ba0ea70812f63495f2fa7dd5afe4 2024-02-21 [ruby/prism] Allow skipping warnings as needed, and pass a reason through to Parser::Diagnostic