Age | Commit message (Collapse) | Author |
|
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).
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
The same as 41bc766763dba63ae2529f2f9070b8e26399745c. Read that commit
for what is happening.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
These headers need no rewrite. Just add some minor tweaks, like
addition of #include lines. Mainly cosmetic.
TIMET_MAX_PLUS_ONE was deleted because the macro was used from only
one place (directly write expression there).
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Rearranged contents, then added MJIT_FUNC_EXPORTED function
declarations.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Rather trivial, added missed MJIT_FUNC_EXPORTED function declaration.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Some declatations are moved from internal/parse.h, to reflect the fact
that they are defined in symbol.c.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Reduced the number of macros defined in the file. Also made it explicit
for MJIT_FUNC_EXPORTTED functions to be so.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Eliminate macros for better readability.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Eliminated the macro to convert into an inline function.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Annotated MJIT_FUNC_EXPORTED functions as such. Declaration of
rb_sym_to_proc is moved into this file because the function is defined
in proc.c rather than string.c.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Eliminated macros. As a side effect struct RBasicRaw is no longer
required because we can now define anonymous structs inside of inline
functions.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Improved readability by reducing the use of macros. Also moved some
part of internal/compilers.h into this file, because it seems to be the
right place for them.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Rearrange macro orders for better readability.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Reduce macros for readability. Also transplanted some part of
internal/file.h into here because the delcared functions are in fact
defined in error.c.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
This file containes other materials than in compile.c. I could perhaps
split them into files, but felt overkill. Just add comments that
describe the situations.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Rearrange contents for better readability, reduce macros for the same
reason, and mark MJIT_FUNC_EXPORTED functions as such.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Eliminated macros. Also marked MJIT_FUNC_EXPORTED functions as such.
Some of them are declared in constant.h so edited that file also.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Arrange contents and eliminate macros, to make them readable.
Macro IFUNC_NEW was deleted because there was only one usage.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
This file has almost nothing to do. Added some #ifdef lines and
rearranged file contents.
Those macros are unable to translate into inline functions, because they
are used as lvalues of assignments.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Replace macros with inline functions of equivalent contents, for much
improved readability.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Reduce macros to make them inline functions, as well as mark
MJIT_FUNC_EXPORTED functions explicitly as such.
Definition of ar_hint_t is simplified. This has been the only possible
definition so far.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Marked MJIT_FUNC_EXPORTED functions as such. Other changes are rather
cosmetic.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Turn macros into inline functions for better readability. Also add
rb_int128t2big delcaration, which was missing.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Add #include lines, move FIXNUM_POSITIVE_P etc. from numeric.h.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
ISO/IEC 9899:2011 section 7.2 states that <assert.h> must define
static_assert. Use it when available.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Not a big rewrite. Just to make those macros readable.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Improving readability by converting some macros into inline functions.
Also improved support for recent x86_64 processors, which have better
instructions for the purposes.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
With these macros implemented we can write codes just like we can assume
the compiler being clang. MSC_VERSION_SINCE is defined to implement
those macros, but turned out to be handy for other places. The -fdeclspec
compiler flag is necessary for clang to properly handle __has_declspec().
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Now that we no longer support old compilers, we can safely delete
several obsolete #ifdef gurads. Also because (as of writing) it is
impossible to compile the program using C++ compilers, lets just
entirely prohibit __cplusplus to reduce # of LOCs.
Note however that we still cannot eliminate __STDC_VERSION__ checks,
because MSVC does not define it, saying its C99 support is partial.
See also https://social.msdn.microsoft.com/Forums/vstudio/en-US/53a4fd75-9f97-48b2-aa63-2e2e5a15efa3
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
This is tentative. For the sake of simplicity we partially revert
commits e9cb552ec96, ee85a6e72b and 51edb300425. Will decouple them
once again when we are ready.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
One day, I could not resist the way it was written. I finally started
to make the code clean. This changeset is the beginning of a series of
housekeeping commits. It is a simple refactoring; split internal.h into
files, so that we can divide and concur in the upcoming commits. No
lines of codes are either added or removed, except the obvious file
headers/footers. The generated binary is identical to the one before.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
Include what is necessary.
Notes:
Merged: https://github.com/ruby/ruby/pull/2711
|
|
|
|
|
|
|
|
https://github.com/ruby/reline/commit/b41024e317
|
|
|
|
|
|
|
|
This require causes circular require.
```
$ touch empty_file
$ RUBYGEMS_GEMDEPS=empty_file ./local/bin/ruby -w -e ''
/home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92: warning: /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92: warning: loading in progress, circular require considered harmful - /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb
from <internal:gem_prelude>:1:in `<internal:gem_prelude>'
from <internal:gem_prelude>:1:in `require'
from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1417:in `<top (required)>'
from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1203:in `use_gemdeps'
from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/user_interaction.rb:47:in `use_ui'
from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1204:in `block in use_gemdeps'
from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler.rb:11:in `<top (required)>'
from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler.rb:11:in `require_relative'
from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler/rubygems_integration.rb:3:in `<top (required)>'
from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
```
https://github.com/bundler/bundler/commit/c7c5bcea92
|
|
Notes:
Merged-By: mrkn <mrkn@ruby-lang.org>
|
|
|
|
rb_iseq_complete() can be used by MJIT.
|
|
On USE_LAZY_LOAD=1, the iseq should be loaded. So rb_iseq_check()
is needed. Furthermore, now lazy loading with builtin_function_table
is not supported, so it should cancel lazy loading.
|
|
[Bug #16450]
|
|
|
|
|
|
|
|
|
|
|