Skip to content

Merge from upstream #26

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 89 commits into from
Sep 6, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
762fca9
Prefer `File` class methods to write a string
nobu Aug 31, 2022
ee09f75
Extract `VCS#revision_header`
nobu Aug 31, 2022
55b1600
Update revision.h in packages using `VCS#revision_header`
nobu Aug 31, 2022
f67ab7f
[ruby/did_you_mean] Fixed correction duplicates in VariableNameChecker
makketagg May 20, 2022
462a8be
VCS#revision_header: Make arguments optional
nobu Sep 1, 2022
4144abe
Let --yjit-dump-disasm=all dump ocb code as well (#6309)
k0kubun Sep 1, 2022
4191184
* 2022-09-02 [ci skip]
matzbot Sep 1, 2022
064944c
Stop using a callee-saved register for scratch0 on aarch64 (#6312)
k0kubun Sep 1, 2022
7064d25
Update NEWS.md for YJIT
k0kubun Sep 1, 2022
679ef34
New constant caching insn: opt_getconstant_path
jhawthorn Aug 10, 2022
1cc9741
Remove rb_iseq_each
jhawthorn Jul 27, 2022
3401e58
* expand tabs. [ci skip]
matzbot Sep 1, 2022
fc2d9fe
Use getblockparamproxy with branch
jhawthorn Aug 25, 2022
9b48edd
Allow comparing against 64-bit immediates on x86 (#6314)
kddnewton Sep 2, 2022
fb5fa84
Remove workarounds for slow compilation on Cirrus (#6310)
k0kubun Sep 2, 2022
e896b33
Test --enable-yjit on aarch64 as well (#6313)
k0kubun Sep 2, 2022
a9b59e2
Turn `f_zero_p` to `bool`
nobu Aug 31, 2022
9212d96
[Bug #18937] Coerce non-real non-Numeric into Complex at comparisons
nobu Aug 31, 2022
b5cf356
Consider Complex from Complex cases
nobu Aug 31, 2022
92d2476
Adjust styles [ci skip]
nobu Sep 2, 2022
e7a8e3e
Added entries about test-bundler-parallel and BUNDLER_SPECS
hsbt Sep 2, 2022
740d530
Added doc about `test-syntax-suggest`
hsbt Sep 2, 2022
f069bc7
* append newline at EOF. [ci skip]
matzbot Sep 2, 2022
7ff50ee
[ruby/reline] Added some of abstruct methods for cursor
hsbt Sep 2, 2022
0d2422c
[ruby/reline] Workaround for padding width with Aracritty on macOS
hsbt Sep 2, 2022
5044832
`w_bigfixnum` is used only for large FIXNUM
nobu Sep 2, 2022
1b8a644
[ruby/reline] Fix a typo [ci skip]
nobu Sep 2, 2022
6bb2a43
* 2022-09-03 [ci skip]
matzbot Sep 2, 2022
c8c90e4
Enhanced RDoc for Tim[DOC] (#6319)
BurdetteLamar Sep 2, 2022
bc5b9be
Move duplicate dependencies
nobu Sep 2, 2022
c4f2f2e
Reuse macros defined in Makefile.in
nobu Sep 3, 2022
652a624
miniruby may not be built when cross-compiling
nobu Sep 3, 2022
d8f81ff
builtin.c includes mini_builtin.c when cross-compiling
nobu Sep 3, 2022
21a5da3
Check if MSys shell can run a command with a drive letter
nobu Sep 2, 2022
6f5305e
Exclude LIBPATHENV wrapper from PREP
nobu Sep 2, 2022
8f13d75
Generate the prelude sources by common-srcs
nobu Sep 2, 2022
7c67d0f
Make sources by BASERUBY if available instead of miniruby
nobu Sep 2, 2022
7b11247
Fix potential target type confliction [ci skip]
nobu Sep 3, 2022
a01271c
BOOTSTRAPRUBY needs fake.rb when cross-compiling
nobu Sep 3, 2022
2767cb2
Now fake.rb is needed to prepare sources
nobu Sep 3, 2022
fe865c5
[DOC] Enhanced RDoc for Time (#6320)
BurdetteLamar Sep 3, 2022
baf0501
[DOC] Remove extra page-dir prefix to fix broken link
nobu Sep 3, 2022
0111dc5
[DOC] Escape backqoute method not to be converted to smart quotes
nobu Sep 3, 2022
45004bb
fake.rb needs id.h
nobu Sep 3, 2022
13a5974
* 2022-09-04 [ci skip]
matzbot Sep 3, 2022
cfa40e2
Prefer stdbool for MJIT options
k0kubun Sep 4, 2022
bbe5ec7
rb_int_range_last: properly handle non-exclusive range
byroot Sep 4, 2022
7666490
Ignore fake.rb for snapshot
nobu Sep 4, 2022
e83183b
* 2022-09-05 [ci skip]
matzbot Sep 4, 2022
51291ad
Remove extra semicolons at the top level [ci skip]
nobu Sep 4, 2022
f6d569b
Call appropriate hooks on MJIT's fork
k0kubun Sep 5, 2022
68a092a
Set fake.rb variables by command line arguments
nobu Sep 5, 2022
85a4831
Use cross compiling settings as fake.rb for snapshots
nobu Sep 5, 2022
1420333
Fix fake.rb expansion from preprocessed version.h
nobu Sep 5, 2022
f7cf641
[rubygems/rubygems] Fix resolution hanging on musl platforms
deivid-rodriguez May 9, 2022
45fe7f7
[rubygems/rubygems] Feature: `bundle add` supports `--path` option
flavorjones Sep 3, 2022
4d46947
Debugging snapshot [ci skip]
nobu Sep 5, 2022
277498e
Attempt to fix test-bundler
k0kubun Sep 5, 2022
3767c6a
Ruby MJIT (#6028)
k0kubun Sep 5, 2022
3eca1e4
Merge https://github.com/rubygems/rubygems/commit/16c3535413afebcdbab…
hsbt Sep 5, 2022
967fe33
s390x seems like a 64bit architecture
k0kubun Sep 5, 2022
d77c037
Automatically detect 64bit platforms
k0kubun Sep 5, 2022
c2986f7
Fix warnings from private_constant
k0kubun Sep 5, 2022
06eb9af
Add mjit-bindgen workflow (#6327)
k0kubun Sep 5, 2022
cb26917
Drop Solaris support for MJIT
k0kubun Sep 5, 2022
fb769aa
Update MJIT doc about bindgen and platforms [ci skip]
k0kubun Sep 5, 2022
915cbdb
Stop testing MJIT on s390x
k0kubun Sep 5, 2022
113581d
[ruby/set] Set version to 1.0.3.dev for fixing rubygems/bundler tests
hsbt Sep 5, 2022
4331d4b
Update default gems list at 113581d288496f8f3e60851b76b751 [ci skip]
matzbot Sep 5, 2022
a8a7c9d
[DOC] [Bug #17120] Fix match-reset `\K`
nobu Sep 5, 2022
6bc6c8d
[rubygems/rubygems] Remove no longer needed `fiddle` hacks
deivid-rodriguez Sep 5, 2022
27eb715
Workaround unused variable warning by builtin
k0kubun Sep 5, 2022
ca17254
* 2022-09-06 [ci skip]
matzbot Sep 5, 2022
63ed61e
Deal with MJIT_FORCE_ENABLE miniruby
k0kubun Sep 5, 2022
2657d8e
[ruby/set] Bump version to 1.0.3
hsbt Sep 6, 2022
6d10865
Update default gems list at 2657d8efb9d38761c1e09f54fadea4 [ci skip]
matzbot Sep 6, 2022
f4dbfa0
Skip test_redefinition_mismatch on trunk-mjit for now
k0kubun Sep 6, 2022
f6925fa
Do not fork the process on --mjit-wait
k0kubun Sep 6, 2022
5b3bd91
Add an option to lazily boot MJIT for experiments
k0kubun Sep 6, 2022
341b40b
Cache RubyVM::MJIT constants
k0kubun Sep 6, 2022
b726c06
Allow hooking a different method after --mjit=pause
k0kubun Sep 6, 2022
4214023
Run mjit-bindgen again
k0kubun Sep 6, 2022
3f9125a
Update c_32.rb
k0kubun Sep 6, 2022
03ae415
Fix typo
k0kubun Sep 6, 2022
8cd6f2a
omit random failure tests with FreeBSD
hsbt Sep 6, 2022
29bc3e0
omit random failure in bootstraptest with freebsd
hsbt Sep 6, 2022
c664264
[rubygems/rubygems] Add `syntax_suggest` to exemption list in setup s…
deivid-rodriguez Sep 5, 2022
1f77cc3
[rubygems/rubygems] Fix `set` not being found when running specs on d…
deivid-rodriguez Sep 6, 2022
ac317d2
Merge from upstream
chrisseaton Sep 6, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,10 @@ yjit_task:
--color=always
--tty=no
matrix:
CC: clang-12
CC: gcc-11
timeout_in: 90m
- CC: clang-12
configure: --enable-yjit=dev
- CC: gcc-11
configure: --enable-yjit
id_script: id
set_env_script:
# Set `GNUMAKEFLAGS`, because the flags are GNU make specific. Note using
Expand All @@ -114,7 +115,7 @@ yjit_task:
--disable-install-doc
--with-ext=-test-/cxxanyargs,+
--prefix="$RUBY_PREFIX"
--enable-yjit=dev
$configure
make_miniruby_script: source $HOME/.cargo/env && make miniruby
make_bindgen_script: |
if [[ "$CC" = "clang-12" ]]; then
Expand All @@ -128,6 +129,5 @@ yjit_task:
full_build_script: source $HOME/.cargo/env && make
cargo_test_script: source $HOME/.cargo/env && cd yjit && cargo test
make_test_script: source $HOME/.cargo/env && make test RUN_OPTS="--yjit-call-threshold=1 --yjit-verify-ctx"
make_test_all_script: source $HOME/.cargo/env && make test-all RUN_OPTS="--yjit-call-threshold=1" TESTOPTS="$RUBY_TESTOPTS"' --test-order=alpha --name=!/TestGCCompact/'
test_gc_compact_script: source $HOME/.cargo/env && make test-all RUN_OPTS="--yjit-call-threshold=1" TESTS="test/ruby/test_gc_compact.rb"
make_test_all_script: source $HOME/.cargo/env && make test-all RUN_OPTS="--yjit-call-threshold=1" TESTOPTS="$RUBY_TESTOPTS"
make_test_spec_script: source $HOME/.cargo/env && make test-spec RUN_OPTS="--yjit-call-threshold=1"
101 changes: 101 additions & 0 deletions .github/workflows/mjit-bindgen.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
name: MJIT bindgen
on:
push:
paths-ignore:
- 'doc/**'
- '**.md'
- '**.rdoc'
- '**/.document'
pull_request:
paths-ignore:
- 'doc/**'
- '**.md'
- '**.rdoc'
- '**/.document'

concurrency:
group: ${{ github.workflow }} / ${{ startsWith(github.event_name, 'pull') && github.ref_name || github.sha }}
cancel-in-progress: ${{ startsWith(github.event_name, 'pull') }}

jobs:
make:
strategy:
matrix:
include:
- task: mjit-bindgen
configure: '--enable-yjit=dev_nodebug'
- task: mjit-bindgen
arch: i686
fail-fast: false
env:
SETARCH: ${{ matrix.arch && format('setarch {0}', matrix.arch) }}
runs-on: ubuntu-20.04
if: ${{ !contains(github.event.head_commit.message, '[DOC]') && !contains(github.event.pull_request.labels.*.name, 'Documentation') }}
steps:
- run: mkdir build
working-directory:
- name: Set ENV
run: |
echo "GNUMAKEFLAGS=-j$((1 + $(nproc --all)))" >> $GITHUB_ENV
- name: Install libraries
env:
arch: ${{ matrix.arch }}
run: |
set -x
arch=${arch:+:${arch/i[3-6]86/i386}}
${arch:+sudo dpkg --add-architecture ${arch#:}}
sudo apt-get update -q || :
sudo apt-get install --no-install-recommends -q -y \
${arch:+cross}build-essential${arch/:/-} \
libssl-dev${arch} libyaml-dev${arch} libreadline6-dev${arch} \
zlib1g-dev${arch} libncurses5-dev${arch} libffi-dev${arch} \
libclang1-10${arch} \
bison autoconf ruby
sudo apt-get install -q -y pkg-config${arch} || :
- name: git config
run: |
git config --global advice.detachedHead 0
git config --global init.defaultBranch garbage
- uses: actions/checkout@v3
with:
path: src
- uses: actions/cache@v3
with:
path: src/.downloaded-cache
key: downloaded-cache
- name: Fixed world writable dirs
run: |
chmod -v go-w $HOME $HOME/.config
sudo chmod -R go-w /usr/share
sudo bash -c 'IFS=:; for d in '"$PATH"'; do chmod -v go-w $d; done' || :
- run: ./autogen.sh
working-directory: src
- name: Run configure
env:
arch: ${{ matrix.arch }}
run: >-
$SETARCH ../src/configure -C --disable-install-doc --prefix=$(pwd)/install ${{ matrix.configure }}
${arch:+--target=$arch-$OSTYPE --host=$arch-$OSTYPE}
- run: $SETARCH make incs
- run: $SETARCH make
- run: $SETARCH make install
- run: $SETARCH make ${{ matrix.task }}
- run: git diff --exit-code
working-directory: src
- uses: k0kubun/[email protected]
with:
payload: |
{
"ci": "GitHub Actions",
"env": "${{ matrix.os }} / ${{ matrix.test_task }}${{ matrix.configure }}",
"url": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",
"commit": "${{ github.sha }}",
"branch": "${{ github.ref }}".split('/').reverse()[0]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot
if: ${{ failure() && github.event_name == 'push' }}

defaults:
run:
working-directory: build
3 changes: 2 additions & 1 deletion .github/workflows/wasm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,8 @@ jobs:
debugflags="${{ matrix.entry.debugflags }}" \
wasmoptflags="${{ matrix.entry.wasmoptflags }} ${{ matrix.entry.debugflags }}"

- run: make ruby
# miniruby may not be built when cross-compling
- run: make mini ruby
- name: Run basictest
run: wasmtime run ./../build/miniruby --mapdir /::./ -- basictest/test.rb
working-directory: src
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,7 @@ lcov*.info
/rb_mjit_header.h
/mjit_config.h
/include/ruby-*/*/rb_mjit_min_header-*.h
/mjit_instruction.rb

# /wasm/
/wasm/tests/*.wasm
9 changes: 7 additions & 2 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ Note: We're only listing outstanding class updates.
* psych 5.0.0.dev
* reline 0.3.1
* securerandom 0.2.0
* set 1.0.3
* stringio 3.0.3
* syntax_suggest 0.0.1
* timeout 0.3.0
Expand Down Expand Up @@ -238,9 +239,12 @@ The following deprecated APIs are removed.

## JIT

### MJIT
### YJIT

* Support arm64 / aarch64 on UNIX platforms.
* Building YJIT requires Rust 1.58.1+. [[Feature #18481]]

### YJIT: New experimental in-process JIT compiler
### MJIT

## Static analysis

Expand Down Expand Up @@ -287,3 +291,4 @@ The following deprecated APIs are removed.
[Bug #18782]: https://bugs.ruby-lang.org/issues/18782
[Feature #18788]: https://bugs.ruby-lang.org/issues/18788
[Feature #18809]: https://bugs.ruby-lang.org/issues/18809
[Feature #18481]: https://bugs.ruby-lang.org/issues/18481
6 changes: 6 additions & 0 deletions benchmark/vm_const.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
prelude: |
Const = 1
A = B = C = D = E = F = G = H = I = J = K = L = M = N = O = P = Q = R = S = T = U = V = W = X = Y = Z = 1
def foo
A; B; C; D; E; F; G; H; I; J; K; L; M; N; O; P; Q; R; S; T; U; V; W; X; Y; Z
end
benchmark:
vm_const: |
j = Const
k = Const
vm_const_many: |
foo
loop_count: 30000000
1 change: 1 addition & 0 deletions bootstraptest/test_io.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
end
}, '[ruby-dev:32566]'

/freebsd/ =~ RUBY_PLATFORM or
assert_finish 5, %q{
r, w = IO.pipe
Thread.new {
Expand Down
72 changes: 52 additions & 20 deletions common.mk
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ EXTSOLIBS =
MINIOBJS = $(ARCHMINIOBJS) miniinit.$(OBJEXT) dmyext.$(OBJEXT)
ENC_MK = enc.mk
MAKE_ENC = -f $(ENC_MK) V="$(V)" UNICODE_HDR_DIR="$(UNICODE_HDR_DIR)" \
RUBY="$(MINIRUBY)" MINIRUBY="$(MINIRUBY)" $(mflags)
RUBY="$(BOOTSTRAPRUBY)" MINIRUBY="$(BOOTSTRAPRUBY)" $(mflags)

COMMONOBJS = array.$(OBJEXT) \
ast.$(OBJEXT) \
Expand Down Expand Up @@ -229,6 +229,21 @@ yes-mjit-headers: mjit_config.h PHONY
mjit.$(OBJEXT): mjit_config.h
mjit_config.h: Makefile

.PHONY: mjit-bindgen
mjit-bindgen:
$(Q)$(XRUBY) -C $(srcdir) -Ilib \
-e 'ENV["GEM_HOME"] = File.expand_path(".bundle")' \
-e 'ENV["BUNDLE_APP_CONFIG"] = File.expand_path(".bundle")' \
-e 'ENV["BUNDLE_PATH__SYSTEM"] = "true"' \
-e 'ENV["BUNDLE_WITHOUT"] = "lint doc"' \
-e 'load "spec/bundler/support/bundle.rb"' -- install --gemfile=tool/mjit/Gemfile
$(Q)$(XRUBY) -C $(srcdir) -Ilib \
-e 'ENV["GEM_HOME"] = File.expand_path(".bundle")' \
-e 'ENV["BUNDLE_APP_CONFIG"] = File.expand_path(".bundle")' \
-e 'ENV["BUNDLE_GEMFILE"] = "tool/mjit/Gemfile"' \
-e 'ENV["BUNDLE_PATH__SYSTEM"] = "true"' \
-e 'ENV["BUNDLE_WITHOUT"] = "lint doc"' \
-e 'load "spec/bundler/support/bundle.rb"' -- exec tool/mjit/bindgen.rb $(CURDIR)

# These rules using MJIT_HEADER_SUFFIX must be in common.mk, not
# Makefile.in, in order to override the macro in defs/universal.mk.
Expand Down Expand Up @@ -755,9 +770,13 @@ fake: $(CROSS_COMPILING)-fake
yes-fake: $(arch)-fake.rb $(RBCONFIG) PHONY
no-fake -fake: PHONY

# really doesn't depend on .o, just ensure newer than headers which
# version.o depends on.
$(arch)-fake.rb: $(srcdir)/template/fake.rb.in $(tooldir)/generic_erb.rb version.$(OBJEXT) miniruby$(EXEEXT)
$(HAVE_BASERUBY:no=)$(arch)-fake.rb: miniruby$(EXEEXT)

# actually depending on other headers more.
$(arch:noarch=ignore)-fake.rb: $(top_srcdir)/revision.h $(top_srcdir)/version.h $(srcdir)/version.c
$(arch:noarch=ignore)-fake.rb: {$(VPATH)}id.h {$(VPATH)}vm_opts.h

$(arch:noarch=ignore)-fake.rb: $(srcdir)/template/fake.rb.in $(tooldir)/generic_erb.rb
$(ECHO) generating $@
$(Q) $(CPP) -DRUBY_EXPORT $(INCFLAGS) $(CPPFLAGS) "$(srcdir)/version.c" | \
$(BOOTSTRAPRUBY) "$(tooldir)/generic_erb.rb" -o $@ "$(srcdir)/template/fake.rb.in" \
Expand Down Expand Up @@ -839,6 +858,9 @@ extconf: $(PREP)
$(Q) $(MAKEDIRS) "$(EXTCONFDIR)"
$(RUNRUBY) -C "$(EXTCONFDIR)" $(EXTCONF) $(EXTCONFARGS)

rbconfig.rb: $(RBCONFIG)

$(HAVE_BASERUBY:no=)$(RBCONFIG)$(HAVE_BASERUBY:no=): $(PREP)
$(RBCONFIG): $(tooldir)/mkconfig.rb config.status $(srcdir)/version.h
$(Q)$(BOOTSTRAPRUBY) -n \
-e 'BEGIN{version=ARGV.shift;mis=ARGV.dup}' \
Expand Down Expand Up @@ -885,9 +907,10 @@ libtrans trans: {$(VPATH)}transdb.h
ENC_HEADERS = $(srcdir)/enc/jis/props.h
# Use MINIRUBY which loads fake.rb for cross compiling
$(ENC_MK): $(srcdir)/enc/make_encmake.rb $(srcdir)/enc/Makefile.in $(srcdir)/enc/depend \
$(srcdir)/enc/encinit.c.erb $(ENC_HEADERS) $(srcdir)/lib/mkmf.rb $(RBCONFIG) fake
$(srcdir)/enc/encinit.c.erb $(ENC_HEADERS) $(srcdir)/lib/mkmf.rb $(RBCONFIG) $(HAVE_BASERUBY)-fake
$(ECHO) generating $@
$(Q) $(MINIRUBY) $(srcdir)/enc/make_encmake.rb --builtin-encs="$(BUILTIN_ENCOBJS)" --builtin-transes="$(BUILTIN_TRANSOBJS)" --module$(ENCSTATIC) $(ENCS) $@
$(Q) $(BOOTSTRAPRUBY) -r./$(arch)-fake $(srcdir)/enc/make_encmake.rb \
--builtin-encs="$(BUILTIN_ENCOBJS)" --builtin-transes="$(BUILTIN_TRANSOBJS)" --module$(ENCSTATIC) $(ENCS) $@

.PRECIOUS: $(MKFILES)

Expand Down Expand Up @@ -923,11 +946,11 @@ $(PLATFORM_D):
$(Q) $(MAKEDIRS) $(PLATFORM_DIR) $(@D)
@$(NULLCMD) > $@

exe/$(PROGRAM): ruby-runner.c ruby-runner.h exe/.time miniruby$(EXEEXT) {$(VPATH)}config.h
exe/$(PROGRAM): ruby-runner.c ruby-runner.h exe/.time $(PREP) {$(VPATH)}config.h
$(Q) $(CC) $(CFLAGS) $(INCFLAGS) $(CPPFLAGS) -DRUBY_INSTALL_NAME=$(@F) $(COUTFLAG)ruby-runner.$(OBJEXT) -c $(CSRCFLAG)$(srcdir)/ruby-runner.c
$(Q) $(PURIFY) $(CC) $(CFLAGS) $(LDFLAGS) $(OUTFLAG)$@ ruby-runner.$(OBJEXT) $(LIBS)
$(Q) $(POSTLINK)
$(Q) ./miniruby$(EXEEXT) \
$(Q) $(BOOTSTRAPRUBY) \
-e 'prog, dest, inst = ARGV; dest += "/ruby"' \
-e 'exit unless prog==inst' \
-e 'unless prog=="ruby"' \
Expand Down Expand Up @@ -1041,11 +1064,7 @@ $(srcs_vpath)insns_info.inc: $(tooldir)/ruby_vm/views/insns_info.inc.erb $(inc_c
$(srcs_vpath)vmtc.inc: $(tooldir)/ruby_vm/views/vmtc.inc.erb $(inc_common_headers)
$(srcs_vpath)vm.inc: $(tooldir)/ruby_vm/views/vm.inc.erb $(inc_common_headers) \
$(tooldir)/ruby_vm/views/_insn_entry.erb $(tooldir)/ruby_vm/views/_trace_instruction.erb
$(srcs_vpath)mjit_compile.inc: $(tooldir)/ruby_vm/views/mjit_compile.inc.erb $(inc_common_headers) \
$(tooldir)/ruby_vm/views/_mjit_compile_insn.erb $(tooldir)/ruby_vm/views/_mjit_compile_send.erb \
$(tooldir)/ruby_vm/views/_mjit_compile_ivar.erb \
$(tooldir)/ruby_vm/views/_mjit_compile_insn_body.erb $(tooldir)/ruby_vm/views/_mjit_compile_pc_and_sp.erb \
$(tooldir)/ruby_vm/views/_mjit_compile_invokebuiltin.erb $(tooldir)/ruby_vm/views/_mjit_compile_getinlinecache.erb
$(srcs_vpath)mjit_compile_attr.inc: $(tooldir)/ruby_vm/views/mjit_compile_attr.inc.erb

BUILTIN_RB_SRCS = \
$(srcdir)/ast.rb \
Expand All @@ -1055,6 +1074,8 @@ BUILTIN_RB_SRCS = \
$(srcdir)/io.rb \
$(srcdir)/marshal.rb \
$(srcdir)/mjit.rb \
$(srcdir)/mjit_compiler.rb \
$(srcdir)/mjit_instruction.rb \
$(srcdir)/pack.rb \
$(srcdir)/trace_point.rb \
$(srcdir)/warning.rb \
Expand All @@ -1072,7 +1093,7 @@ BUILTIN_RB_INCS = $(BUILTIN_RB_SRCS:.rb=.rbinc)

common-srcs: $(srcs_vpath)parse.c $(srcs_vpath)lex.c $(srcs_vpath)enc/trans/newline.c $(srcs_vpath)id.c \
$(BUILTIN_RB_INCS) \
srcs-lib srcs-ext incs
srcs-lib srcs-ext incs preludes

missing-srcs: $(srcdir)/missing/des_tables.c

Expand Down Expand Up @@ -1128,13 +1149,13 @@ node_name.inc: $(tooldir)/node_name.rb $(srcdir)/node.h
$(ECHO) generating $@
$(Q) $(BASERUBY) -n $(tooldir)/node_name.rb < $(srcdir)/node.h > $@

encdb.h: $(PREP) $(tooldir)/generic_erb.rb $(srcdir)/template/encdb.h.tmpl
encdb.h: $(RBCONFIG) $(tooldir)/generic_erb.rb $(srcdir)/template/encdb.h.tmpl
$(ECHO) generating $@
$(Q) $(MINIRUBY) $(tooldir)/generic_erb.rb -c -o $@ $(srcdir)/template/encdb.h.tmpl $(srcdir)/enc enc
$(Q) $(BOOTSTRAPRUBY) $(tooldir)/generic_erb.rb -c -o $@ $(srcdir)/template/encdb.h.tmpl $(srcdir)/enc enc

transdb.h: $(PREP) srcs-enc $(tooldir)/generic_erb.rb $(srcdir)/template/transdb.h.tmpl
transdb.h: $(RBCONFIG) srcs-enc $(tooldir)/generic_erb.rb $(srcdir)/template/transdb.h.tmpl
$(ECHO) generating $@
$(Q) $(MINIRUBY) $(tooldir)/generic_erb.rb -c -o $@ $(srcdir)/template/transdb.h.tmpl $(srcdir)/enc/trans enc/trans
$(Q) $(BOOTSTRAPRUBY) $(tooldir)/generic_erb.rb -c -o $@ $(srcdir)/template/transdb.h.tmpl $(srcdir)/enc/trans enc/trans

enc/encinit.c: $(ENC_MK) $(srcdir)/enc/encinit.c.erb

Expand All @@ -1146,7 +1167,7 @@ vm_call_iseq_optimized.inc: $(srcdir)/template/call_iseq_optimized.inc.tmpl
$(ECHO) generating $@
$(Q) $(BASERUBY) $(tooldir)/generic_erb.rb -c -o $@ $(srcdir)/template/call_iseq_optimized.inc.tmpl

$(MINIPRELUDE_C): $(COMPILE_PRELUDE) $(BUILTIN_RB_SRCS)
$(MINIPRELUDE_C): $(COMPILE_PRELUDE) $(BUILTIN_RB_SRCS) $(srcdir)/mjit_instruction.rb
$(ECHO) generating $@
$(Q) $(BASERUBY) $(tooldir)/generic_erb.rb -I$(srcdir) -o $@ \
$(srcdir)/template/prelude.c.tmpl $(BUILTIN_RB_SRCS)
Expand Down Expand Up @@ -1721,6 +1742,9 @@ help: PHONY
" https://bugs.ruby-lang.org/projects/ruby/wiki/DeveloperHowto" \
$(MESSAGE_END)

$(CROSS_COMPILING:yes=)builtin.$(OBJEXT): {$(VPATH)}mini_builtin.c
$(CROSS_COMPILING:yes=)builtin.$(OBJEXT): {$(VPATH)}miniprelude.c

# AUTOGENERATED DEPENDENCIES START
addr2line.$(OBJEXT): {$(VPATH)}addr2line.c
addr2line.$(OBJEXT): {$(VPATH)}addr2line.h
Expand Down Expand Up @@ -9269,6 +9293,7 @@ miniinit.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h
miniinit.$(OBJEXT): $(CCAN_DIR)/list/list.h
miniinit.$(OBJEXT): $(CCAN_DIR)/str/str.h
miniinit.$(OBJEXT): $(hdrdir)/ruby/ruby.h
miniinit.$(OBJEXT): $(srcdir)/mjit_instruction.rb
miniinit.$(OBJEXT): $(top_srcdir)/internal/array.h
miniinit.$(OBJEXT): $(top_srcdir)/internal/compilers.h
miniinit.$(OBJEXT): $(top_srcdir)/internal/gc.h
Expand Down Expand Up @@ -9459,6 +9484,8 @@ miniinit.$(OBJEXT): {$(VPATH)}miniinit.c
miniinit.$(OBJEXT): {$(VPATH)}miniprelude.c
miniinit.$(OBJEXT): {$(VPATH)}missing.h
miniinit.$(OBJEXT): {$(VPATH)}mjit.rb
miniinit.$(OBJEXT): {$(VPATH)}mjit_compiler.rb
miniinit.$(OBJEXT): {$(VPATH)}mjit_instruction.rb
miniinit.$(OBJEXT): {$(VPATH)}nilclass.rb
miniinit.$(OBJEXT): {$(VPATH)}node.h
miniinit.$(OBJEXT): {$(VPATH)}numeric.rb
Expand Down Expand Up @@ -9712,6 +9739,7 @@ mjit_compiler.$(OBJEXT): $(CCAN_DIR)/list/list.h
mjit_compiler.$(OBJEXT): $(CCAN_DIR)/str/str.h
mjit_compiler.$(OBJEXT): $(hdrdir)/ruby.h
mjit_compiler.$(OBJEXT): $(hdrdir)/ruby/ruby.h
mjit_compiler.$(OBJEXT): $(srcdir)/mjit_instruction.rb
mjit_compiler.$(OBJEXT): $(top_srcdir)/internal/array.h
mjit_compiler.$(OBJEXT): $(top_srcdir)/internal/class.h
mjit_compiler.$(OBJEXT): $(top_srcdir)/internal/compile.h
Expand Down Expand Up @@ -9892,8 +9920,12 @@ mjit_compiler.$(OBJEXT): {$(VPATH)}iseq.h
mjit_compiler.$(OBJEXT): {$(VPATH)}method.h
mjit_compiler.$(OBJEXT): {$(VPATH)}missing.h
mjit_compiler.$(OBJEXT): {$(VPATH)}mjit.h
mjit_compiler.$(OBJEXT): {$(VPATH)}mjit_compile.inc
mjit_compiler.$(OBJEXT): {$(VPATH)}mjit_compile_attr.inc
mjit_compiler.$(OBJEXT): {$(VPATH)}mjit_compiler.c
mjit_compiler.$(OBJEXT): {$(VPATH)}mjit_compiler.h
mjit_compiler.$(OBJEXT): {$(VPATH)}mjit_compiler.rb
mjit_compiler.$(OBJEXT): {$(VPATH)}mjit_compiler.rbinc
mjit_compiler.$(OBJEXT): {$(VPATH)}mjit_instruction.rbinc
mjit_compiler.$(OBJEXT): {$(VPATH)}mjit_unit.h
mjit_compiler.$(OBJEXT): {$(VPATH)}node.h
mjit_compiler.$(OBJEXT): {$(VPATH)}ruby_assert.h
Expand Down
Loading