Aaron Patterson
afc5db43ca
is this right?
2021-10-20 18:19:40 -04:00
Aaron Patterson
b78c50d800
Don't check MJIT if it's not enabled
2021-10-20 18:19:40 -04:00
Aaron Patterson
9d5beb6fde
Disable YJIT by default if MJIT_FORCE_ENABLE is on
...
Compile time flag seems pretty forceful, so let MJIT turn on by default
if it is used.
2021-10-20 18:19:40 -04:00
Aaron Patterson
ea453acf59
disable MJIT when --enable-all is set
2021-10-20 18:19:40 -04:00
Maxime Chevalier-Boisvert
a1d42c37f4
Update ruby.c
2021-10-20 18:19:40 -04:00
Aaron Patterson
234ab816ba
Exit if YJIT and MJIT are both enabled
...
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-20 18:19:40 -04:00
Maxime Chevalier-Boisvert
7030cae969
Try running with more YJIT options in CI to surface more bugs
2021-10-20 18:19:36 -04:00
Maxime Chevalier-Boisvert
b415ceb92e
Increase default YJIT call threshold to 10. Add exec mem size arg. ( #52 )
2021-10-20 18:19:35 -04:00
Maxime Chevalier-Boisvert
96f4f918b0
Implement greedy versioning. Refactor versioning logic. ( #10 )
...
* Implement eager versioning. Refactor versioning logic.
* Add --version-limit and --greedy-versioning command-line args
2021-10-20 18:19:34 -04:00
Jose Narvaez
4e2eb7695e
Yet Another Ruby JIT!
...
Renaming uJIT to YJIT. AKA s/ujit/yjit/g.
2021-10-20 18:19:31 -04:00
Maxime Chevalier-Boisvert
0710bec01e
Implement --ujit-call-threshold
2021-10-20 18:19:30 -04:00
Maxime Chevalier-Boisvert
a14015e9b5
Report unknown --ujit-* options
2021-10-20 18:19:28 -04:00
Alan Wu
b7f93e81df
Implement --ujit-stats and instructoin counting
...
VM and ujit instruction counting in debug builds.
shopify/ruby#19
2021-10-20 18:19:27 -04:00
Maxime Chevalier-Boisvert
e4c65ec49c
Refactor uJIT code into more files for readability
2021-10-20 18:19:26 -04:00
Alan Wu
726bdd4d35
Show whether MicroJIT is enabled in the version string
2021-10-20 18:19:24 -04:00
Alan Wu
a8d784888d
Fix mistake in ujit command line parsing
2021-10-20 18:19:24 -04:00
Alan Wu
e8c914c250
Implement the --disable-ujit command line option
2021-10-20 18:19:24 -04:00
Nobuyoshi Nakada
842b0008c1
Skip broken strings as the locale encoding
2021-10-01 20:28:44 +09:00
Nobuyoshi Nakada
409dbc951b
Replace expanded load path only when modified
2021-10-01 20:28:44 +09:00
Nobuyoshi Nakada
b6534691a1
Copy path strings as interned strings
2021-10-01 20:28:44 +09:00
Nobuyoshi Nakada
60d0421ca8
Fix the encoding of loaded feature names [Bug #18191 ]
...
The feature names loaded from the default load paths should also
be in the file system encoding.
2021-10-01 20:28:44 +09:00
卜部昌平
f83b14af24
include/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.
2021-09-10 20:00:06 +09:00
S-H-GAMELINKS
bdd6d8746f
Replace RBOOL macro
2021-09-05 23:01:27 +09:00
Nobuyoshi Nakada
3db7f6353f
Suppress unused-but-set-variable warning
2021-07-06 00:09:27 +09:00
Yusuke Endoh
9438c99590
Rename error_squiggle to error_highlight
2021-06-29 23:45:49 +09:00
Yusuke Endoh
e946049665
[WIP] add error_squiggle gem
...
```
$ ./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
2021-06-29 23:45:49 +09:00
Samuel Williams
45e65f302b
Deprecate and rework old (fd) centric functions.
2021-06-22 22:48:57 +12:00
Nobuyoshi Nakada
791d7d4947
Freeze command line script
2021-06-10 15:15:35 +09:00
Benoit Daloze
68d6bd0873
Fix trivial -Wundef warnings
...
* See [Feature #17752 ]
Co-authored-by: xtkoba (Tee KOBAYASHI) <xtkoba+ruby@gmail.com>
2021-05-04 14:56:55 +02:00
Nobuyoshi Nakada
1f08b0d18d
Removed dln_a_out
...
a.out format is considered extinct nowadays.
2021-03-24 20:13:55 +09:00
NARUSE, Yui
d58daad37b
[Feature #17684 ] Declare --disable-gems is for debugging
2021-03-17 15:36:05 +09:00
Nobuyoshi Nakada
90c12defb3
Constified variables for getenv
2021-03-12 17:13:53 +09:00
Yusuke Endoh
8ccc12118e
Keep libpath length non-negative [Bug #16784 ]
...
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-03-06 00:50:09 +09:00
YO4 (Yoshinao Muramatsu)
b94b7965c4
Fixed fallback ENABLE_VIRTUAL_TERMINAL_PROCESSING value [Bug #17639 ]
2021-02-20 00:50:57 +09:00
Nobuyoshi Nakada
d6e43e4723
Moved --verbose, --verbose and --help options to last [ci skip]
2021-01-24 14:59:41 +09:00
Nobuyoshi Nakada
6f6dfdcc68
Make warning values consistent [Bug #17523 ]
...
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.
2021-01-13 18:12:49 +09:00
Nobuyoshi Nakada
dc13bd22bb
Ignore failure on unsupported fcntl to drop non-blocking mode
...
Fixes https://github.com/ruby/ruby/pull/3723
2020-12-26 09:45:06 +09:00
Nobuyoshi Nakada
b9d00f42e6
Enable escape sequence on Windows10 console via pager too
2020-12-21 18:12:02 +09:00
Jeremy Evans
05313c914b
Use category: :deprecated in warnings that are related to deprecation
...
Also document that both :deprecated and :experimental are supported
:category option values.
The locations where warnings were marked as deprecation warnings
was previously reviewed by shyouhei.
Comment a couple locations where deprecation warnings should probably
be used but are not currently used because deprecation warning
enablement has not occurred at the time they are called
(RUBY_FREE_MIN, RUBY_HEAP_MIN_SLOTS, -K).
Add assert_deprecated_warn to test assertions. Use this to simplify
some tests, and fix failing tests after marking some warnings with
deprecated category.
2020-12-18 09:54:11 -08:00
Nobuyoshi Nakada
8b32191a31
Ignore failure on unsupported fcntl to drop non-blocking mode
2020-12-16 17:54:43 +09:00
Jeremy Evans
dca13e2bf7
Make ruby -We the same as ruby -W -e
...
This changes the behavior, which I'm not sure is acceptable.
However, it's odd to allow an option to be combined, but change
the behavior of the option when combined.
2020-12-10 10:16:40 -08:00
Kenta Murata
146b3695c0
ruby.c: remove needless substitution of uenc
...
uenc has already been initialized the top of the function.
2020-12-08 02:10:03 +09:00
Lars Kanis
94b6933d1c
Set default for Encoding.default_external to UTF-8 on Windows ( #2877 )
...
* Use UTF-8 as default for Encoding.default_external on Windows
* Document UTF-8 change on Windows to Encoding.default_external
fix https://bugs.ruby-lang.org/issues/16604
2020-12-08 01:48:37 +09:00
Nobuyoshi Nakada
afd765f2ee
Initialize UTF-8 encoding first as it is used always now
2020-11-23 09:45:17 +09:00
Koichi Sasada
99310e3eb5
Some global variables can be accessed from ractors
...
Some global variables should be used from non-main Ractors.
[Bug #17268 ]
```ruby
# ractor-local (derived from created ractor): debug
'$DEBUG' => $DEBUG,
'$-d' => $-d,
# ractor-local (derived from created ractor): verbose
'$VERBOSE' => $VERBOSE,
'$-w' => $-w,
'$-W' => $-W,
'$-v' => $-v,
# process-local (readonly): other commandline parameters
'$-p' => $-p,
'$-l' => $-l,
'$-a' => $-a,
# process-local (readonly): getpid
'$$' => $$,
# thread local: process result
'$?' => $?,
# scope local: match
'$~' => $~.inspect,
'$&' => $&,
'$`' => $`,
'$\'' => $',
'$+' => $+,
'$1' => $1,
# scope local: last line
'$_' => $_,
# scope local: last backtrace
'$@' => $@,
'$!' => $!,
# ractor local: stdin, out, err
'$stdin' => $stdin.inspect,
'$stdout' => $stdout.inspect,
'$stderr' => $stderr.inspect,
```
2020-10-20 15:38:54 +09:00
Nobuyoshi Nakada
996af2ce08
Disable deprecation warning by the default [Feature #16345 ]
...
And `-w` option turns it on.
2020-09-25 09:50:33 +09:00
Nobuyoshi Nakada
0dbf6e46fb
[Feature #17157 ] removed -T command line option
2020-09-07 00:59:53 +09:00
卜部昌平
7cf4625690
feature_option: do not goto into a branch
...
I'm not necessarily against every goto in general, but jumping into a
branch is definitely a bad idea. Better refactor.
2020-06-29 11:05:41 +09:00
Nobuyoshi Nakada
9ce2066209
Improved error messages for mjit option
...
and default jit-verbose to 1 if no argument.
2020-06-23 10:01:24 +09:00
Nobuyoshi Nakada
2c3c6c96cf
Defer initialization
...
Defer initialization of extension libraries, loading prelude files
and requiring files, and skip if dump options are given.
2020-05-16 17:37:28 +09:00