Marshal
dumps exit locations to the given filename.
Usage:
If --yjit-exit-locations
is passed, a file named “yjit_exit_locations.dump” will automatically be generated.
If you want to collect traces manually, call dump_exit_locations
directly.
Note that calling this in a script will generate stats after the dump is created, so the stats data may include exits from the dump itself.
In a script call:
at_exit do RubyVM::YJIT.dump_exit_locations("my_file.dump") end
Then run the file with the following options:
ruby --yjit --yjit-trace-exits test.rb
Once the code is done running, use Stackprof to read the dump file. See Stackprof documentation for options.
if /foo #{bar}/ then end
^^^^^^^^^^^^
if /foo #{bar}/ then end
^^^^^^^^^^^^
Starts tracing object allocations.
Stop tracing object allocations.
Note that if ::trace_object_allocations_start
is called n-times, then tracing will stop after calling ::trace_object_allocations_stop
n-times.
Clear recorded tracing information.
Open a file with given flags, and protect access with a file lock
Open a file with given flags, and protect access with flock
If the SOURCE_DATE_EPOCH environment variable is set, returns it’s value. Otherwise, returns the time that Gem.source_date_epoch_string
was first called in the same format as SOURCE_DATE_EPOCH.
NOTE(@duckinator): The implementation is a tad weird because we want to:
1. Make builds reproducible by default, by having this function always return the same result during a given run. 2. Allow changing ENV['SOURCE_DATE_EPOCH'] at runtime, since multiple tests that set this variable will be run in a single process.
If you simplify this function and a lot of tests fail, that is likely due to #2 above.
Details on SOURCE_DATE_EPOCH: reproducible-builds.org/specs/source-date-epoch/
SyntaxSuggest.module_for_detailed_message
[Private]
Used to monkeypatch SyntaxError
via Module.prepend
Creates a State
object from opts, which ought to be Hash
to create a new State
instance configured by opts, something else to create an unconfigured instance. If opts is a State
object, it is just returned.
Returns the string that is used to insert a space before the ‘:’ in JSON
objects.
Sets the string that is used to insert a space before the ‘:’ in JSON
objects.
Returns true, if NaN, Infinity, and -Infinity should be generated, otherwise returns false.
This sets whether or not to serialize NaN, Infinity, and -Infinity
Generates a valid JSON
document from object obj
and returns the result. If no valid JSON
document can be created this method raises a GeneratorError
exception.
Sets the curve parameters. generator must be an instance of EC::Point
that is on the curve. order and cofactor are integers.
See the OpenSSL
documentation for EC_GROUP_set_generator()
Visit a numeric node and account for the optional sign.
Parse an integer from the string representation.
Parse a complex from the string representation.