summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)Author
2025-12-02ZJIT: Improve documentation and make it easy to generate the types graphBenoit Daloze
2025-12-01[ruby/strscan] [DOC] Fix broken link to helper methodsBerkan Ünal
(https://github.com/ruby/strscan/pull/179) ### Helper methods link is broken at master branch To reproduce 1. go to [StringScanner docs](https://docs.ruby-lang.org/en/master/StringScanner.html) 2. Click to link at line > See examples at **helper_methods** 3. Resolved url gives 404: https://docs.ruby-lang.org/en/master/strscan/helper_methods_md.html ### Fix Currently link resolves as `href="doc/strscan/helper_methods_md.html"` Correct link should be resolved as `href="helper_methods_md.html"` https://github.com/ruby/strscan/commit/adb8678aa6
2025-12-01ZJIT: Fix erroneous version number for Iongraph (#15357)Aiden Fox Ivey
As per https://github.com/mozilla-spidermonkey/iongraph/blob/8d5e531305320216f86a24bfc9bc136a3627e832/src/iongraph.ts#L147, correct version number for the web-based tool is 1, rather than 2.
2025-11-27[DOC] Remove unneeded filename from rdoc-ref links (#15339)Stan Lo
2025-11-27Reorganize page documentations (#15154)Stan Lo
Re-organize page docs
2025-11-27Documentation: Added the `|`(pipe)/OR operator to syntax/methods.Sebastian Dufner
It was not documented as an operator that can be overriden, which is confusing because it makes you think it can't be.
2025-11-23[Misc #21688] [DOC] Include box.md in Ruby::Box documentationNobuyoshi Nakada
2025-11-23[ruby/date] [DOC] Remove the name from same file referencesNobuyoshi Nakada
https://github.com/ruby/date/commit/e41082e068
2025-11-23[DOC] Remove the name from same file referencesNobuyoshi Nakada
2025-11-20[DOC] Sort some methods in What's HereBurdetteLamar
2025-11-20[DOC] Tweaks for String#valid_encoding?Burdette Lamar
2025-11-20[DOC] Tweaks for String#uptoBurdetteLamar
2025-11-20[DOC] Tweaks for String#upcase (#15244)Burdette Lamar
2025-11-19ZJIT: Add Iongraph compatibility (#14999)Aiden Fox Ivey
## Components This PR adds functionality to visualize HIR using the [Iongraph](https://spidermonkey.dev/blog/2025/10/28/iongraph-web.html) tool first created for use with Spidermonkey. ## Justification Iongraph's viewer is (as mentioned in the article above) a few notches above graphviz for viewing large CFGs. It also allows easily inspecting different compiler optimization passes and multiple functions in the same browser window. Since Spidermonkey is using this format, it may be beneficial to use it for our own JIT development. The requirement for JSON is downstream from that of the Iongraph format. As for writing the implementation myself, ZJIT leans towards having fewer dependencies, so this is the preferred approach. ## How does it look? <img width="902" height="957" alt="image" src="https://github.com/user-attachments/assets/e4e0991b-572a-41fd-9fed-1215bd1926c3" /> <img width="770" height="624" alt="image" src="https://github.com/user-attachments/assets/01398373-1f75-46b8-b1aa-7f5d4cbca6b8" /> Right now, it's aesthetically minimal, but is fairly robust. ## Functionality Using `--zjit-dump-hir-iongraph` will dump all compiled functions into a directory named `/tmp/zjit-iongraph-{PROCESS_PID}`. Each file will be named `func_{ZJIT_FUNC_NAME}.json`. In order to use them in the Iongraph viewer, you'll need to use `jq` to collate them to a single file. An example invocation of `jq` is shown below for reference. The name of the file created does not matter to my understanding. `jq --slurp --null-input '.functions=inputs | .version=2' /tmp/zjit-iongraph-{PROCESS_PID}/func*.json > ~/Downloads/foo.json` From there, you can use https://mozilla-spidermonkey.github.io/iongraph/ to view your trace. ### Caveats - The upstream Iongraph viewer doesn't allow you to click arguments to an instruction to find the instruction that they originate from when using the format that this PR generates. (I have made a small fork at https://github.com/aidenfoxivey/iongraph that fixes that functionality via https://github.com/aidenfoxivey/iongraph/commit/9e9c29b41c4dbb35cf66cb6161e5b19c8b796379.patch) - The upstream Iongraph viewer can sometimes show "exiting edges" in the CFG as being not attached to the box representing its basic block. <img width="1814" height="762" alt="image" src="https://github.com/user-attachments/assets/afbbaa16-332f-498f-849e-11c69a8cb0cc" /> (Image courtesy of @tekknolagi) This is because the original tool was (to our understanding) written for an SSA format that does not use extended basic blocks. (Extended basic blocks let you put a jump instruction, conditional or otherwise, anywhere in the basic block.) This means that our format may generate more outgoing edges than the viewer is written to handle.
2025-11-19[DOC] Update yjit.md to use a different emailStan Lo
2025-11-18[DOC] Tweaks for String#unicode_normalizeBurdetteLamar
2025-11-18[DOC] Tweaks for String#dump and String#undumpBurdette Lamar
2025-11-18[DOC] Add documentation about Ruby's VM stackStan Lo
2025-11-17Remove alternation pattern matching handling from the prism compilerEarlopain
Since https://github.com/ruby/ruby/pull/15212 these are proper syntax errors, so no need to handle this explicitly anymore. Also updated the example in the docs for this
2025-11-15[DOC] Remove an obsolete fileNobuyoshi Nakada
It has been merged into `doc/ruby/options.md` with `field_processing.md` at ruby/ruby#10138.
2025-11-15[Doc] Remove leftover references to namespace from box.mdHerwin
And fix the indentation a little bit, since `box` is one character longer than `ns`.
2025-11-14[Feature #21275] Bump Unicode version to 17.0.0Mari Imaizumi
2025-11-12[DOC] Tweaks for String#to_rBurdette Lamar
2025-11-08[DOC] Tweaks for String#to_cBurdette Lamar
2025-11-07Update Ruby Box document, delete problems/discussions already resolvedSatoshi Tagomori
2025-11-07Re-rename files wrongly renamedSatoshi Tagomori
2025-11-07rename namespace.c (and others) to box.cSatoshi Tagomori
2025-11-05[DOC] Update glossary (#15070)Randy Stauner
2025-11-04[ruby/stringio] [DOC] Doc for StringIO.getcBurdette Lamar
(https://github.com/ruby/stringio/pull/163) https://github.com/ruby/stringio/commit/a126fe252f
2025-11-04[ruby/stringio] [DOC] Doc for StringIO#getsBurdette Lamar
(https://github.com/ruby/stringio/pull/164) https://github.com/ruby/stringio/commit/10e991e31d
2025-11-04[ruby/stringio] [DOC] Doc for StringIO#getbyteBurdette Lamar
(https://github.com/ruby/stringio/pull/162) https://github.com/ruby/stringio/commit/95a7dd592c
2025-10-30[DOC] ZJIT: Add documentation about native stack and Ruby's VM stack (#14993)Stan Lo
ZJIT: Add documentation about native stack and Ruby's VM stack
2025-10-29Added repl_type_completor to bundled gems sectionHiroshi SHIBATA
2025-10-29Added missing rubygems pages for default/bundled gemsHiroshi SHIBATA
2025-10-29[DOC] Update refinements.rdocAstra
removes documentation for the activation order of `include` and `prepend` inside a refinement
2025-10-28[DOC] Moved non ASCII documents to separated filesNobuyoshi Nakada
C99 does not declare ways to designate the charset encoding of the source file. We can assume just US-ASCII characters will be safe.
2025-10-27[DOC] Tweaks for String#swapcaseBurdetteLamar
2025-10-27[DOC] Tweaks for String#sumBurdetteLamar
2025-10-27[ruby/stringio] [DOC] Split the examples `StringIO` into the document fileNobuyoshi Nakada
https://github.com/ruby/stringio/commit/04ba28af00
2025-10-26[DOC] Tweaks for String#succBurdette Lamar
2025-10-24[DOC] Tweaks for String#subBurdetteLamar
2025-10-24thwait has been extracted to http://github.com/ruby/thwaitHiroshi SHIBATA
2025-10-24Update the primary maintainer of rubygemsHiroshi SHIBATA
2025-10-24Added policy of bundled gemsHiroshi SHIBATA
2025-10-24Revised structure of maintenance policyHiroshi SHIBATA
2025-10-24Revised unmaintained to reflect the current situationHiroshi SHIBATA
2025-10-24Restore primary maintainer name at the bundled gemsHiroshi SHIBATA
2025-10-23[DOC] Tweaks for String#start_with?BurdetteLamar
2025-10-22[DOC] Tweaks for String#splitBurdetteLamar
2025-10-22[DOC] Tweaks for String#squeezeBurdetteLamar