path: root/ext
AgeCommit message (Collapse)Author
2021-01-09Get rid of defining methods for tests in core classesNobuyoshi Nakada
Not to interfere in other tests. Notes: Merged:
2021-01-09[ruby/bigdecimal] Stop using GetVpValueWithPrec in ↵Kenta Murata
2021-01-09[ruby/bigdecimal] Add assertions for checking the argument typesKenta Murata
2021-01-09[ruby/bigdecimal] Stop using GetVpValueWithPrec in ↵Kenta Murata
2021-01-07[ruby/bigdecimal] Fix trailing zero handling in rb_uint64_convert_to_BigDecimalKenta Murata
2021-01-06[ruby/bigdecimal] Rename BDIGIT to DECDIGKenta Murata
2021-01-06Need to convert the return value of rb_big_cmpKenta Murata
2021-01-06[ruby/bigdecimal] Optimize the conversion from small BignumKenta Murata
2021-01-06[ruby/bigdecimal] Check the function availabilities separatelyKenta Murata
2021-01-05[DOC] Fix grammar: "is same as" -> "is the same as"Marcus Stollsteimer
2021-01-05Fix a typo [ci skip]Kazuhiro NISHIYAMA
2021-01-05[ruby/io-console] Shrink struct query_argsNobuyoshi Nakada
2021-01-05[ruby/io-console] Pre-define chomp! IDNobuyoshi Nakada
2021-01-05[ruby/io-console] Ignore chomp! result and return the modified stringNobuyoshi Nakada
2021-01-05[ruby/io-console] [DOC] Note that IO#getpass returns a chomped stringMarcus Stollsteimer
IO#getpass uses String#chomp! on the read input line.
2021-01-05enable constant cache on ractorsKoichi Sasada
constant cache `IC` is accessed by non-atomic manner and there are thread-safety issues, so Ruby 3.0 disables to use const cache on non-main ractors. This patch enables it by introducing `imemo_constcache` and allocates it by every re-fill of const cache like `imemo_callcache`. [Bug #17510] Now `IC` only has one entry `IC::entry` and it points to `iseq_inline_constant_cache_entry`, managed by T_IMEMO object. `IC` is atomic data structure so `rb_mjit_before_vm_ic_update()` and `rb_mjit_after_vm_ic_update()` is not needed. Notes: Merged:
2021-01-04ripper: call #pretty_print on also `state`Nobuyoshi Nakada
2021-01-04Update ext/bigdecimal/dependKenta Murata
2021-01-04[ruby/bigdecimal] Move some definitions to missing.hKenta Murata
2021-01-04Revert "Include RUBY_EXTCONF_H if available"Kenta Murata
It is unnecessary because RUBY_EXTCONF_H has already been included in ruby/internal/config.h. This reverts commit 0644f466b0ef017202712882b557ba32863002c4.
2021-01-03Include RUBY_EXTCONF_H if availableKenta Murata
2021-01-02Avoid to use __builtin_clzl in SPARC SolarisKenta Murata
2021-01-02Add __x86_64__ guard to include x86intrin.hKenta Murata
2021-01-02Check if x86intrin.h is available not only existingNobuyoshi Nakada
2021-01-02[ruby/bigdecimal] Update dependKenta Murata
2021-01-02[ruby/bigdecimal] Fix test for Ruby 2.4Kenta Murata
Ruby 2.4 does not have RbConfig::LIMITS.
2021-01-02[ruby/bigdecimal] Implement special conversions for 64-bit integersKenta Murata
This change improves the conversion speed from small integers. ``` Comparison: big_n9 master: 4003688.9 i/s bigdecimal 3.0.0: 1270551.0 i/s - 3.15x slower big_n19 master: 5410096.4 i/s bigdecimal 3.0.0: 1000250.3 i/s - 5.41x slower ```
2020-12-31[ruby/bigdecimal] Refactor object allocationKenta Murata
2020-12-31[ruby/bigdecimal] Remove ToValueKenta Murata
2020-12-30[ruby/bigdecimal] Remove VP_EXCEPTION_MEMORYKenta Murata
It is no longer used due to the previous commit.
2020-12-30[ruby/bigdecimal] Remove needless pointer checksKenta Murata
xmalloc and xrealloc return non-NULL pointers or raise memory error.
2020-12-29[ruby/bigdecimal] Define bool, true, and false for old RubyKenta Murata
2020-12-29[ruby/bigdecimal] Alloc wrapper object before VpAllocKenta Murata
Calling TypedData_Wrap_Struct after VpAlloc may cause memory leak. This commit reverts d11b78f9c420f39ee800b9feed4839cd28f4ff5c.
2020-12-29[ruby/bigdecimal] Refactor to extract VpCheckExceptionKenta Murata
2020-12-29transcode-tblgen.rb: make silent a little when just -vNobuyoshi Nakada
Notes: Merged:
2020-12-29Fix compile error of sockssocketMasaki Matsushita
The patch is provided by PhobosK (Phobos Kappa). This should be backported to Ruby 3.0. [Feature #17187]
2020-12-29[ruby/bigdecimal] Refactor to decompose VpNewVarArg into small functionsKenta Murata
2020-12-29[ruby/bigdecimal] Reduce needless object allocation in f_BigDecimalKenta Murata
2020-12-28[ruby/bigdecimal] [Doc] Fix the document of BigDecimal()Kenta Murata
2020-12-28[ruby/bigdecimal] Reduce conditional branch count in VpNewVarArgKenta Murata
2020-12-27Get rid of inconsistent dll linkages against vcpkg readlineNobuyoshi Nakada
2020-12-27Removed declarations conflicting on MinGWNobuyoshi Nakada
2020-12-24etc: use atomic operation instead of mutexNobuyoshi Nakada
Notes: Merged:
2020-12-24Expose atomic operation macros with RUBY prefixNobuyoshi Nakada
Now we need atomic operations, which are lighter than mutex, more widely for extension libraries because of Ractor. Notes: Merged:
2020-12-23[fiddle] Update to 1.0.6Kenta Murata
2020-12-23[ruby/psych] Bump version to 3.3.0Hiroshi SHIBATA
2020-12-23[ruby/date] Define dummy RUBY_TYPED_FROZEN_SHAREABLE for old RubyKenta Murata
2020-12-23[ruby/psych] Optimize cache with `compare_by_identity`Marc-Andre Lafortune
Using `compare_by_identity` gives a 4x performance boost on cache hits. Benchmark in Notes: Merged:
2020-12-23[ruby/psych] Make Ractor-ready.Marc-Andre Lafortune
Config is Ractor-local. Benchmarking reveals that using `Ractor.local_storage` for storing cache is similar to accessing a constant (~15% slower). Notes: Merged:
2020-12-23[ruby/psych] Don't use instance variables directly for configMarc-Andre Lafortune
Notes: Merged: