Граф коммитов

1505 Коммитов

Автор SHA1 Сообщение Дата
Nobuyoshi Nakada 6943ffc3d5
Split revision.h rule
GNU-make specific rule is defined in defs/gmake.mk.
2021-04-18 13:47:43 +09:00
卜部昌平 6413dc27dc dependency updates 2021-04-13 14:30:21 +09:00
Nobuyoshi Nakada 12f7ba5ed4
Make String#crypt ractor-safe 2021-04-13 12:05:31 +09:00
Nobuyoshi Nakada 68a6f6c4ab
mac: ignore SDKROOT at installation 2021-04-10 11:57:45 +09:00
Nobuyoshi Nakada 041a4f9a5e
Stop downloading Unicode files twice
These files should have been downloaded in update-remote.
2021-03-26 00:38:35 +09:00
Kazuhiro NISHIYAMA f45bed0a6e
Use XRUBY to expand path instead of platform dependent 2021-03-25 18:06:06 +09:00
Nobuyoshi Nakada e7dc6f2a3c
Generate encoding header before enc.mk
As some encodings need the corresponding header.
2021-03-25 17:10:53 +09:00
Nobuyoshi Nakada cda60ee6d5
Keep unicode_normalize/tables.rb as-is
Define no dependency unless ALWAYS_UPDATE_UNICODE is set to yes,
so that `make prog` works in a just-checkedout working directory.
2021-03-25 15:45:20 +09:00
Kazuhiro NISHIYAMA 12812c2bdf
Fix test-bundler-parallel errors when out-of-place build 2021-03-25 14:59:15 +09:00
Nobuyoshi Nakada b1149bf305
Make the commit of updated bundled_gems file 2021-02-16 19:54:16 +09:00
Nobuyoshi Nakada 4f47d655e3 Added Thread::Backtrace.limit [Feature #17479] 2021-02-15 18:29:35 +09:00
Takashi Kokubun 27382eb9fc
Add a benchmark-driver runner for Ractor (#4172)
* Add a benchmark-driver runner for Ractor

* Process.clock_gettime(Process:CLOCK_MONOTONIC) could be slow

in Ruby 3.0 Ractor

* Fetching Time could also be slow

* Fix a comment

* Assert overriding a private method
2021-02-10 21:24:25 -08:00
Samuel Williams 5f69a7f604
Expose scheduler as public interface & bug fixes. (#3945)
* Rename `rb_scheduler` to `rb_fiber_scheduler`.

* Use public interface if available.

* Use `rb_check_funcall` where possible.

* Don't use `unblock` unless the fiber was non-blocking.
2021-02-09 19:39:56 +13:00
Nobuyoshi Nakada 0dd38902b9
Ignore warnings when transforming preprocessed header
For already preprocessed header, -Werror=misleading-indentation
doesn't make sense.
2021-02-01 18:16:39 +09:00
Nobuyoshi Nakada ed6dc066b6
CFLAGS includes ARCH_FLAG 2021-01-26 22:19:00 +09:00
Nobuyoshi Nakada 4de228b6bc
Sort autogenerated dependencies [ci skip] 2021-01-23 20:56:15 +09:00
Nobuyoshi Nakada 899b950647
Remove common output directory 2021-01-22 18:37:31 +09:00
Takashi Kokubun 5cf6229ee9
Skip updating exts in also test-spec to reduce the turnaround time (#4089)
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

Partially reversing a4f3e1762a like 21df4dce53.
We usually run them through make check which has the dependency, and test-all and test-spec without the dependency are useful for running only individual tests.
2021-01-18 07:14:02 -08:00
Nobuyoshi Nakada 2adbf01ae1
dtoa.c: make thread-safe by using atomic CAS 2021-01-10 18:19:53 +09:00
Koichi Sasada e91160f757 set RUBY_ON_BUG on runruby rule.
set RUBY_ON_BUG='gdb -x $(srcdir)/.gdbinit -p' to catch SEGV
on `make runruby` rule.
2021-01-05 16:50:00 +09:00
Nobuyoshi Nakada 3adf84a079
Commented out the sh-specific code, in cmd.exe 2021-01-05 11:53:41 +09:00
Takashi Kokubun cf4a6b5e7b
Add a missing dependency 2021-01-03 22:48:13 -08:00
Takashi Kokubun 4182035e27
Add -v to make benchmark
I simply can't tell which of compare-ruby and built-ruby is what.
2021-01-01 18:41:22 -08:00
S.H daec5f9edc
Improve performance some Float methods [Feature #17498] (#4018) 2021-01-01 18:39:07 -08:00
Nobuyoshi Nakada 93735f8fc0
Moved time.rb to timev.rb 2020-12-31 17:23:37 +09:00
Nobuyoshi Nakada d5fb51d2d3
Add time.rb as builtin 2020-12-31 15:19:06 +09:00
Nobuyoshi Nakada 2f42243bce Make more silent when -s on GNU make 2020-12-29 17:45:19 +09:00
Nobuyoshi Nakada d57c5a7b61 transcode-tblgen.rb: make silent a little when just -v 2020-12-29 17:45:19 +09:00
Takashi Kokubun c0a2d322c6
Update help of sync-default-gems 2020-12-28 23:03:04 -08:00
Nobuyoshi Nakada 2556cd3f51 Bypass check for warning_category on internal calls 2020-12-28 12:44:03 +09:00
Nobuyoshi Nakada a042043487
Do not include external library sources into packages 2020-12-27 23:33:56 +09:00
Nobuyoshi Nakada 6ed6b85ece Expose atomic operation macros with RUBY prefix
Now we need atomic operations, which are lighter than mutex, more
widely for extension libraries because of Ractor.
2020-12-24 11:43:21 +09:00
Koichi Sasada a2950369bd TracePoint.new(&block) should be ractor-local
TracePoint should be ractor-local because the Proc can violate the
Ractor-safe.
2020-12-22 00:03:00 +09:00
Koichi Sasada 6be61ab264 should use owned_p instead of locked_p
It should raise an error if the same thread tris to call
receive/receive_if.
2020-12-21 02:39:34 +09:00
Koichi Sasada c58142134c make RB_DEBUG_COUNTER_INC()_thread-safe 2020-12-17 03:43:59 +09:00
Kenta Murata 1bafb3cb47
[memory_view] Make MemoryView API Ractor-safe (#3911)
* memory_view.c: make Ractor-safe

* test/ruby/test_memory_view.rb: Add test_ractor

* memory_view: fix typo

* memory_view.c: Use st_update in unregster_exported_object

* memory_view: update dependency
2020-12-16 13:43:56 +09:00
Koichi Sasada 0b678cc9e5 add vm_sync debug counters
* vm_sync_lock
* vm_sync_lock_enter
* vm_sync_lock_enter_nb
* vm_sync_lock_enter_cr
* vm_sync_barrier
2020-12-16 10:38:12 +09:00
Alan Wu 25a48b703e Update dependencies 2020-12-14 17:56:42 -05:00
Koichi Sasada 70a311fdeb trap on non-main ractor
trap can accept blopck/Proc and it can violate Rator isolation,
so the Proc should be isolatable when trap is used on non-main ractor.
2020-12-12 08:36:52 +09:00
Koichi Sasada ad6573163f add RUNOPT and RUNOPT0 for dev rules.
run, runruby, ... accept RUNOPT and RUNOPT0 configuration to pass
some commandline argument like that:

  $(BTESTRUBY) $(RUNOPT0) $(TESTRUN_SCRIPT) $(RUNOPT)

RUNOPT0 is options for ruby interpreter (-w, -v, ...)
RUNOPT is options for the script (ARGV/ARGF)
2020-12-11 11:57:25 +09:00
Hiroshi SHIBATA 087ac34fb2 Added tool/lib into test-spec loadpath 2020-12-10 18:06:25 +09:00
Kenta Murata fad3023e94
Fix ArithmeticSequence#last and ArithmeticSequence#each for non-integer sequences (#3870)
[Bug #17218]
[ruby-core:100312]
2020-12-09 18:48:59 +09:00
Samuel Williams 2553c5f94a Add support for non-blocking `Process.wait`. 2020-12-09 08:55:35 +13:00
Koichi Sasada 307732ccee cancel theap on multi-ractors
accessing theap needs complicating synchronization but it reduce
performance on multi-ractor mode. So simply stop using theap
on multi-ractor mode. In future, theap should be replaced with
more cleaver memory strategy.
2020-12-07 08:28:36 +09:00
Nobuyoshi Nakada 967ed35bbb
Moved update-bundled_gems code to a tool 2020-12-06 16:11:09 +09:00
Samuel Williams 3b5b309b7b Proposed method for dealing with stack locals which have non-local lifetime. 2020-12-05 11:38:56 +13:00
Nobuyoshi Nakada 9e94cd18fc
test-bundled-gems: select bundled gems to test by BUNDLED_GEMS 2020-12-02 17:06:09 +09:00
Koichi Sasada 67693d8d80 ractor local storage C-API
To manage ractor-local data for C extension, the following APIs
are defined.

* rb_ractor_local_storage_value_newkey
* rb_ractor_local_storage_value
* rb_ractor_local_storage_value_set
* rb_ractor_local_storage_ptr_newkey
* rb_ractor_local_storage_ptr
* rb_ractor_local_storage_ptr_set

At first, you need to create a key of storage by
rb_ractor_local_(value|ptr)_newkey().
For ptr storage, it accepts the type of storage,
how to mark and how to free with ractor's lifetime.

rb_ractor_local_storage_value/set are used to access a VALUE
and rb_ractor_local_storage_ptr/set are used to access a pointer.

random.c uses this API.
2020-12-01 09:39:30 +09:00
Nobuyoshi Nakada b4e21ce25c
Clean temproray directory created by test-spec 2020-11-30 18:27:46 +09:00
Nobuyoshi Nakada d92f427d5a
Clean static-ruby 2020-11-30 18:27:45 +09:00