| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
| |
static-ruby is statically linked against libruby, even when
configured with --enable-shared.
|
|
|
|
|
|
|
|
| |
* cast to suppress C4267 warnings; no possible loss of data as
following the comparison.
* shift base address to suppress LNK4281; although /DYNAMICBASE is
preferable, not sure from which version of link.exe supports it.
|
| |
|
| |
|
|
|
|
|
| |
i686-pc-cygwin gcc 6.4.0 seems broken around ssp.h, when compiling
with both of optimization and _FORTIFY_SOURCE.
|
|
|
|
|
| |
Apparently 9 was not enough either.
https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20201123T063303Z.fail.html.gz
|
| |
|
|
|
|
| |
to define USE_MJIT.
|
|
|
|
|
|
| |
vm_core.h needs to be included to know rb_execution_context_t, etc.
I also added a trivial refactoring in mjit.c and missing dependency for
process.c.
|
|
|
|
| |
:bow:
|
|
|
|
| |
Sorry, I forgot to delete this at 55866565c24765a1722e2c415a6776f3f77e89d0.
|
|
|
|
| |
It's very hard to remember which mjit.h has what.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Re-generate C files for JIT compaction every time
* Refactor in_jit return logic
* Just write code in a single file
* Add a TODO comment [ci skip]
|
| |
|
|
|
|
|
| |
Which UTF-8 char corresponds to the binary representation is
nonsense for other encodings, and just confusing.
|
|
|
|
|
|
| |
The mapping table is generated from the ICU project:
https://github.com/unicode-org/icu/blob/master/icu4c/source/data/mappings/ibm-720_P100-1997.ucm
Fixes bug 16233 : https://bugs.ruby-lang.org/issues/16233
|
|
|
|
| |
https://github.com/ruby/irb/commit/fc1426d34e
|
|
|
|
|
|
|
|
| |
implementation-private APIs
* Fixes https://github.com/ruby/irb/issues/133
https://github.com/ruby/irb/commit/5eb3ef3293
|
|
|
|
| |
https://github.com/ruby/irb/commit/2ff1295533
|
| |
|
| |
|
|
|
|
| |
This was a leftover of 27d5af59a359909e0d434459c30cfc0940f60a5b.
|
|
|
|
|
|
|
| |
convert_unit_to_func's c_func / so_func construction is unnecessarily
complicated while it's not really safer than what compact_all_jit_code
does. So I changed convert_unit_to_func to be consistent with
compact_all_jit_code.
|
|
|
|
|
|
|
|
|
|
|
| |
This has been a TODO since 79df14c04b. While adcf0316d1 covered the
root_fiber of the initial thread, it didn't cover root_fibers of other
threads. Now it's hooked properly in rb_threadptr_root_fiber_setup.
With regards to "XXX: Is this mjit_cont `mjit_cont_free`d?", when
rb_threadptr_root_fiber_release is called, although I'm not sure when
th->root_fiber is truthy, fiber_free seems to call cont_free and
mjit_cont_free. So mjit_conts of root_fibers seem to be freed properly.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This target builds extensions for rubyspec optional C-API tests.
|
|
|
|
| |
It's calculated inside compile_c_to_so again.
|
|
|
|
| |
Apparently #ifdef is always true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
_MSC_VER used to be the macro to switch JIT compaction. However, since
d4381d2ceb, the correct macro to switch it was changed from _MSC_VER
to _WIN32. As I didn't properly replace all relevant _MSC_VER usages
to _WIN32, these macros have been used inconsistently.
nobu replaced _WIN32 with USE_HEADER_TRANSFORMATION in 5eb446d12f3.
Therefore we had USE_HEADER_TRANSFORMATION and _MSC_VER. This commit
makes sure such inconsistent _MSC_VER usages will be unified to the new
header, also renaming it to USE_JIT_COMPACTION to be more precise about
the requirements. The header transformation itself is not quite relevant
to places changed in this commit.
|
| |
|
|
|
|
|
|
|
|
| |
Isn't setting `in_compact = true` enough to avoid a race condition
between JIT compaction and unload_units? Now I think it is.
This change will make it easier to spend more time on compile_compact_jit_code.
For now it seems to take only 0.0723ms though.
|
|
|
|
|
|
|
|
| |
since 58325daae3beefda13ed100782cd19a89cc68771.
../string.c:1339:1: warning: ‘str_new_empty’ defined but not used [-Wunused-function]
1339 | str_new_empty(VALUE str)
| ^~~~~~~~~~~~~
|
|
|
|
| |
Thanks to Ractor (https://github.com/ruby/ruby/pull/2888 and https://github.com/ruby/ruby/pull/3662),
inline caches support parallel access now.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This modifies the following String methods to return String instances
instead of subclass instances:
* String#*
* String#capitalize
* String#center
* String#chomp
* String#chop
* String#delete
* String#delete_prefix
* String#delete_suffix
* String#downcase
* String#dump
* String#each/#each_line
* String#gsub
* String#ljust
* String#lstrip
* String#partition
* String#reverse
* String#rjust
* String#rpartition
* String#rstrip
* String#scrub
* String#slice!
* String#slice/#[]
* String#split
* String#squeeze
* String#strip
* String#sub
* String#succ/#next
* String#swapcase
* String#tr
* String#tr_s
* String#upcase
This also fixes a bug in String#swapcase where it would return the
receiver instead of a copy of the receiver if the receiver was the
empty string.
Some string methods were left to return subclass instances:
* String#+@
* String#-@
Both of these methods will return the receiver (subclass instance)
in some cases, so it is best to keep the returned class consistent.
Fixes [#10845]
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
lookup chain
Module#include should only be able to insert modules after the origin,
otherwise it ends up working like Module#prepend.
This fixes the case where one of the modules in the included module
chain is included in a module that is already prepended to the receiver.
Fixes [Bug #7844]
|
| |
|
| |
|
| |
|