ruby/doc
Kevin Menard 158b8cb52e
YJIT: Add compilation log (#11818)
* YJIT: Add `--yjit-compilation-log` flag to print out the compilation log at exit.

* YJIT: Add an option to enable the compilation log at runtime.

* YJIT: Fix a typo in the `IseqPayload` docs.

* YJIT: Add stubs for getting the YJIT compilation log in memory.

* YJIT: Add a compilation log based on a circular buffer to cap the log size.

* YJIT: Allow specifying either a file or directory name for the YJIT compilation log.

The compilation log will be populated as compilation events occur. If a directory is supplied, then a filename based on the PID will be used as the write target. If a file name is supplied instead, the log will be written to that file.

* YJIT: Add JIT compilation of C function substitutions to the compilation log.

* YJIT: Add compilation events to the circular buffer even if output is sent to a file.

Previously, the two modes were treated as being exclusive of one another. However, it could be beneficial to log all events to a file while also allowing for direct access of the last N events via `RubyVM::YJIT.compilation_log`.

* YJIT: Make timestamps the first element in the YJIT compilation log tuple.

* YJIT: Stream log to stderr if `--yjit-compilation-log` is supplied without an argument.

* YJIT: Eagerly compute compilation log messages to avoid hanging on to references that may GC.

* YJIT: Log all compiled blocks, not just the method entry points.

* YJIT: Remove all compilation events other than block compilation to slim down the log.

* YJIT: Replace circular buffer iterator with a consuming loop.

* YJIT: Support `--yjit-compilation-log=quiet` as a way to activate the in-memory log without printing it.

Co-authored-by: Randy Stauner <randy.stauner@shopify.com>

* YJIT: Promote the compilation log to being the one YJIT log.

Co-authored-by: Randy Stauner <randy.stauner@shopify.com>

* Update doc/yjit/yjit.md

* Update doc/yjit/yjit.md

---------

Co-authored-by: Randy Stauner <randy.stauner@shopify.com>
Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
2024-10-17 21:36:43 +00:00
..
ChangeLog Update references to flori/json 2024-10-07 20:12:57 -04:00
NEWS Copy 3.3.0 NEWS.md to doc/NEWS [ci skip] 2023-12-25 01:47:13 -08:00
command_line [DOC] Ruby command-line options (#10138) 2024-03-06 15:10:24 -05:00
contributing Adds remarks about returned Enumerator 2024-08-23 16:21:40 -04:00
csv Use www.rfc-editor.org for RFC text. 2024-03-28 11:44:45 +09:00
date Fix spelling 2024-10-11 15:16:05 +00:00
examples New page IO Streams (#6383) 2022-09-21 16:34:55 -05:00
images
irb [ruby/irb] fix typos in the `Index of Command-Line Options` 2024-07-01 11:39:43 +09:00
matchdata Add MatchData#bytebegin and MatchData#byteend 2024-07-16 14:48:06 +09:00
math [DOC] Enhanced RDoc for Math module (#5837) 2022-04-25 10:07:21 -05:00
net-http [ruby/net-http] [DOC] Enhanced RDoc for request headers 2023-02-14 20:33:11 +00:00
optparse [ruby/optparse] [DOC] Add missing secition 2023-12-25 21:12:49 +09:00
pty [DOC] Update PTY documents 2024-04-07 13:35:20 +09:00
rdoc [ruby/rdoc] [DOC] Fix links (https://github.com/ruby/rdoc/pull/1169) 2024-09-02 15:36:53 +00:00
regexp [Bug #19728] Auto-generate unicode property docs 2023-07-01 23:22:17 +09:00
reline [ruby/reline] Fallback to 256color if COLORTERM != truecolor 2023-11-13 12:42:31 +00:00
rjit RJIT: Clean up unnecessary documentation 2023-12-21 16:47:13 -08:00
ruby [DOC] Ruby command-line options (#10138) 2024-03-06 15:10:24 -05:00
string String.new(capacity:) don't substract termlen 2024-06-19 15:11:07 +02:00
strscan Removed trailing spaces. 2024-06-04 15:00:47 +09:00
symbol Enhanced RDoc for Symbol (#5795) 2022-04-12 17:27:18 -05:00
syntax doc: Remove description of experimental warnings related pattern matching from documentation 2024-09-25 07:06:42 +09:00
yjit YJIT: Add compilation log (#11818) 2024-10-17 21:36:43 +00:00
.document [DOC] Ruby command-line options (#10138) 2024-03-06 15:10:24 -05:00
_regexp.rdoc [DOC] Fix link 2024-09-10 14:07:04 -04:00
_timezones.rdoc [DOC] Tweak "Timezone Objects" 2024-10-11 01:24:27 +09:00
bsearch.rdoc [DOC] Adjust heading levels 2023-11-14 15:56:58 +09:00
bug_triaging.rdoc [DOC] Various fixes in bug triaging guide 2019-12-23 22:04:59 +01:00
case_mapping.rdoc [DOC] Adjust heading levels 2023-11-14 15:56:58 +09:00
character_selectors.rdoc [DOC] Adjust heading levels 2023-11-14 15:56:58 +09:00
command_injection.rdoc [DOC] Update command_injection.rdoc 2024-01-22 12:06:00 +09:00
contributing.md Add information from doc/hacking.md and doc/make_cheatsheet.md back i… (#5963) 2022-05-30 23:50:39 -04:00
dig_methods.rdoc Adding doc/dig_methods.rdoc and links to it (#3416) 2020-08-13 13:16:27 -05:00
distribution.md Add Building the Tarball section in distribution docs 2023-02-07 20:27:53 +01:00
dtrace_probes.rdoc [DOC] Marked dtrace arguments as description list [ci skip] 2020-12-19 15:34:37 +09:00
encodings.rdoc [DOC] Fix typo in example code for `String#encode` method 2024-05-14 08:22:36 +00:00
exceptions.md [DOC] Doc for exceptions (#11008) 2024-06-26 13:31:40 -04:00
extension.ja.rdoc [DOC] Caveat about "allocate then wrap" 2024-04-26 18:17:09 +09:00
extension.rdoc [DOC] Caveat about "allocate then wrap" 2024-04-26 18:17:09 +09:00
fiber.md Mark IO::Buffer as experimental. 2021-11-10 19:21:05 +13:00
format_specifications.rdoc [Bug #20566] Mention out-of-range argument cases in `String#<<` 2024-06-09 10:11:06 +09:00
forwardable.rd.ja [DOC] Fix typo in Forwardable docs 2024-10-02 14:13:00 +09:00
globals.rdoc [DOC] Add `$;` to the list of deprecated global variables 2024-08-17 19:36:22 +09:00
implicit_conversion.rdoc [DOC] Adjust heading levels 2023-11-14 15:56:58 +09:00
maintainers.md Update maintainers of Prism 2024-10-17 11:37:45 -04:00
marshal.rdoc [DOC] fix small mistake in doc/marshal.rdoc [ci skip] 2021-10-03 11:09:08 +09:00
memory_view.md Fix typos [ci skip] 2022-03-04 11:28:25 +09:00
packed_data.rdoc [DOC] Refine about offset directives 2024-09-29 19:07:16 +09:00
ractor.md [DOC] clarify situation for Ractor#send of T_DATA objects. 2024-01-02 08:13:37 +09:00
security.rdoc [DOC] security.rdoc: fix YAML security documentation 2024-03-11 16:26:14 +09:00
signals.rdoc doc/signals.rdoc: Clarify a bit where Signal.trap handlers are executed 2019-04-07 11:26:27 +00:00
standard_library.rdoc Document about csv at Ruby 3.4 2024-01-22 18:23:05 +09:00
strftime_formatting.rdoc Use www.rfc-editor.org for RFC text. 2024-03-28 11:44:45 +09:00
syntax.rdoc doc: Remove description of experimental warnings related pattern matching from documentation 2024-09-25 07:06:42 +09:00
windows.md Mentioned new mswin tasks related with vcpkg 2024-06-26 14:45:24 +09:00
yarvarch.en delete tool/instruction.rb (2nd try) 2018-01-12 08:38:09 +00:00
yarvarch.ja delete tool/instruction.rb (2nd try) 2018-01-12 08:38:09 +00:00