Commit graph

2857 commits

Author SHA1 Message Date
Takashi Kokubun
8d099ff699 Implement opt_aref for Hash 2023-03-05 22:11:20 -08:00
Takashi Kokubun
a458923fe5 Implement jit_guard_known_class 2023-03-05 22:11:20 -08:00
Takashi Kokubun
d332c6ee12 Implement getlocal_WC_1 2023-03-05 22:11:20 -08:00
Takashi Kokubun
5a1cee1d96 Implement getivar 2023-03-05 22:11:20 -08:00
Takashi Kokubun
6c1b1fa1f5 Refactor BranchStub 2023-03-05 22:11:20 -08:00
Takashi Kokubun
5c638c97bb Implement opt_plus 2023-03-05 22:11:20 -08:00
Takashi Kokubun
e731ced271 Implement method call 2023-03-05 22:11:20 -08:00
Takashi Kokubun
fa0b9c1c97 Initial implementation of send 2023-03-05 22:11:20 -08:00
Takashi Kokubun
9ef04f5636 Implement opt_minus 2023-03-05 22:11:20 -08:00
Takashi Kokubun
a8dec34961 Implement initial opt_lt 2023-03-05 22:11:20 -08:00
Takashi Kokubun
21696ad81e Partly implement BOP assumption 2023-03-05 22:11:20 -08:00
Takashi Kokubun
9f8f1afba2 Implement --mjit-stats 2023-03-05 22:11:20 -08:00
Takashi Kokubun
4fe5efbf7f Implement asm comments 2023-03-05 22:11:20 -08:00
Takashi Kokubun
d9c2eb6f42 Move modules around 2023-03-05 22:11:20 -08:00
Hiroshi SHIBATA
38831ae290
Introduce UPDATE_BUNDLED_GEMS_ALL option for auto update for bundled_gems file
We used `url` field for testing via git clone. Because `Gem::Specification#homepage` or
  `Gem::Specification#metadata` could assign non-git url. Unfotunately, We should specify
  clone URL for testing.
2023-03-06 10:42:36 +09:00
Nobuyoshi Nakada
6b46057e5c
Expand the test directory to real path
When the test source directory path contains symbolic links, that
directory might be placed earlier in the result of
`IRB::InputCompletor.retrieve_gem_and_system_load_path`, than other
directories in the source tree that are expanded to the real path.  In
that case, the test file in "csv" under the test directory of csv gem
instead of the library path will be the first candidate, in
`TestIRB::TestCompletion#test_complete_require_library_name_first`.

```
<"'csv"> expected but was
<"'csv/helper">.
```
2023-03-03 15:30:02 +09:00
Soutaro Matsumoto
1abec43b5d
Fix rbs (#7415)
* Update RBS to skip validation task
* Revert TEST_BUNDLED_GEMS_ALLOW_FAILURES
2023-03-02 12:59:04 +09:00
lukeg
ba55706fb6 fix test/rubygems/test_gem_package_task.rb when in -j mode
This test skipped sometimes due to failure to load 'rake/packagetask'.
This is due to manipulation of $LOAD_PATH by other rubygems tests. If
rake is loaded before any rubygems tests run, then it works fine.

To reproduce the skipping behavior:
  $ make test-all TESTOPTS="-j6 --test-order=sorted test/rubygems/test_*.rb"
2023-02-28 06:34:27 +09:00
Hiroshi SHIBATA
db0a4c8923 Prefer to use File.foreach instead of IO.foreach 2023-02-27 18:49:18 +09:00
Ben Hamilton
c8bafc3b01 Fix autoconf RUBY_STACK_GROW_DIRECTION on ARM devices 2023-02-26 22:17:24 +09:00
Peter Zhu
3e09822407 Fix incorrect line numbers in GC hook
If the previous instruction is not a leaf instruction, then the PC was
incremented before the instruction was ran (meaning the currently
executing instruction is actually the previous instruction), so we
should not increment the PC otherwise we will calculate the source
line for the next instruction.

This bug can be reproduced in the following script:

```
require "objspace"

ObjectSpace.trace_object_allocations_start
a =

  1.0 / 0.0
p [ObjectSpace.allocation_sourceline(a), ObjectSpace.allocation_sourcefile(a)]
```

Which outputs: [4, "test.rb"]

This is incorrect because the object was allocated on line 10 and not
line 4. The behaviour is correct when we use a leaf instruction (e.g.
if we replaced `1.0 / 0.0` with `"hello"`), then the output is:
[10, "test.rb"].

[Bug #19456]
2023-02-24 14:10:09 -05:00
Peter Zhu
d2631c427e Fix RubyVM::CExpr#inspect
@__LINE__ can be nil which causes the inspect method to fail.
2023-02-24 14:10:09 -05:00
Nobuyoshi Nakada
ac5a949c2a
Refine exception messages when git failed 2023-02-22 10:23:05 +09:00
Nobuyoshi Nakada
37b6d98840 Use Gem::Package#build instead of the class method for old baseruby 2023-02-22 02:07:59 +09:00
Nobuyoshi Nakada
289080e4d8 Clone and create dummy gemspec in sequential build 2023-02-22 02:07:59 +09:00
Nobuyoshi Nakada
241c4cfdd4 Move dummy gemspec file creation for extract-gems-sequential 2023-02-22 02:07:59 +09:00
Matt Valentine-House
3c01342e19 Fix detection of compiler_wd in tool/update-deps 2023-02-21 10:57:28 -05:00
Yusuke Endoh
759d23584e Create a dummy minitest.gemspec for a bundled gem
To use the repository version of bundled gems, we need to build a gem by
"gem build", but the repository of minitest does not include
minitest.gemspec because it uses hoe.

This change creats a dummy minitest.gemspec to pass the CI.
2023-02-19 21:06:13 +09:00
Nobuyoshi Nakada
849087ccb1
Apply zone offset to the last modified time 2023-02-13 15:12:14 +09:00
Hiroshi SHIBATA
07bf97e94f
Enhancement github releases generator
* Create GitHub Releases by itself
  * Added help and usage message
  * Decorate release body
2023-02-10 09:26:12 +09:00
Hiroshi SHIBATA
0a8faab5c2
Avoid to duplicate entries that own redmine and github ids 2023-02-09 19:21:31 +09:00
Hiroshi SHIBATA
5991af204c
Added helper script for generate github releases 2023-02-09 18:52:59 +09:00
Hiroshi SHIBATA
6e7990144f Removed svn feature from make-snapshot 2023-02-08 15:36:32 +09:00
NARUSE, Yui
269c5d408f fix to work with the case default issue is used 2023-02-01 22:49:54 +09:00
Nobuyoshi Nakada
be81495c16
Silence dozens of useless warnings from nm on macOS 2023-01-31 19:42:01 +09:00
NARUSE, Yui
b0b61623ad Add quotes to backport field 2023-01-31 10:53:57 +09:00
Nobuyoshi Nakada
3a7367ccc3 mkconfig: Map includedir only for system ruby
Only when installing to the system path on macOS, prepend '$(SDKROOT)'
and remap `includedir`.
Fix https://github.com/rbenv/ruby-build/discussions/2123
2023-01-31 06:33:16 +09:00
Alan Wu
7d4395cb69 YJIT: Fix shared/static library symbol leaks
Rust 1.58.0 unfortunately doesn't provide facilities to control symbol
visibility/presence, but we care about controlling the list of
symbols exported from libruby-static.a and libruby.so.

This commit uses `ld -r` to make a single object out of rustc's
staticlib output, libyjit.a. This moves libyjit.a out of MAINLIBS and adds
libyjit.o into COMMONOBJS, which obviates the code for merging libyjit.a
into libruby-static.a. The odd appearance of libyjit.a in SOLIBS is also
gone.

To filter out symbols we do not want to export on ELF platforms, we use
objcopy after the partial link. On darwin, we supply a symbol list to
the linker which takes care of hiding unprefixed symbols.

[Bug #19255]

Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2023-01-27 12:28:09 -05:00
Nobuyoshi Nakada
6422fef90c Fix target_cpu at runtime 2023-01-26 16:31:08 +09:00
Hiroshi SHIBATA
2d98127131
Filter spec directory for code coverage 2023-01-26 14:05:01 +09:00
Hiroshi SHIBATA
069b6f88e2 Ignore all of tool directory from code coverage, It contains tool/test and etc. 2023-01-26 13:52:20 +09:00
Hiroshi SHIBATA
8662d70a8b Ignore vendored libraries by rubygems from code coverage 2023-01-26 13:52:20 +09:00
Hiroshi SHIBATA
98e84f3f7a filter coverage result with vendored libraries and test code 2023-01-26 13:52:20 +09:00
Nobuyoshi Nakada
17f5631c6e [Bug #19340] Fix bundle gems with test revision
Build temporary gem package from cloned repository if test revision is
set.
2023-01-26 12:50:39 +09:00
Hiroshi SHIBATA
5e1e5af2e7
Support simplecov-0.22.0.
simplecov-0.22.0 no longer support pre-0.18 result format. result data needs
  `lines` key for coverage data.
2023-01-25 16:47:05 +09:00
Nobuyoshi Nakada
1e2523fad7
Silence dozens of useless warnings from ranlib on macOS [ci skip] 2023-01-23 19:02:36 +09:00
Nobuyoshi Nakada
418b03c750
tool/leaked-globals: ignore function typedef [ci skip] 2023-01-21 19:26:16 +09:00
Nobuyoshi Nakada
03f5db01e6
Make installation messages verbose a little [ci skip] 2023-01-18 23:55:25 +09:00
Hiroshi SHIBATA
18d8333c30 Switch to use gem version of simplecov, not git clone 2023-01-18 20:19:08 +09:00
Hiroshi SHIBATA
ba45be3c43
Supressing warnings messages like:
Ignoring debug-1.7.1 because its extensions are not built. Try: gem pristine debug --version 1.7.

  Revert "Clear gem paths for each test"

  This reverts commit 6698b580dd.
2023-01-18 16:14:00 +09:00