Skip to content

Commit 6cd4549

Browse files
committed
Optimize File.join common use case
`File.join` is a hotspot for common libraries such as Zeitwerk and Bootsnap. It has a fairly flexible signature, but 99% of the time it's called with just two (or a small number of) UTF-8 strings. If we optimistically optimize for that use case we can cut down a large number of type and encoding checks, significantly speeding up the method. The one remaining expensive check we could try to optimize is `str_null_check`. Given it's common to use the same base string for joining, we could memoize it. Also we could precompute it for literal strings. ``` compare-ruby: ruby 4.1.0dev (2026-01-17T14:40:03Z master 00a3b71) +PRISM [arm64-darwin25] built-ruby: ruby 4.1.0dev (2026-01-18T12:10:38Z spedup-file-join 069bab5) +PRISM [arm64-darwin25] warming up.... | |compare-ruby|built-ruby| |:-------------|-----------:|---------:| |two_strings | 2.475M| 9.444M| | | -| 3.82x| |many_strings | 551.975k| 2.346M| | | -| 4.25x| |array | 514.946k| 522.034k| | | -| 1.01x| |mixed | 621.236k| 633.189k| | | -| 1.02x| ```
1 parent d1dc4bd commit 6cd4549

File tree

10 files changed

+197
-39
lines changed

10 files changed

+197
-39
lines changed

benchmark/file_join.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
prelude: |
2+
# frozen_string_literal: true
3+
benchmark:
4+
two_strings: File.join(__FILE__, "path")
5+
many_strings: File.join(__FILE__, "path", "a", "b", "c", "d")
6+
array: File.join([__FILE__, "path", "a", "b", "c", "d"])
7+
mixed: File.join(__FILE__, "path", "a", "b", ["c", "d"])

depend

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -799,6 +799,7 @@ box.$(OBJEXT): {$(VPATH)}constant.h
799799
box.$(OBJEXT): {$(VPATH)}darray.h
800800
box.$(OBJEXT): {$(VPATH)}debug_counter.h
801801
box.$(OBJEXT): {$(VPATH)}defines.h
802+
box.$(OBJEXT): {$(VPATH)}encindex.h
802803
box.$(OBJEXT): {$(VPATH)}encoding.h
803804
box.$(OBJEXT): {$(VPATH)}eval_intern.h
804805
box.$(OBJEXT): {$(VPATH)}id.h
@@ -1250,6 +1251,7 @@ class.$(OBJEXT): {$(VPATH)}config.h
12501251
class.$(OBJEXT): {$(VPATH)}constant.h
12511252
class.$(OBJEXT): {$(VPATH)}debug_counter.h
12521253
class.$(OBJEXT): {$(VPATH)}defines.h
1254+
class.$(OBJEXT): {$(VPATH)}encindex.h
12531255
class.$(OBJEXT): {$(VPATH)}encoding.h
12541256
class.$(OBJEXT): {$(VPATH)}id.h
12551257
class.$(OBJEXT): {$(VPATH)}id_table.h
@@ -1449,6 +1451,7 @@ compar.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h
14491451
compar.$(OBJEXT): {$(VPATH)}compar.c
14501452
compar.$(OBJEXT): {$(VPATH)}config.h
14511453
compar.$(OBJEXT): {$(VPATH)}defines.h
1454+
compar.$(OBJEXT): {$(VPATH)}encindex.h
14521455
compar.$(OBJEXT): {$(VPATH)}encoding.h
14531456
compar.$(OBJEXT): {$(VPATH)}id.h
14541457
compar.$(OBJEXT): {$(VPATH)}intern.h
@@ -1921,6 +1924,7 @@ complex.$(OBJEXT): {$(VPATH)}config.h
19211924
complex.$(OBJEXT): {$(VPATH)}constant.h
19221925
complex.$(OBJEXT): {$(VPATH)}debug_counter.h
19231926
complex.$(OBJEXT): {$(VPATH)}defines.h
1927+
complex.$(OBJEXT): {$(VPATH)}encindex.h
19241928
complex.$(OBJEXT): {$(VPATH)}encoding.h
19251929
complex.$(OBJEXT): {$(VPATH)}id.h
19261930
complex.$(OBJEXT): {$(VPATH)}id_table.h
@@ -2126,6 +2130,7 @@ concurrent_set.$(OBJEXT): {$(VPATH)}concurrent_set.c
21262130
concurrent_set.$(OBJEXT): {$(VPATH)}config.h
21272131
concurrent_set.$(OBJEXT): {$(VPATH)}debug_counter.h
21282132
concurrent_set.$(OBJEXT): {$(VPATH)}defines.h
2133+
concurrent_set.$(OBJEXT): {$(VPATH)}encindex.h
21292134
concurrent_set.$(OBJEXT): {$(VPATH)}encoding.h
21302135
concurrent_set.$(OBJEXT): {$(VPATH)}id.h
21312136
concurrent_set.$(OBJEXT): {$(VPATH)}id_table.h
@@ -2364,6 +2369,7 @@ cont.$(OBJEXT): {$(VPATH)}constant.h
23642369
cont.$(OBJEXT): {$(VPATH)}cont.c
23652370
cont.$(OBJEXT): {$(VPATH)}debug_counter.h
23662371
cont.$(OBJEXT): {$(VPATH)}defines.h
2372+
cont.$(OBJEXT): {$(VPATH)}encindex.h
23672373
cont.$(OBJEXT): {$(VPATH)}encoding.h
23682374
cont.$(OBJEXT): {$(VPATH)}eval_intern.h
23692375
cont.$(OBJEXT): {$(VPATH)}fiber/scheduler.h
@@ -4906,6 +4912,7 @@ enumerator.$(OBJEXT): {$(VPATH)}config.h
49064912
enumerator.$(OBJEXT): {$(VPATH)}constant.h
49074913
enumerator.$(OBJEXT): {$(VPATH)}debug_counter.h
49084914
enumerator.$(OBJEXT): {$(VPATH)}defines.h
4915+
enumerator.$(OBJEXT): {$(VPATH)}encindex.h
49094916
enumerator.$(OBJEXT): {$(VPATH)}encoding.h
49104917
enumerator.$(OBJEXT): {$(VPATH)}enumerator.c
49114918
enumerator.$(OBJEXT): {$(VPATH)}id.h
@@ -5126,6 +5133,7 @@ error.$(OBJEXT): {$(VPATH)}config.h
51265133
error.$(OBJEXT): {$(VPATH)}constant.h
51275134
error.$(OBJEXT): {$(VPATH)}debug_counter.h
51285135
error.$(OBJEXT): {$(VPATH)}defines.h
5136+
error.$(OBJEXT): {$(VPATH)}encindex.h
51295137
error.$(OBJEXT): {$(VPATH)}encoding.h
51305138
error.$(OBJEXT): {$(VPATH)}error.c
51315139
error.$(OBJEXT): {$(VPATH)}id.h
@@ -5373,6 +5381,7 @@ eval.$(OBJEXT): {$(VPATH)}config.h
53735381
eval.$(OBJEXT): {$(VPATH)}constant.h
53745382
eval.$(OBJEXT): {$(VPATH)}debug_counter.h
53755383
eval.$(OBJEXT): {$(VPATH)}defines.h
5384+
eval.$(OBJEXT): {$(VPATH)}encindex.h
53765385
eval.$(OBJEXT): {$(VPATH)}encoding.h
53775386
eval.$(OBJEXT): {$(VPATH)}eval.c
53785387
eval.$(OBJEXT): {$(VPATH)}eval_error.c
@@ -5584,6 +5593,7 @@ file.$(OBJEXT): $(top_srcdir)/internal/array.h
55845593
file.$(OBJEXT): $(top_srcdir)/internal/class.h
55855594
file.$(OBJEXT): $(top_srcdir)/internal/compilers.h
55865595
file.$(OBJEXT): $(top_srcdir)/internal/dir.h
5596+
file.$(OBJEXT): $(top_srcdir)/internal/encoding.h
55875597
file.$(OBJEXT): $(top_srcdir)/internal/error.h
55885598
file.$(OBJEXT): $(top_srcdir)/internal/file.h
55895599
file.$(OBJEXT): $(top_srcdir)/internal/gc.h
@@ -5865,6 +5875,7 @@ gc.$(OBJEXT): {$(VPATH)}darray.h
58655875
gc.$(OBJEXT): {$(VPATH)}debug.h
58665876
gc.$(OBJEXT): {$(VPATH)}debug_counter.h
58675877
gc.$(OBJEXT): {$(VPATH)}defines.h
5878+
gc.$(OBJEXT): {$(VPATH)}encindex.h
58685879
gc.$(OBJEXT): {$(VPATH)}encoding.h
58695880
gc.$(OBJEXT): {$(VPATH)}eval_intern.h
58705881
gc.$(OBJEXT): {$(VPATH)}gc.c
@@ -6373,6 +6384,7 @@ hash.$(OBJEXT): {$(VPATH)}config.h
63736384
hash.$(OBJEXT): {$(VPATH)}constant.h
63746385
hash.$(OBJEXT): {$(VPATH)}debug_counter.h
63756386
hash.$(OBJEXT): {$(VPATH)}defines.h
6387+
hash.$(OBJEXT): {$(VPATH)}encindex.h
63766388
hash.$(OBJEXT): {$(VPATH)}encoding.h
63776389
hash.$(OBJEXT): {$(VPATH)}hash.c
63786390
hash.$(OBJEXT): {$(VPATH)}hash.rbinc
@@ -7203,6 +7215,7 @@ io_buffer.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h
72037215
io_buffer.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h
72047216
io_buffer.$(OBJEXT): {$(VPATH)}config.h
72057217
io_buffer.$(OBJEXT): {$(VPATH)}defines.h
7218+
io_buffer.$(OBJEXT): {$(VPATH)}encindex.h
72067219
io_buffer.$(OBJEXT): {$(VPATH)}encoding.h
72077220
io_buffer.$(OBJEXT): {$(VPATH)}fiber/scheduler.h
72087221
io_buffer.$(OBJEXT): {$(VPATH)}id.h
@@ -7454,6 +7467,7 @@ iseq.$(OBJEXT): {$(VPATH)}config.h
74547467
iseq.$(OBJEXT): {$(VPATH)}constant.h
74557468
iseq.$(OBJEXT): {$(VPATH)}debug_counter.h
74567469
iseq.$(OBJEXT): {$(VPATH)}defines.h
7470+
iseq.$(OBJEXT): {$(VPATH)}encindex.h
74577471
iseq.$(OBJEXT): {$(VPATH)}encoding.h
74587472
iseq.$(OBJEXT): {$(VPATH)}eval_intern.h
74597473
iseq.$(OBJEXT): {$(VPATH)}id.h
@@ -7702,6 +7716,7 @@ jit.$(OBJEXT): {$(VPATH)}config.h
77027716
jit.$(OBJEXT): {$(VPATH)}constant.h
77037717
jit.$(OBJEXT): {$(VPATH)}debug_counter.h
77047718
jit.$(OBJEXT): {$(VPATH)}defines.h
7719+
jit.$(OBJEXT): {$(VPATH)}encindex.h
77057720
jit.$(OBJEXT): {$(VPATH)}encoding.h
77067721
jit.$(OBJEXT): {$(VPATH)}id.h
77077722
jit.$(OBJEXT): {$(VPATH)}id_table.h
@@ -7956,6 +7971,7 @@ load.$(OBJEXT): {$(VPATH)}constant.h
79567971
load.$(OBJEXT): {$(VPATH)}darray.h
79577972
load.$(OBJEXT): {$(VPATH)}defines.h
79587973
load.$(OBJEXT): {$(VPATH)}dln.h
7974+
load.$(OBJEXT): {$(VPATH)}encindex.h
79597975
load.$(OBJEXT): {$(VPATH)}encoding.h
79607976
load.$(OBJEXT): {$(VPATH)}eval_intern.h
79617977
load.$(OBJEXT): {$(VPATH)}id.h
@@ -9979,6 +9995,7 @@ numeric.$(OBJEXT): {$(VPATH)}builtin.h
99799995
numeric.$(OBJEXT): {$(VPATH)}config.h
99809996
numeric.$(OBJEXT): {$(VPATH)}constant.h
99819997
numeric.$(OBJEXT): {$(VPATH)}defines.h
9998+
numeric.$(OBJEXT): {$(VPATH)}encindex.h
99829999
numeric.$(OBJEXT): {$(VPATH)}encoding.h
998310000
numeric.$(OBJEXT): {$(VPATH)}id.h
998410001
numeric.$(OBJEXT): {$(VPATH)}id_table.h
@@ -10200,6 +10217,7 @@ object.$(OBJEXT): {$(VPATH)}config.h
1020010217
object.$(OBJEXT): {$(VPATH)}constant.h
1020110218
object.$(OBJEXT): {$(VPATH)}debug_counter.h
1020210219
object.$(OBJEXT): {$(VPATH)}defines.h
10220+
object.$(OBJEXT): {$(VPATH)}encindex.h
1020310221
object.$(OBJEXT): {$(VPATH)}encoding.h
1020410222
object.$(OBJEXT): {$(VPATH)}id.h
1020510223
object.$(OBJEXT): {$(VPATH)}id_table.h
@@ -10418,6 +10436,7 @@ pack.$(OBJEXT): {$(VPATH)}builtin.h
1041810436
pack.$(OBJEXT): {$(VPATH)}config.h
1041910437
pack.$(OBJEXT): {$(VPATH)}constant.h
1042010438
pack.$(OBJEXT): {$(VPATH)}defines.h
10439+
pack.$(OBJEXT): {$(VPATH)}encindex.h
1042110440
pack.$(OBJEXT): {$(VPATH)}encoding.h
1042210441
pack.$(OBJEXT): {$(VPATH)}id.h
1042310442
pack.$(OBJEXT): {$(VPATH)}id_table.h
@@ -10644,6 +10663,7 @@ parse.$(OBJEXT): {$(VPATH)}config.h
1064410663
parse.$(OBJEXT): {$(VPATH)}constant.h
1064510664
parse.$(OBJEXT): {$(VPATH)}defines.h
1064610665
parse.$(OBJEXT): {$(VPATH)}defs/keywords
10666+
parse.$(OBJEXT): {$(VPATH)}encindex.h
1064710667
parse.$(OBJEXT): {$(VPATH)}encoding.h
1064810668
parse.$(OBJEXT): {$(VPATH)}id.h
1064910669
parse.$(OBJEXT): {$(VPATH)}id_table.h
@@ -12125,6 +12145,7 @@ proc.$(OBJEXT): {$(VPATH)}config.h
1212512145
proc.$(OBJEXT): {$(VPATH)}constant.h
1212612146
proc.$(OBJEXT): {$(VPATH)}debug_counter.h
1212712147
proc.$(OBJEXT): {$(VPATH)}defines.h
12148+
proc.$(OBJEXT): {$(VPATH)}encindex.h
1212812149
proc.$(OBJEXT): {$(VPATH)}encoding.h
1212912150
proc.$(OBJEXT): {$(VPATH)}eval_intern.h
1213012151
proc.$(OBJEXT): {$(VPATH)}id.h
@@ -12356,6 +12377,7 @@ process.$(OBJEXT): {$(VPATH)}constant.h
1235612377
process.$(OBJEXT): {$(VPATH)}debug_counter.h
1235712378
process.$(OBJEXT): {$(VPATH)}defines.h
1235812379
process.$(OBJEXT): {$(VPATH)}dln.h
12380+
process.$(OBJEXT): {$(VPATH)}encindex.h
1235912381
process.$(OBJEXT): {$(VPATH)}encoding.h
1236012382
process.$(OBJEXT): {$(VPATH)}fiber/scheduler.h
1236112383
process.$(OBJEXT): {$(VPATH)}hrtime.h
@@ -12585,6 +12607,7 @@ ractor.$(OBJEXT): {$(VPATH)}config.h
1258512607
ractor.$(OBJEXT): {$(VPATH)}constant.h
1258612608
ractor.$(OBJEXT): {$(VPATH)}debug_counter.h
1258712609
ractor.$(OBJEXT): {$(VPATH)}defines.h
12610+
ractor.$(OBJEXT): {$(VPATH)}encindex.h
1258812611
ractor.$(OBJEXT): {$(VPATH)}encoding.h
1258912612
ractor.$(OBJEXT): {$(VPATH)}eval_intern.h
1259012613
ractor.$(OBJEXT): {$(VPATH)}id.h
@@ -13018,6 +13041,7 @@ range.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h
1301813041
range.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h
1301913042
range.$(OBJEXT): {$(VPATH)}config.h
1302013043
range.$(OBJEXT): {$(VPATH)}defines.h
13044+
range.$(OBJEXT): {$(VPATH)}encindex.h
1302113045
range.$(OBJEXT): {$(VPATH)}encoding.h
1302213046
range.$(OBJEXT): {$(VPATH)}id.h
1302313047
range.$(OBJEXT): {$(VPATH)}id_table.h
@@ -14688,6 +14712,7 @@ ruby.$(OBJEXT): {$(VPATH)}constant.h
1468814712
ruby.$(OBJEXT): {$(VPATH)}debug_counter.h
1468914713
ruby.$(OBJEXT): {$(VPATH)}defines.h
1469014714
ruby.$(OBJEXT): {$(VPATH)}dln.h
14715+
ruby.$(OBJEXT): {$(VPATH)}encindex.h
1469114716
ruby.$(OBJEXT): {$(VPATH)}encoding.h
1469214717
ruby.$(OBJEXT): {$(VPATH)}eval_intern.h
1469314718
ruby.$(OBJEXT): {$(VPATH)}id.h
@@ -14896,6 +14921,7 @@ ruby_parser.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h
1489614921
ruby_parser.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h
1489714922
ruby_parser.$(OBJEXT): {$(VPATH)}config.h
1489814923
ruby_parser.$(OBJEXT): {$(VPATH)}defines.h
14924+
ruby_parser.$(OBJEXT): {$(VPATH)}encindex.h
1489914925
ruby_parser.$(OBJEXT): {$(VPATH)}encoding.h
1490014926
ruby_parser.$(OBJEXT): {$(VPATH)}intern.h
1490114927
ruby_parser.$(OBJEXT): {$(VPATH)}internal.h
@@ -15306,6 +15332,7 @@ set.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h
1530615332
set.$(OBJEXT): {$(VPATH)}config.h
1530715333
set.$(OBJEXT): {$(VPATH)}constant.h
1530815334
set.$(OBJEXT): {$(VPATH)}defines.h
15335+
set.$(OBJEXT): {$(VPATH)}encindex.h
1530915336
set.$(OBJEXT): {$(VPATH)}encoding.h
1531015337
set.$(OBJEXT): {$(VPATH)}id.h
1531115338
set.$(OBJEXT): {$(VPATH)}id_table.h
@@ -15678,6 +15705,7 @@ shape.$(OBJEXT): {$(VPATH)}config.h
1567815705
shape.$(OBJEXT): {$(VPATH)}constant.h
1567915706
shape.$(OBJEXT): {$(VPATH)}debug_counter.h
1568015707
shape.$(OBJEXT): {$(VPATH)}defines.h
15708+
shape.$(OBJEXT): {$(VPATH)}encindex.h
1568115709
shape.$(OBJEXT): {$(VPATH)}encoding.h
1568215710
shape.$(OBJEXT): {$(VPATH)}id.h
1568315711
shape.$(OBJEXT): {$(VPATH)}id_table.h
@@ -15892,6 +15920,7 @@ signal.$(OBJEXT): {$(VPATH)}config.h
1589215920
signal.$(OBJEXT): {$(VPATH)}constant.h
1589315921
signal.$(OBJEXT): {$(VPATH)}debug_counter.h
1589415922
signal.$(OBJEXT): {$(VPATH)}defines.h
15923+
signal.$(OBJEXT): {$(VPATH)}encindex.h
1589515924
signal.$(OBJEXT): {$(VPATH)}encoding.h
1589615925
signal.$(OBJEXT): {$(VPATH)}eval_intern.h
1589715926
signal.$(OBJEXT): {$(VPATH)}id.h
@@ -16101,6 +16130,7 @@ sprintf.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h
1610116130
sprintf.$(OBJEXT): {$(VPATH)}config.h
1610216131
sprintf.$(OBJEXT): {$(VPATH)}constant.h
1610316132
sprintf.$(OBJEXT): {$(VPATH)}defines.h
16133+
sprintf.$(OBJEXT): {$(VPATH)}encindex.h
1610416134
sprintf.$(OBJEXT): {$(VPATH)}encoding.h
1610516135
sprintf.$(OBJEXT): {$(VPATH)}id.h
1610616136
sprintf.$(OBJEXT): {$(VPATH)}id_table.h
@@ -16457,6 +16487,7 @@ strftime.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h
1645716487
strftime.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h
1645816488
strftime.$(OBJEXT): {$(VPATH)}config.h
1645916489
strftime.$(OBJEXT): {$(VPATH)}defines.h
16490+
strftime.$(OBJEXT): {$(VPATH)}encindex.h
1646016491
strftime.$(OBJEXT): {$(VPATH)}encoding.h
1646116492
strftime.$(OBJEXT): {$(VPATH)}intern.h
1646216493
strftime.$(OBJEXT): {$(VPATH)}internal.h
@@ -16925,6 +16956,7 @@ struct.$(OBJEXT): {$(VPATH)}config.h
1692516956
struct.$(OBJEXT): {$(VPATH)}constant.h
1692616957
struct.$(OBJEXT): {$(VPATH)}debug_counter.h
1692716958
struct.$(OBJEXT): {$(VPATH)}defines.h
16959+
struct.$(OBJEXT): {$(VPATH)}encindex.h
1692816960
struct.$(OBJEXT): {$(VPATH)}encoding.h
1692916961
struct.$(OBJEXT): {$(VPATH)}id.h
1693016962
struct.$(OBJEXT): {$(VPATH)}id_table.h
@@ -17141,6 +17173,7 @@ symbol.$(OBJEXT): {$(VPATH)}constant.h
1714117173
symbol.$(OBJEXT): {$(VPATH)}darray.h
1714217174
symbol.$(OBJEXT): {$(VPATH)}debug_counter.h
1714317175
symbol.$(OBJEXT): {$(VPATH)}defines.h
17176+
symbol.$(OBJEXT): {$(VPATH)}encindex.h
1714417177
symbol.$(OBJEXT): {$(VPATH)}encoding.h
1714517178
symbol.$(OBJEXT): {$(VPATH)}id.c
1714617179
symbol.$(OBJEXT): {$(VPATH)}id.h
@@ -17398,6 +17431,7 @@ thread.$(OBJEXT): {$(VPATH)}constant.h
1739817431
thread.$(OBJEXT): {$(VPATH)}debug.h
1739917432
thread.$(OBJEXT): {$(VPATH)}debug_counter.h
1740017433
thread.$(OBJEXT): {$(VPATH)}defines.h
17434+
thread.$(OBJEXT): {$(VPATH)}encindex.h
1740117435
thread.$(OBJEXT): {$(VPATH)}encoding.h
1740217436
thread.$(OBJEXT): {$(VPATH)}eval_intern.h
1740317437
thread.$(OBJEXT): {$(VPATH)}fiber/scheduler.h
@@ -17628,6 +17662,7 @@ time.$(OBJEXT): {$(VPATH)}builtin.h
1762817662
time.$(OBJEXT): {$(VPATH)}config.h
1762917663
time.$(OBJEXT): {$(VPATH)}constant.h
1763017664
time.$(OBJEXT): {$(VPATH)}defines.h
17665+
time.$(OBJEXT): {$(VPATH)}encindex.h
1763117666
time.$(OBJEXT): {$(VPATH)}encoding.h
1763217667
time.$(OBJEXT): {$(VPATH)}id.h
1763317668
time.$(OBJEXT): {$(VPATH)}id_table.h
@@ -17830,6 +17865,7 @@ transcode.$(OBJEXT): {$(VPATH)}config.h
1783017865
transcode.$(OBJEXT): {$(VPATH)}constant.h
1783117866
transcode.$(OBJEXT): {$(VPATH)}debug_counter.h
1783217867
transcode.$(OBJEXT): {$(VPATH)}defines.h
17868+
transcode.$(OBJEXT): {$(VPATH)}encindex.h
1783317869
transcode.$(OBJEXT): {$(VPATH)}encoding.h
1783417870
transcode.$(OBJEXT): {$(VPATH)}id.h
1783517871
transcode.$(OBJEXT): {$(VPATH)}id_table.h
@@ -18211,6 +18247,7 @@ variable.$(OBJEXT): {$(VPATH)}config.h
1821118247
variable.$(OBJEXT): {$(VPATH)}constant.h
1821218248
variable.$(OBJEXT): {$(VPATH)}debug_counter.h
1821318249
variable.$(OBJEXT): {$(VPATH)}defines.h
18250+
variable.$(OBJEXT): {$(VPATH)}encindex.h
1821418251
variable.$(OBJEXT): {$(VPATH)}encoding.h
1821518252
variable.$(OBJEXT): {$(VPATH)}id.h
1821618253
variable.$(OBJEXT): {$(VPATH)}id_table.h
@@ -18687,6 +18724,7 @@ vm.$(OBJEXT): {$(VPATH)}constant.h
1868718724
vm.$(OBJEXT): {$(VPATH)}debug_counter.h
1868818725
vm.$(OBJEXT): {$(VPATH)}defines.h
1868918726
vm.$(OBJEXT): {$(VPATH)}defs/opt_operand.def
18727+
vm.$(OBJEXT): {$(VPATH)}encindex.h
1869018728
vm.$(OBJEXT): {$(VPATH)}encoding.h
1869118729
vm.$(OBJEXT): {$(VPATH)}eval_intern.h
1869218730
vm.$(OBJEXT): {$(VPATH)}id.h
@@ -18951,6 +18989,7 @@ vm_backtrace.$(OBJEXT): {$(VPATH)}constant.h
1895118989
vm_backtrace.$(OBJEXT): {$(VPATH)}debug.h
1895218990
vm_backtrace.$(OBJEXT): {$(VPATH)}debug_counter.h
1895318991
vm_backtrace.$(OBJEXT): {$(VPATH)}defines.h
18992+
vm_backtrace.$(OBJEXT): {$(VPATH)}encindex.h
1895418993
vm_backtrace.$(OBJEXT): {$(VPATH)}encoding.h
1895518994
vm_backtrace.$(OBJEXT): {$(VPATH)}eval_intern.h
1895618995
vm_backtrace.$(OBJEXT): {$(VPATH)}id.h
@@ -20087,6 +20126,7 @@ yjit.$(OBJEXT): {$(VPATH)}constant.h
2008720126
yjit.$(OBJEXT): {$(VPATH)}debug.h
2008820127
yjit.$(OBJEXT): {$(VPATH)}debug_counter.h
2008920128
yjit.$(OBJEXT): {$(VPATH)}defines.h
20129+
yjit.$(OBJEXT): {$(VPATH)}encindex.h
2009020130
yjit.$(OBJEXT): {$(VPATH)}encoding.h
2009120131
yjit.$(OBJEXT): {$(VPATH)}id.h
2009220132
yjit.$(OBJEXT): {$(VPATH)}id_table.h
@@ -20342,6 +20382,7 @@ zjit.$(OBJEXT): {$(VPATH)}constant.h
2034220382
zjit.$(OBJEXT): {$(VPATH)}debug.h
2034320383
zjit.$(OBJEXT): {$(VPATH)}debug_counter.h
2034420384
zjit.$(OBJEXT): {$(VPATH)}defines.h
20385+
zjit.$(OBJEXT): {$(VPATH)}encindex.h
2034520386
zjit.$(OBJEXT): {$(VPATH)}encoding.h
2034620387
zjit.$(OBJEXT): {$(VPATH)}id.h
2034720388
zjit.$(OBJEXT): {$(VPATH)}id_table.h

ext/-test-/stack/depend

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ stack.o: $(hdrdir)/ruby/oniguruma.h
172172
stack.o: $(hdrdir)/ruby/ruby.h
173173
stack.o: $(hdrdir)/ruby/st.h
174174
stack.o: $(hdrdir)/ruby/subst.h
175+
stack.o: $(top_srcdir)/encindex.h
175176
stack.o: $(top_srcdir)/internal/compilers.h
176177
stack.o: $(top_srcdir)/internal/string.h
177178
stack.o: stack.c

ext/-test-/string/depend

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ capacity.o: $(hdrdir)/ruby/oniguruma.h
172172
capacity.o: $(hdrdir)/ruby/ruby.h
173173
capacity.o: $(hdrdir)/ruby/st.h
174174
capacity.o: $(hdrdir)/ruby/subst.h
175+
capacity.o: $(top_srcdir)/encindex.h
175176
capacity.o: $(top_srcdir)/internal/compilers.h
176177
capacity.o: $(top_srcdir)/internal/string.h
177178
capacity.o: capacity.c
@@ -679,6 +680,7 @@ cstr.o: $(hdrdir)/ruby/oniguruma.h
679680
cstr.o: $(hdrdir)/ruby/ruby.h
680681
cstr.o: $(hdrdir)/ruby/st.h
681682
cstr.o: $(hdrdir)/ruby/subst.h
683+
cstr.o: $(top_srcdir)/encindex.h
682684
cstr.o: $(top_srcdir)/internal.h
683685
cstr.o: $(top_srcdir)/internal/compilers.h
684686
cstr.o: $(top_srcdir)/internal/string.h
@@ -1535,6 +1537,7 @@ fstring.o: $(hdrdir)/ruby/oniguruma.h
15351537
fstring.o: $(hdrdir)/ruby/ruby.h
15361538
fstring.o: $(hdrdir)/ruby/st.h
15371539
fstring.o: $(hdrdir)/ruby/subst.h
1540+
fstring.o: $(top_srcdir)/encindex.h
15381541
fstring.o: $(top_srcdir)/internal/compilers.h
15391542
fstring.o: $(top_srcdir)/internal/string.h
15401543
fstring.o: fstring.c

ext/objspace/depend

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -602,6 +602,7 @@ objspace_dump.o: $(top_srcdir)/ccan/list/list.h
602602
objspace_dump.o: $(top_srcdir)/ccan/str/str.h
603603
objspace_dump.o: $(top_srcdir)/constant.h
604604
objspace_dump.o: $(top_srcdir)/debug_counter.h
605+
objspace_dump.o: $(top_srcdir)/encindex.h
605606
objspace_dump.o: $(top_srcdir)/id_table.h
606607
objspace_dump.o: $(top_srcdir)/internal.h
607608
objspace_dump.o: $(top_srcdir)/internal/array.h

ext/ripper/depend

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,7 @@ ripper.o: $(top_srcdir)/ccan/container_of/container_of.h
578578
ripper.o: $(top_srcdir)/ccan/list/list.h
579579
ripper.o: $(top_srcdir)/ccan/str/str.h
580580
ripper.o: $(top_srcdir)/constant.h
581+
ripper.o: $(top_srcdir)/encindex.h
581582
ripper.o: $(top_srcdir)/id_table.h
582583
ripper.o: $(top_srcdir)/internal.h
583584
ripper.o: $(top_srcdir)/internal/array.h

0 commit comments

Comments
 (0)