summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-19[wasm] configure.ac: disable mjit on wasi by defaultYuta Saito
Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19[wasm] bootstraptest, basictest: disable backquote literal testsYuta Saito
WASI doesn't support spawning a new process for now. Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19[wasm] configure.ac: don't require dup and dup2 only for wasiYuta Saito
Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19[wasm] add unit test suite for fiber, register scan, sjlj in platform dirYuta Saito
Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19configure.ac: stop overwriting cc wrapper by darwin-cc everytimeYuta Saito
Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19ruby.c: initialize extra optional extensions linked staticallyYuta Saito
Add a hook point to initialize extra extension libraries. The default hook function is replaced when linking a strong `Init_extra_exts` symbol. A builder can insert an object file that defines Init_extra_exts by XLDFLAGS. Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19dir.c: ignore ENOTCAPABLE while glob similar to EACCESYuta Saito
Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19[wasm] add no thread variant for freestanding environmentYuta Saito
This implementation does nothing around preemptive context switching because there is no native thread. Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19thread.c: put platform specific part in each impl fileYuta Saito
Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19[wasm] gc.c: scan wasm locals and c stack to mark living objectsYuta Saito
WebAssembly has function local infinite registers and stack values, but there is no way to scan the values in a call stack for now. This implementation uses Asyncify to spilling out wasm locals into linear memory. Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19[wasm] gc.c: disable read signal barrier for wasiYuta Saito
WASI currently does not yet support signal Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19[wasm] eval_inter.h gc.c vm_core.h: include wasm/setjmp.h instead of sysroot ↵Yuta Saito
header Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19[wasm] add coroutine/asyncify implementationYuta Saito
set the default coroutine_type as asyncify when wasi Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19[wasm] wasm/missing.{c,h}: add missing libc stubs for wasi-libcYuta Saito
Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19[wasm] add asyncify based setjmp, fiber, register scan emulationYuta Saito
configure.ac: setup build tools and register objects main.c: wrap main with rb_wasm_rt_start to handle asyncify unwinds tool/m4/ruby_wasm_tools.m4: setup default command based on WASI_SDK_PATH environment variable. checks wasm-opt which is used for asyncify. tool/wasm-clangw wasm/wasm-opt: a clang wrapper which replaces real wasm-opt with do-nothing wasm-opt to avoid misoptimization before asyncify. asyncify is performed at POSTLINK, but clang linker driver tries to run optimization by wasm-opt unconditionally. inlining pass at wasm level breaks asyncify's assumption, so should not optimize before POSTLIK. wasm/GNUmakefile.in: wasm specific rules to compile objects Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19[wasm] configure.ac: setup platform specific librariesYuta Saito
These flags are very wasi-libc version specific, so updating wasi-libc may break the build. But supporting multiple wasi-libc versions in ruby doesn't have much benefit because wasi-libc is not installed in most systems. Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19[wasm] configure.ac: disable stack-protectorYuta Saito
clang does not yet support stack-protector for wasm Notes: Merged: https://github.com/ruby/ruby/pull/5407
2022-01-19* 2022-01-19 [ci skip]git
2022-01-18Don't assume __builtin_bswap32 and __builtin_bswap64 are defined on OpenBSDJeremy Evans
At least OpenBSD/sparc64 doesn't appear to define them, and possibly some other OpenBSD GCC platforms don't (most OpenBSD platforms have already switched to clang).
2022-01-18[Feature #18491] Drop support for HP-UXPeter Zhu
IA64 support was dropped in ticket #15894, so we can drop support for HP-UX. Notes: Merged: https://github.com/ruby/ruby/pull/5457
2022-01-18Fix a link [ci skip]Kazuhiro NISHIYAMA
2022-01-18[DOC] Enhanced RDoc for io.c (#5451)Burdette Lamar
Treats: IO#reopen IO#printf Kernel#printf IO#print Kernel#print IO#putc IO.new IO#set_encoding_by_bom IO.for_fd Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-01-18include/ruby/win32.h: define HAVE_X for the missing prototypes (#5456)Yuta Saito
Notes: Merged-By: kateinoigakukun
2022-01-18[ruby/irb] require_relative can't be used for default gems' exe filesst0012
The `exe` folder and `lib` folder of default gems don't locate under the same place. While `exe/irb` will be under the gem folder, `irb.rb` will be under `lib/ruby/VERSION/`. So `require_relative` will make `irb` unuseable when shipped with Ruby. Related discussion in the comments: https://github.com/ruby/irb/pull/335 https://github.com/ruby/irb/commit/99d3aa979d
2022-01-18* 2022-01-18 [ci skip]git
2022-01-17[ruby/erb] Revert "Remove safe_level and further positional arguments ↵Takashi Kokubun
(https://github.com/ruby/erb/pull/7)" This reverts commit https://github.com/ruby/erb/commit/5133efa06f0603ae79292f3b2b942957bc8a442e. While we already handled this deprecation in many libraries, we noticed that some (e.g. sprockets) relied on the format of `ERB.version` and https://github.com/ruby/erb/commit/2b4182eb108b9e42fa30bcfa41931896132f88b8 broke such handling. Given that the `ERB.version` change was released at 3.1 and it's obviously new, I'll skip this removal in 3.2 and postpone this to a future version.
2022-01-17Fix the placeholder subclass entry skipping [Bug #18489]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5455
2022-01-17[ruby/irb] Use require_relative to load extensions/commandsst0012
https://github.com/ruby/irb/commit/d5060f7668
2022-01-17lldb_cruby.py: support RVARGC on T_CLASS [ci skip]Nobuyoshi Nakada
2022-01-17[ruby/net-http] Remove redundant MJIT conditionKazuhiro NISHIYAMA
ref https://github.com/ruby/ruby/commit/da0f67c0383f57129c7a76255964b1ee739d8db8 https://github.com/ruby/net-http/commit/dbeb5f1c8f
2022-01-17lib/drb/drb.rb: Prevent a "warning: assigned but unused variable"Yusuke Endoh
... by replacing the variable with a underscore-prefixed name
2022-01-17[ruby/irb] Use require_relative to require lib filesst0012
1. `require` can mislead Ruby to load system irb's files and cause constant redefined warnings as other code loads the same module/class from lib folder. 2. Most files already use `require_relative`. https://github.com/ruby/irb/commit/848d339f2e
2022-01-17Replace to RBOOL macroS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/5449
2022-01-17Removed skip alias in test suiteHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5446
2022-01-17[ruby/net-http] Rename `D` to `debug` in `Net::HTTP`Brandon Weaver
Renames `D` to `debug` in `Net::HTTP` and introduces an alias for backwards compatibility. This was done for readability reasons, in that `D` did not clearly reflect what the method was doing and can cause some confusion. https://github.com/ruby/net-http/commit/582d6e87d6
2022-01-17Parenthesize the macro argumentNobuyoshi Nakada
2022-01-17* 2022-01-17 [ci skip]git
2022-01-17Tweak IO documentation for `IO.write('|cmd')` and so on [ci skip]Masataka Pocke Kuwabara
Notes: Merged: https://github.com/ruby/ruby/pull/5450
2022-01-16`O_NONBLOCK` is not always a preprocessor constant on all platformsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5454 Merged-By: nobu <nobu@ruby-lang.org>
2022-01-16Weakmap failure is still pendingNobuyoshi Nakada
2022-01-16[ruby/reline] Use "Bundler.require" to load Gemfile.lock in multiline_replaycabta
https://github.com/ruby/reline/commit/492bee257a
2022-01-16[ruby/reline] Fix incremental search to work correctly even if not last lineaycabta
https://github.com/ruby/reline/commit/21d75f6d4c
2022-01-16[ruby/reline] Insert newline in the middle of buffer just after dialogaycabta
https://github.com/ruby/reline/commit/0c76631132
2022-01-16[ruby/reline] Add a wait for a test because sometimes failsaycabta
https://github.com/ruby/reline/commit/da4a7aa932
2022-01-16[ruby/reline] Combine common logic into oneaycabta
https://github.com/ruby/reline/commit/5db9738f17
2022-01-16[ruby/reline] Clear dialog when adding new line to end of bufferaycabta
https://github.com/ruby/reline/commit/7d38454327
2022-01-16Remove outdated skipsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5453
2022-01-16Use pend for old TODOsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5453
2022-01-16Let testunit use omit or pend instead of skipNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5453
2022-01-16Check with the latest stableNobuyoshi Nakada