| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
* See [Feature #17752]
Co-authored-by: xtkoba (Tee KOBAYASHI) <xtkoba+ruby@gmail.com>
|
|
|
|
| |
Not all preprocessors work with output option.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This reverts commit 331f0bc1cb7965bec9aed5d7278360c2e9fc8946.
It seems a mistake.
|
| |
|
|
|
|
|
|
|
|
| |
because the name "MJIT" is an internal code name, it's inconsistent with
--jit while they are related to each other, and I want to discourage future
JIT implementation-specific (e.g. MJIT-specific) APIs by this rename.
[Feature #17490]
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
`cd` is passed to method call functions to method invocation
functions, but `cd` can be manipulated by other ractors simultaneously
so it contains thread-safety issue.
To solve this issue, this patch stores `ci` and found `cc` to `calling`
and stops to pass `cd`.
|
|
|
|
|
|
|
|
| |
This reverts commit 4d2c8edca69884a41d2f843d36023e3decdb9872.
Unfortunately this seems to cause several issues:
https://github.com/ruby/ruby/runs/1462188376?check_suite_focus=true
http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3272802
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Performance is probably improved?
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-11-27T04:37:47Z master 69e77e81dc) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-11-27T05:28:19Z master df6b05c6dd) +JIT [x86_64-linux]
last_commit=Set VM_FRAME_FLAG_FINISH at once
Calculating -------------------------------------
before --jit after --jit
Optcarrot Lan_Master.nes 80.89292998533379 82.19497327502751 fps
80.93130641142331 85.13943315260148
81.06214830270119 87.43757879797808
82.29172808453910 87.89942441487113
84.61206450455929 87.91309779491075
85.44545883567997 87.98026086648694
86.02923132404449 88.03081060383973
86.07411817365879 88.14650206137341
86.34348799602836 88.32791633649961
87.90257338977324 88.57599644892220
88.58006509876580 88.67426384743277
89.26611118140011 88.81669430874207
This should have no bad impact on VM because this function is ALWAYS_INLINE.
|
| |
|
| |
|
|
|
|
|
| |
Isolated Proc prohibit to access outer local variables, but it was
violated by binding and so on, so they should be error.
|
| |
|
|
|
|
| |
Nobody uses this macro any longer.
|
|
|
|
|
| |
Clang 12 warns "suspicious concatenation of string literals in an array
initialization", which is rather annoying than useful in this context.
|
|
|
|
| |
Do not repeat yourself.
|
|
|
|
|
| |
Exclude linker flags for external libraries used by no longer
built extension libraries when static-linked-ext.
|
|
|
|
|
| |
Consider the libraries, which remain exts.mk but not listed in
ext/configure-ext.mk, removed.
|
| |
|
| |
|
| |
|
|
|
|
| |
Scripts to run the interpreter via debugger.
|
| |
|
| |
|
| |
|
|
|
|
| |
`RubyVM.each_builtin` is not defined when cross compiling.
|
|
|
|
| |
To generate what is necessary via generic_erb.rb instead.
|
|
|
|
| |
To generate what is necessary via generic_erb.rb instead.
|
|
|
| |
Split ruby.h
|
|
|
|
|
| |
This reverts commit 4a6571dbc14ee4e88c12cd9931f7695077a3ee6e,
because chkbuild does not follow.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
And then the environment variable.
|
| |
|
|
|
|
|
|
|
| |
Predefined macros are practices not very well recommended, but can be
better than having no documents at all. Without those predefined
macros, Doxygen confused for instace PUREFUNC(int foo()) to be a
declaration of PUREFUNC, not foo.
|
|
|
|
|
| |
Use `"\n"` and `IO#fileno` instead of `$/` and `$.` respectively.
[Feature #14240]
|
|
|
|
|
|
|
| |
* Remove builtin_binary.inc which is generated for each time
miniruby is built.
* dSYM is a directory, not a file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Saves comitters' daily life by avoid #include-ing everything from
internal.h to make each file do so instead. This would significantly
speed up incremental builds.
We take the following inclusion order in this changeset:
1. "ruby/config.h", where _GNU_SOURCE is defined (must be the very
first thing among everything).
2. RUBY_EXTCONF_H if any.
3. Standard C headers, sorted alphabetically.
4. Other system headers, maybe guarded by #ifdef
5. Everything else, sorted alphabetically.
Exceptions are those win32-related headers, which tend not be self-
containing (headers have inclusion order dependencies).
|
|
|
|
|
|
|
|
|
| |
prelude.c is an automatically generated file by template/prelude.c.tmpl.
However it does not contain any required functions. So remove it from
dependency.
Also miniprelude.c is included by mini_builtin.c and does not need
to make miniprelude.o.
|
|
|
|
|
| |
`gem_prelude.rb` is not compiled yet. This patch compile it to
compiled binary.
|
|
|
|
|
|
|
|
|
| |
The script in prelude.rb was embed in MRI to load it (eval this
script at everyboot).
This commit change the loading process of prelude.rb. MRI doesn't
eval a script, but load from compiled binary with builtin feature.
So that Init_prelude() does not load `prelude.rb` now.
|
| |
|