Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | ruby.c: initialize extra optional extensions linked statically | Yuta Saito | 2022-01-19 | 1 | -0/+10 |
| | | | | | | | Add a hook point to initialize extra extension libraries. The default hook function is replaced when linking a strong `Init_extra_exts` symbol. A builder can insert an object file that defines Init_extra_exts by XLDFLAGS. | ||||
* | [Feature #18491] Drop support for HP-UX | Peter Zhu | 2022-01-18 | 1 | -4/+0 |
| | | | | | IA64 support was dropped in ticket #15894, so we can drop support for HP-UX. | ||||
* | `O_NONBLOCK` is not always a preprocessor constant on all platforms | Nobuyoshi Nakada | 2022-01-16 | 1 | -6/+7 |
| | |||||
* | Transfer the responsibility for MJIT options to mjit.c | Nobuyoshi Nakada | 2022-01-15 | 1 | -117/+14 |
| | |||||
* | Define the default JIT feature bit | Nobuyoshi Nakada | 2022-01-15 | 1 | -15/+10 |
| | |||||
* | Show JIT options only when supported | Nobuyoshi Nakada | 2022-01-12 | 1 | -1/+17 |
| | |||||
* | Fix compile errors | Kazuhiro NISHIYAMA | 2022-01-11 | 1 | -1/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` compiling ../ruby.c ../ruby.c:1547:17: error: implicit declaration of function 'setup_yjit_options' is invalid in C99 [-Werror,-Wimplicit-function-declaration] setup_yjit_options(s, &opt->yjit); ^ ../ruby.c:1547:17: note: did you mean 'setup_mjit_options'? ../ruby.c:1122:1: note: 'setup_mjit_options' declared here setup_mjit_options(const char *s, struct mjit_options *mjit_opt) ^ ../ruby.c:1547:45: error: no member named 'yjit' in 'struct ruby_cmdline_options'; did you mean 'mjit'? setup_yjit_options(s, &opt->yjit); ^~~~ mjit ../ruby.c:192:25: note: 'mjit' declared here struct mjit_options mjit; ^ ../ruby.c:1924:28: error: no member named 'yjit' in 'struct ruby_cmdline_options'; did you mean 'mjit'? rb_yjit_init(&opt->yjit); ^~~~ mjit ../ruby.c:192:25: note: 'mjit' declared here struct mjit_options mjit; ^ 3 errors generated. ``` | ||||
* | Use `setup_yjit_options` only when supported | Nobuyoshi Nakada | 2022-01-11 | 1 | -16/+13 |
| | |||||
* | Reject command line option ending with `-` | Nobuyoshi Nakada | 2022-01-11 | 1 | -1/+2 |
| | |||||
* | Define YJIT options only when supported | Nobuyoshi Nakada | 2022-01-11 | 1 | -0/+2 |
| | |||||
* | Fix default --jit-max-cache in `ruby --help` | Kazuhiro NISHIYAMA | 2022-01-10 | 1 | -1/+1 |
| | | | | changed at 028f1887c2bfa50dcfc1b623470d6ab1b880fdde | ||||
* | Add `=num` to yjit options | Kazuhiro NISHIYAMA | 2022-01-09 | 1 | -5/+5 |
| | | | | `--yjit-call-threshold` and `--yjit-max-versions` need an argument. | ||||
* | Fix crash on bootup when RGENGC_CHECK_MODE=2 with GC stress | Peter Zhu | 2022-01-04 | 1 | -1/+4 |
| | | | | | | We need to unshare the array loaded_features because the shared root could be old gen (while loaded_features is young) which causes a WB miss. | ||||
* | Rename --jit to --mjit (#5248) | Takashi Kokubun | 2021-12-13 | 1 | -20/+42 |
| | | | | | | | | | | | | | | | * Rename --jit to --mjit [Feature #18349] * Fix a few more --jit references * Fix MJIT Actions * More s/jit/mjit/ and re-introduce --disable-jit * Update NEWS.md * Fix test_bug_reporter_add | ||||
* | ruby.c: Fix typo | Yusuke Endoh | 2021-12-13 | 1 | -1/+1 |
| | |||||
* | Introduce an option "--dump=insns_without_opt" for debugging purposes | Yusuke Endoh | 2021-12-13 | 1 | -3/+6 |
| | |||||
* | Revert "Force disable yjit on OpenBSD" | Aaron Patterson | 2021-12-01 | 1 | -6/+0 |
| | | | | This reverts commit 119626da947bf6492ef7a27abf3bf12de5d0d95a. | ||||
* | Add --yjit-no-type-prop so we can test YJIT without type propagation (#5135) | Maxime Chevalier-Boisvert | 2021-11-18 | 1 | -0/+3 |
| | | | | | | | * 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 | ||||
* | [Feature #18239] Implement VWA for strings | Peter Zhu | 2021-10-25 | 1 | -1/+6 |
| | | | | | This commit adds support for embedded strings with variable capacity and uses Variable Width Allocation to allocate strings. | ||||
* | Fix TestRubyOptions#test_enable for -DMJIT_FORCE_ENABLE | Takashi Kokubun | 2021-10-21 | 1 | -0/+5 |
| | | | | --enable=all didn't work when cppflags=-DMJIT_FORCE_ENABLE was given. | ||||
* | Force disable yjit on OpenBSD | Jeremy Evans | 2021-10-21 | 1 | -0/+6 |
| | | | | | | | | | | | | | | 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. | ||||
* | Fix indentation in ruby.c | Alan Wu | 2021-10-20 | 1 | -2/+2 |
| | |||||
* | Warn when trying to use YJIT in --disable-jit-support builds | Alan Wu | 2021-10-20 | 1 | -0/+4 |
| | |||||
* | Show --yjit in help message | Alan Wu | 2021-10-20 | 1 | -0/+1 |
| | |||||
* | Improve YJIT command line option parsing | Alan Wu | 2021-10-20 | 1 | -10/+22 |
| | | | | | | Previously, options such as "--yjit123" would enable YJIT. Additionally, the error message for argument parsing mentioned "--jit-..." instead of "--yjit-...". | ||||
* | YJIT_STATS instead of RUBY_DEBUG for --yjit-stats in help printout | Alan Wu | 2021-10-20 | 1 | -1/+1 |
| | |||||
* | Say YJIT is disabled by default in ruby --help | Alan Wu | 2021-10-20 | 1 | -1/+1 |
| | |||||
* | Style fix in ruby.c | Alan Wu | 2021-10-20 | 1 | -1/+1 |
| | |||||
* | Don't enable YJIT by default. More tests on both Ubuntu and MacOS. | Noah Gibbs | 2021-10-20 | 1 | -1/+6 |
| | | | | | Add RUBY_YJIT_ENABLE env var and YJIT_FORCE_ENABLE compile-time constant. Rename YJIT_STATS to RUBY_YJIT_STATS. | ||||
* | Reduce line length for YJIT option descriptions | Noah Gibbs | 2021-10-20 | 1 | -2/+2 |
| | |||||
* | Document YJIT options in --help | Noah Gibbs | 2021-10-20 | 1 | -2/+14 |
| | |||||
* | is this right? | Aaron Patterson | 2021-10-20 | 1 | -0/+1 |
| | |||||
* | Don't check MJIT if it's not enabled | Aaron Patterson | 2021-10-20 | 1 | -0/+2 |
| | |||||
* | Disable YJIT by default if MJIT_FORCE_ENABLE is on | Aaron Patterson | 2021-10-20 | 1 | -1/+2 |
| | | | | | Compile time flag seems pretty forceful, so let MJIT turn on by default if it is used. | ||||
* | disable MJIT when --enable-all is set | Aaron Patterson | 2021-10-20 | 1 | -0/+1 |
| | |||||
* | Update ruby.c | Maxime Chevalier-Boisvert | 2021-10-20 | 1 | -1/+1 |
| | |||||
* | Exit if YJIT and MJIT are both enabled | Aaron Patterson | 2021-10-20 | 1 | -2/+7 |
| | | | | | | 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. | ||||
* | Try running with more YJIT options in CI to surface more bugs | Maxime Chevalier-Boisvert | 2021-10-20 | 1 | -2/+2 |
| | |||||
* | Increase default YJIT call threshold to 10. Add exec mem size arg. (#52) | Maxime Chevalier-Boisvert | 2021-10-20 | 1 | -1/+4 |
| | |||||
* | Implement greedy versioning. Refactor versioning logic. (#10) | Maxime Chevalier-Boisvert | 2021-10-20 | 1 | -0/+6 |
| | | | | | | * Implement eager versioning. Refactor versioning logic. * Add --version-limit and --greedy-versioning command-line args | ||||
* | Yet Another Ruby JIT! | Jose Narvaez | 2021-10-20 | 1 | -14/+14 |
| | | | | Renaming uJIT to YJIT. AKA s/ujit/yjit/g. | ||||
* | Implement --ujit-call-threshold | Maxime Chevalier-Boisvert | 2021-10-20 | 1 | -3/+4 |
| | |||||
* | Report unknown --ujit-* options | Maxime Chevalier-Boisvert | 2021-10-20 | 1 | -0/+4 |
| | |||||
* | Implement --ujit-stats and instructoin counting | Alan Wu | 2021-10-20 | 1 | -5/+22 |
| | | | | | | VM and ujit instruction counting in debug builds. shopify/ruby#19 | ||||
* | Refactor uJIT code into more files for readability | Maxime Chevalier-Boisvert | 2021-10-20 | 1 | -1/+1 |
| | |||||
* | Show whether MicroJIT is enabled in the version string | Alan Wu | 2021-10-20 | 1 | -2/+2 |
| | |||||
* | Fix mistake in ujit command line parsing | Alan Wu | 2021-10-20 | 1 | -1/+1 |
| | |||||
* | Implement the --disable-ujit command line option | Alan Wu | 2021-10-20 | 1 | -0/+10 |
| | |||||
* | Skip broken strings as the locale encoding | Nobuyoshi Nakada | 2021-10-01 | 1 | -4/+7 |
| | |||||
* | Replace expanded load path only when modified | Nobuyoshi Nakada | 2021-10-01 | 1 | -1/+5 |
| |