aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [rubygems/rubygems] update Magnus library in Rust extension gem templateMat Sadler2023-07-312-5/+5
| | | | https://github.com/rubygems/rubygems/commit/19a92a3367
* mark `cc->cme_` if it is for `super`Koichi Sasada2023-07-314-8/+38
| | | | | `vm_search_super_method()` makes orphan CCs (they are not connected from ccs) and `cc->cme_` can be collected before without marking.
* [ruby/optparse] [DOC] Corrections to tutorialBurdetteLamar2023-07-311-13/+13
| | | | https://github.com/ruby/optparse/commit/2940dbb65a
* Extract common variablesNobuyoshi Nakada2023-07-301-4/+4
|
* Ease the `Encoding::CompatibilityError` test failureNobuyoshi Nakada2023-07-301-1/+2
| | | | | At the time this test first started using `assert_raise_with_message`, it did not touch `Encoding.default_internal`.
* [ruby/optparse] [DOC] Mark up constant and method names as codeNobuyoshi Nakada2023-07-304-71/+71
| | | | https://github.com/ruby/optparse/commit/e8bee0be8f
* [rubygems/rubygems] Set thread configurations inside block in the thread ↵Nobuyoshi Nakada2023-07-302-14/+12
| | | | | | local manner https://github.com/rubygems/rubygems/commit/965e54b8f1
* [rubygems/rubygems] Use the dedicated method to convert file pathNobuyoshi Nakada2023-07-303-3/+33
| | | | | | | | The dedicated method `File.path` to deal with pathname-like objects has been provided since ruby 1.9.0. Also adds a test for rubygems/rubygems#6837. https://github.com/rubygems/rubygems/commit/258c6eda80
* YJIT: Drop Copy trait from Context (#8138)Takashi Kokubun2023-07-293-15/+43
|
* check `cc->*` liveness strictlyKoichi Sasada2023-07-301-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | to fix SEGV like http://ci.rvm.jp/results/trunk-repeat20-asserts@ruby-sp2-docker/4664004 ``` /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(sigsegv+0x4f) [0x7fcb0343e7df] /tmp/ruby/src/trunk-repeat20-asserts/signal.c:920 /lib/x86_64-linux-gnu/libc.so.6(0x7fcb02e4d520) [0x7fcb02e4d520] /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(RB_SPECIAL_CONST_P+0x13) [0x7fcb03311ea3] /tmp/ruby/src/trunk-repeat20-asserts/include/ruby/internal/special_consts.h:329 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(RB_BUILTIN_TYPE) /tmp/ruby/src/trunk-repeat20-asserts/include/ruby/internal/value_type.h:183 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(gc_object_moved_p) /tmp/ruby/src/trunk-repeat20-asserts/gc.c:1624 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(gc_object_moved_p+0xe) [0x7fcb0331ed16] /tmp/ruby/src/trunk-repeat20-asserts/include/ruby/internal/special_consts.h:329 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(gc_ref_update_imemo) /tmp/ruby/src/trunk-repeat20-asserts/gc.c:10132 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(gc_update_object_references) /tmp/ruby/src/trunk-repeat20-asserts/gc.c:10411 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(gc_ref_update+0xab) [0x7fcb0331fcbb] /tmp/ruby/src/trunk-repeat20-asserts/gc.c:10570 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(gc_update_references) /tmp/ruby/src/trunk-repeat20-asserts/gc.c:10604 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(gc_compact_finish) /tmp/ruby/src/trunk-repeat20-asserts/gc.c:5425 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(gc_sweep_compact) /tmp/ruby/src/trunk-repeat20-asserts/gc.c:8476 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(gc_sweep) /tmp/ruby/src/trunk-repeat20-asserts/gc.c:6040 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(gc_start+0xe25) [0x7fcb03325795] /tmp/ruby/src/trunk-repeat20-asserts/gc.c:9323 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(rb_multi_ractor_p+0x0) [0x7fcb03326108] /tmp/ruby/src/trunk-repeat20-asserts/gc.c:9208 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(rb_vm_lock_leave) /tmp/ruby/src/trunk-repeat20-asserts/vm_sync.h:92 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(garbage_collect) /tmp/ruby/src/trunk-repeat20-asserts/gc.c:9210 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(rbimpl_atomic_exchange+0x0) [0x7fcb033262b9] /tmp/ruby/src/trunk-repeat20-asserts/gc.c:9646 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(gc_finalize_deferred) /tmp/ruby/src/trunk-repeat20-asserts/gc.c:4345 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(gc_start_internal) /tmp/ruby/src/trunk-repeat20-asserts/gc.c:9647 /tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(gc_compact) /tmp/ruby/src/trunk-repeat20-asserts/gc.c:10748 ```
* [DOC] Fix missing word in a commentJoshua Young2023-07-301-2/+2
|
* Add examples of `return` in `eval`Nobuyoshi Nakada2023-07-301-0/+14
|
* [ruby/rdoc] Use a more portable way to check if code is parseableBenoit Daloze2023-07-291-1/+3
| | | | | | | | * The same as used in irb: https://github.com/ruby/irb/pull/134/files * This works on all Ruby implementations, unlike `return` in BEGIN which can be quite difficult to support. https://github.com/ruby/rdoc/commit/d19f7c66fe
* Change `HOME` too when testing sync_default_gems.rbNobuyoshi Nakada2023-07-291-2/+3
| | | | As well as `GIT_CONFIG_GLOBAL`, which is supported since git 2.32.
* Revert "Test sync_default_gems.rb only when git 2.32 is available"Nobuyoshi Nakada2023-07-291-9/+1
| | | | This reverts commit b0f44cfa5da53b90817732cb25b4d3a1cddecb89.
* check liveness of cc->klass and cc->cme_Koichi Sasada2023-07-291-9/+13
| | | | | | | `cc->klass` and `cc->cme_` can be free'ed while last marking so that it should be checked bofore updating the pointers. Note that `T_MOVED` is living, but `is_live_object()` returns false.
* Test sync_default_gems.rb only when git 2.32 is availableNobuyoshi Nakada2023-07-291-1/+9
| | | | | With older git, as `GIT_CONFIG_GLOBAL` environment variable is not supported, these tests clobber user's configurations.
* do not clear cme but invalidate ccko12023-07-291-6/+3
| | | | | To invalidate a cc, we need to clear cc->klass by `vm_cc_invalidate()`. I hope this patch fix the CI failures.
* Revert "[rubygems/rubygems] Set thread configurations inside block"ko12023-07-292-4/+4
| | | | | | | | | | | | This reverts commit db80e947a382a6a9ef2295e81f5b97c6a8ecbce7. This patch uses `Thread.abort_on_exception = true` and it affects all of threads. This is why CI systems fails. How to modify: - use `thread.abort_on_exception = true` for specific threads - Run this code in a separated process
* [rubygems/rubygems] Add charset to Webauthn response content-typeJenny Shen2023-07-283-6/+6
| | | | https://github.com/rubygems/rubygems/commit/442a3e8f37
* [rubygems/rubygems] Set thread configurations inside blockJenny Shen2023-07-282-4/+4
| | | | https://github.com/rubygems/rubygems/commit/860b145359
* [rubygems/rubygems] Create MockServer object to test WebAuthn logic to ↵Jenny Shen2023-07-285-87/+78
| | | | | | prevent real TCPServers from being created and be leaked into other tests https://github.com/rubygems/rubygems/commit/96d6cb33a2
* [rubygems/rubygems] Create MultifactorAuthFetcher to reduce duplication ↵Jenny Shen2023-07-285-283/+164
| | | | | | among tests https://github.com/rubygems/rubygems/commit/dead211206
* [rubygems/rubygems] Use assert_raise in webauthn poller testsJenny Shen2023-07-281-4/+4
| | | | https://github.com/rubygems/rubygems/commit/0969ad330e
* [rubygems/rubygems] Move Webauthn listener thread to WebauthnListener classJenny Shen2023-07-287-24/+39
| | | | https://github.com/rubygems/rubygems/commit/6ec474975e
* [rubygems/rubygems] Move WebauthnListener into the Gem::GemcutterUtilities ↵Jenny Shen2023-07-2811-284/+288
| | | | | | namespace https://github.com/rubygems/rubygems/commit/3080394f81
* [rubygems/rubygems] Extract polling logic into its own classJenny Shen2023-07-283-41/+205
| | | | https://github.com/rubygems/rubygems/commit/218b83abed
* [rubygems/rubygems] Add Webauthn verification poller to fetch OTPJenny Shen2023-07-285-12/+412
| | | | https://github.com/rubygems/rubygems/commit/39c5e86a67
* [rubygems/rubygems] Remove fetcher login in util_sign_inJenny Shen2023-07-281-77/+22
| | | | https://github.com/rubygems/rubygems/commit/8e6bc4485a
* [rubygems/rubygems] Create SignInFetcherJenny Shen2023-07-281-18/+74
| | | | https://github.com/rubygems/rubygems/commit/38afc47899
* [ruby/strscan] Fix indentation in strscan.cPeter Zhu2023-07-281-5/+5
| | | | [ci skip]
* Test `SHARABLE_MIDDLE_SUBSTRING` [ci skip]Nobuyoshi Nakada2023-07-281-0/+1
|
* Freeze test string to be shared for sharable-middle-substringNobuyoshi Nakada2023-07-281-1/+1
|
* Fill terminator properlyNobuyoshi Nakada2023-07-281-1/+3
|
* Preserve `ec` argument across `longjmp`Nobuyoshi Nakada2023-07-281-0/+3
| | | | | | Fix segfault on icc 2023.2. An optimizer may allocate this argument to a register, and it may be clobbered by `longjmp`, e.g. exceptions.
* fix typo (CACH_ -> CACHE_)Ruby2023-07-281-6/+6
|
* Update bundled gems list at 2023-07-28git2023-07-282-3/+4
|
* Removed unnecessary methodsHiroshi SHIBATA2023-07-281-8/+0
|
* Use Gem::BUNDLED_GEMS::SINCEHiroshi SHIBATA2023-07-282-19/+15
|
* Warn default gems which will be gemified in futureNobuyoshi Nakada2023-07-283-2/+85
|
* Fixed gemfile path for upstream of bundlerHiroshi SHIBATA2023-07-281-1/+1
|
* Exclude lockfile from sync targetHiroshi SHIBATA2023-07-281-4/+3
|
* Update description for test-bundler on gitignoreHiroshi SHIBATA2023-07-281-1/+1
|
* Removed lockfile for test-bundlerHiroshi SHIBATA2023-07-285-283/+1
|
* `cc->cme` should not be marked.Ruby2023-07-282-31/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cc is callcache. cc->klass (klass) should not be marked because if the klass is free'ed, the cc->klass will be cleared by `vm_cc_invalidate()`. cc->cme (cme) should not be marked because if cc is invalidated when cme is free'ed. - klass marks cme if klass uses cme. - caller classe's ccs->cme marks cc->cme. - if cc is invalidated (klass doesn't refer the cc), cc is invalidated by `vm_cc_invalidate()` and cc->cme is not be accessed. - On the multi-Ractors, cme will be collected with global GC so that it is safe if GC is not interleaving while accessing cc and cme. fix [Bug #19436] ```ruby 10_000.times{|i| # p i if (i%1_000) == 0 str = "x" * 1_000_000 def str.foo = nil eval "def call#{i}(s) = s.foo" send "call#{i}", str } ``` Without this patch: ``` real 1m5.639s user 0m6.637s sys 0m58.292s ``` and with this patch: ``` real 0m2.045s user 0m1.627s sys 0m0.164s ```
* Remove an obsoleted initialization from WasmTakashi Kokubun2023-07-271-1/+1
|
* Remove an unused argument in vm_exec_coreTakashi Kokubun2023-07-272-15/+11
|
* Clean up OPT_STACK_CACHING (#8132)Takashi Kokubun2023-07-2716-265/+5
|
* Remove an unused macroTakashi Kokubun2023-07-271-4/+0
| | | | We've deleted opt_call_c_function instruction before.
* YJIT: Count setivar too-complex exits (#8131)Takashi Kokubun2023-07-272-0/+2
|