summaryrefslogtreecommitdiff
path: root/ruby.c
AgeCommit message (Collapse)Author
2021-11-18Add --yjit-no-type-prop so we can test YJIT without type propagation (#5135)Maxime Chevalier-Boisvert
* Add --yjit-no-type-prop so we can test YJIT without type propagation * Fix typo in command line option * Leave just two test workflows enable for YJIT Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2021-10-25[Feature #18239] Implement VWA for stringsPeter Zhu
This commit adds support for embedded strings with variable capacity and uses Variable Width Allocation to allocate strings. Notes: Merged: https://github.com/ruby/ruby/pull/4933
2021-10-21Fix TestRubyOptions#test_enable for -DMJIT_FORCE_ENABLETakashi Kokubun
--enable=all didn't work when cppflags=-DMJIT_FORCE_ENABLE was given.
2021-10-21Force disable yjit on OpenBSDJeremy Evans
TestRubyOptions#test_enable was broken on OpenBSD after the yjit merge. --yjit (and --enable-all, which enables --yjit) fails on OpenBSD because yjit uses an insecure mmap call (both writable and executable), in alloc_exec_mem, which OpenBSD does not allow. This can probably be reverted if yjit switches to a more secure mmap design (writable xor executable). This would involve initially calling mmap with PROT_READ | PROT_WRITE, and after writing of executable code has finished, using mprotect to switch to PROT_READ | PROT_EXEC. I believe Firefox uses this approach for their Javascript engine since Firefox 46.
2021-10-20Fix indentation in ruby.cAlan Wu
2021-10-20Warn when trying to use YJIT in --disable-jit-support buildsAlan Wu
2021-10-20Show --yjit in help messageAlan Wu
2021-10-20Improve YJIT command line option parsingAlan Wu
Previously, options such as "--yjit123" would enable YJIT. Additionally, the error message for argument parsing mentioned "--jit-..." instead of "--yjit-...".
2021-10-20YJIT_STATS instead of RUBY_DEBUG for --yjit-stats in help printoutAlan Wu
2021-10-20Say YJIT is disabled by default in ruby --helpAlan Wu
2021-10-20Style fix in ruby.cAlan Wu
2021-10-20Don't enable YJIT by default. More tests on both Ubuntu and MacOS.Noah Gibbs
Add RUBY_YJIT_ENABLE env var and YJIT_FORCE_ENABLE compile-time constant. Rename YJIT_STATS to RUBY_YJIT_STATS.
2021-10-20Reduce line length for YJIT option descriptionsNoah Gibbs
2021-10-20Document YJIT options in --helpNoah Gibbs
2021-10-20is this right?Aaron Patterson
2021-10-20Don't check MJIT if it's not enabledAaron Patterson
2021-10-20Disable YJIT by default if MJIT_FORCE_ENABLE is onAaron Patterson
Compile time flag seems pretty forceful, so let MJIT turn on by default if it is used.
2021-10-20disable MJIT when --enable-all is setAaron Patterson
2021-10-20Update ruby.cMaxime Chevalier-Boisvert
2021-10-20Exit if YJIT and MJIT are both enabledAaron Patterson
YJIT and MJIT can't be running in the same process otherwise they'll clobber each other. We should show an error and exit if they're both enabled.
2021-10-20Try running with more YJIT options in CI to surface more bugsMaxime Chevalier-Boisvert
2021-10-20Increase default YJIT call threshold to 10. Add exec mem size arg. (#52)Maxime Chevalier-Boisvert
2021-10-20Implement greedy versioning. Refactor versioning logic. (#10)Maxime Chevalier-Boisvert
* Implement eager versioning. Refactor versioning logic. * Add --version-limit and --greedy-versioning command-line args
2021-10-20Yet Another Ruby JIT!Jose Narvaez
Renaming uJIT to YJIT. AKA s/ujit/yjit/g.
2021-10-20Implement --ujit-call-thresholdMaxime Chevalier-Boisvert
2021-10-20Report unknown --ujit-* optionsMaxime Chevalier-Boisvert
2021-10-20Implement --ujit-stats and instructoin countingAlan Wu
VM and ujit instruction counting in debug builds. shopify/ruby#19
2021-10-20Refactor uJIT code into more files for readabilityMaxime Chevalier-Boisvert
2021-10-20Show whether MicroJIT is enabled in the version stringAlan Wu
2021-10-20Fix mistake in ujit command line parsingAlan Wu
2021-10-20Implement the --disable-ujit command line optionAlan Wu
2021-10-01Skip broken strings as the locale encodingNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4915
2021-10-01Replace expanded load path only when modifiedNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4915
2021-10-01Copy path strings as interned stringsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4915
2021-10-01Fix the encoding of loaded feature names [Bug #18191]Nobuyoshi Nakada
The feature names loaded from the default load paths should also be in the file system encoding. Notes: Merged: https://github.com/ruby/ruby/pull/4915
2021-09-10include/ruby/internal/interpreter.h: add doxygen卜部昌平
Must not be a bad idea to improve documents. [ci skip] In fact many functions declared in the header file are already documented more or less. They were just copy & pasted, with applying some style updates. Notes: Merged: https://github.com/ruby/ruby/pull/4815
2021-09-05Replace RBOOL macroS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/4791
2021-07-06Suppress unused-but-set-variable warningNobuyoshi Nakada
2021-06-29Rename error_squiggle to error_highlightYusuke Endoh
Notes: Merged: https://github.com/ruby/ruby/pull/4586
2021-06-29[WIP] add error_squiggle gemYusuke Endoh
``` $ ./local/bin/ruby -e '1.time {}' -e:1:in `<main>': undefined method `time' for 1:Integer (NoMethodError) 1.time {} ^^^^^ Did you mean? times ``` https://bugs.ruby-lang.org/issues/17930 Notes: Merged: https://github.com/ruby/ruby/pull/4586
2021-06-22Deprecate and rework old (fd) centric functions.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/4592
2021-06-10Freeze command line scriptNobuyoshi Nakada
2021-05-04Fix trivial -Wundef warningsBenoit Daloze
* See [Feature #17752] Co-authored-by: xtkoba (Tee KOBAYASHI) <xtkoba+ruby@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/4428
2021-03-24Removed dln_a_outNobuyoshi Nakada
a.out format is considered extinct nowadays. Notes: Merged: https://github.com/ruby/ruby/pull/4317 Merged-By: nobu <nobu@ruby-lang.org>
2021-03-17[Feature #17684] Declare --disable-gems is for debuggingNARUSE, Yui
2021-03-12Constified variables for getenvNobuyoshi Nakada
2021-03-06Keep libpath length non-negative [Bug #16784]Yusuke Endoh
When runtime_libruby_path does not include '/', it attempts to call rb_str_resize with negative length. This change makes sure that the length non-negative. Co-Authored-By: xtkoba (Tee KOBAYASHI) <xtkoba+ruby@gmail.com>
2021-02-20Fixed fallback ENABLE_VIRTUAL_TERMINAL_PROCESSING value [Bug #17639]YO4 (Yoshinao Muramatsu)
2021-01-24Moved --verbose, --verbose and --help options to last [ci skip]Nobuyoshi Nakada
2021-01-13Make warning values consistent [Bug #17523]Nobuyoshi Nakada
They should be affected, as well as `$VERBOSE`, by `-w`/`-W` options, not only in the main script but in scripts loaded by `-r` option too. Notes: Merged: https://github.com/ruby/ruby/pull/4042