shopify-ruby-definitions 1.3.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/shopify_ruby_definitions/ruby_versions.rb +11 -5
- data/lib/shopify_ruby_definitions/version.rb +1 -1
- data/rubies/3.2.2-pshopify17 +69 -0
- data/rubies/3.2.2-pshopify18 +73 -0
- data/rubies/3.2.2-pshopify19 +76 -0
- data/rubies/3.3.0-preview2-pshopify1 +12 -0
- data/rubies/truffleruby+graalvm-23.1.0-ce +21 -0
- data/rubies/truffleruby-23.1.0-ce +21 -0
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 391e118351fc1019e5214d78e4318b326191bd8c4d4cb9579ffaaa99942f4542
|
4
|
+
data.tar.gz: 0701f82e3a004abbd7f7aca7d5e7b7015201d012f3fa8f1b177083128708e7ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 755e99c0be1cd21a6a29f750c04a02de55b715c754f558cc8643fb5a3954c012c562823cc676eca08a8da5c048c868ebe346735e5e5414562ee1a60363a6cc9e
|
7
|
+
data.tar.gz: a675bdde6e993cc307635dcd5d5e214b721cab39da8e1e9006e92a122d773294c474af8392b808f9b4fb289b1c731a4369a80fb169865588682afecce6653634
|
@@ -2,13 +2,19 @@
|
|
2
2
|
|
3
3
|
module ShopifyRubyDefinitions
|
4
4
|
module RubyVersions
|
5
|
+
class << self
|
6
|
+
def build_version_overrides(all_versions)
|
7
|
+
all_versions.sort_by do |version|
|
8
|
+
version.scan(/\d+/).map(&:to_i)
|
9
|
+
end.to_h do |version|
|
10
|
+
[version.partition("-pshopify").first, version]
|
11
|
+
end.freeze
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
5
15
|
VERSIONS_DIRECTORY = File.expand_path("../../../rubies", __FILE__)
|
6
16
|
ALL_VERSIONS = Dir["#{VERSIONS_DIRECTORY}/*"].map { |f| File.basename(f) }
|
7
|
-
VERSION_OVERRIDES = ALL_VERSIONS
|
8
|
-
version.scan(/\d+/).map(&:to_i)
|
9
|
-
end.to_h do |version|
|
10
|
-
[version.split("-").first, version]
|
11
|
-
end.freeze
|
17
|
+
VERSION_OVERRIDES = build_version_overrides(ALL_VERSIONS)
|
12
18
|
|
13
19
|
def version_overrides
|
14
20
|
VERSION_OVERRIDES
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify17
|
2
|
+
|
3
|
+
# Based off `ruby_3_2`, with backports of:
|
4
|
+
# @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
|
5
|
+
# @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
|
6
|
+
# @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
|
7
|
+
# @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
|
8
|
+
# @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
|
9
|
+
# @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
|
10
|
+
# @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
|
11
|
+
# @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
|
12
|
+
# @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
|
13
|
+
# @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
|
14
|
+
# @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
|
15
|
+
# @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
|
16
|
+
# @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
|
17
|
+
# @jhawthorn Use write barriers for Backtrace objects
|
18
|
+
# @peterzhu2118 Crash when malloc during GC
|
19
|
+
# @peterzhu2118 Fix crash when allocating classes with newobj hook
|
20
|
+
# @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
|
21
|
+
# @byroot Implement Write Barrier for autoload_data
|
22
|
+
# @byroot Implement Write Barrier for autoload_table_type
|
23
|
+
# @k0kubun YJIT: Protect strings from GC on String#<<
|
24
|
+
# @tenderlove Use an st table for "too complex" objects
|
25
|
+
# @byroot Cache `Process.pid`
|
26
|
+
# @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
|
27
|
+
# @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
|
28
|
+
# @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
|
29
|
+
# @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
|
30
|
+
# @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
|
31
|
+
# @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
|
32
|
+
# @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
|
33
|
+
# @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
|
34
|
+
# @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
|
35
|
+
# @k0kubun YJIT: Implement throw instruction https://github.com/ruby/ruby/pull/7491
|
36
|
+
# @k0kubun YJIT: Fallback send instructions to vm_sendish https://github.com/ruby/ruby/pull/8106
|
37
|
+
# @k0kubun YJIT: Support entry for multiple PCs per ISEQ https://github.com/ruby/ruby/pull/7535
|
38
|
+
# @k0kubun YJIT: Distinguish exit and fallback reasons for send https://github.com/ruby/ruby/pull/8159
|
39
|
+
# @k0kubun YJIT: Use dynamic dispatch for megamorphic send https://github.com/ruby/ruby/pull/8125
|
40
|
+
# @k0kubun YJIT: Compile exception handlers https://github.com/ruby/ruby/pull/8171
|
41
|
+
# @k0kubun YJIT: Introduce RubyVM::YJIT.stats_string https://github.com/ruby/ruby/pull/7857
|
42
|
+
# @k0kubun YJIT: Don't side-exit on too-complex shapes https://github.com/ruby/ruby/pull/7298
|
43
|
+
# @k0kubun YJIT: Distinguish exit and fallback reasons for invokesuper/invokeblock https://github.com/ruby/ruby/pull/8194
|
44
|
+
# @jhawthorn YJIT: invokesuper: Remove cme mid matching check https://github.com/ruby/ruby/pull/7740
|
45
|
+
# @k0kubun YJIT: Fallback megamorphic super/yield to dynamic dispatch https://github.com/ruby/ruby/pull/8197
|
46
|
+
# @maximecb YJIT: add stats for ratio of versions per block https://github.com/ruby/ruby/pull/7653
|
47
|
+
# @XrXr YJIT: YJIT: Fix false object collection when setting ivar https://github.com/ruby/ruby/pull/7718
|
48
|
+
# @peterzhu2118 Add REMEMBERED_WB_UNPROTECTED_OBJECTS_LIMIT_RATIO https://github.com/ruby/ruby/pull/7577
|
49
|
+
# @k0kubun YJIT: Fallback setivar if the next shape is too complex ruby/ruby#8152
|
50
|
+
# @byroot YJIT: Fallback setivar if the receiver isn't T_OBJECT ruby/ruby#8160
|
51
|
+
# @maximecb YJIT: handle expandarray_rhs_too_small case ruby/ruby#8161
|
52
|
+
# @maximecb YJIT: add jb (unsigned less-than) instruction to backend ruby/ruby#8168
|
53
|
+
# @maximecb YJIT: guard for array_len >= num in expandarray ruby/ruby#8169
|
54
|
+
# @k0kubun YJIT: Implement checkmatch instruction ruby/ruby#8203
|
55
|
+
# @maximecb YJIT: increase max chain depth for expandarray ruby/ruby#8205
|
56
|
+
# @k0kubun YJIT: Support ifunc on invokeblock ruby/ruby#7233
|
57
|
+
# @k0kubun YJIT: Allow VM_CALL_ARGS_BLOCKARG on invokesuper ruby/ruby#8198
|
58
|
+
# @k0kubun YJIT: Implement GET_BLOCK_HANDLER() for invokesuper ruby/ruby#8206
|
59
|
+
# @k0kubun YJIT: Refactor getlocal and setlocal insns ruby/ruby#7320
|
60
|
+
# @maximecb YJIT: implement side chain fallback for setlocal to avoid exiting ruby/ruby#8227
|
61
|
+
# @byroot YJIT: Stop incrementing jit_entry_calls once threshold is hit https://github.com/ruby/ruby/pull/8259
|
62
|
+
# @peterzhu2118 Implement GC.free_all_empty_pages
|
63
|
+
# @nobu / @byroot Write crash report in $RUBY_CRASH_REPORT https://bugs.ruby-lang.org/issues/19790
|
64
|
+
# @k0kubun YJIT: Make compiled_* stats available by default https://github.com/ruby/ruby/pull/8379
|
65
|
+
# @k0kubun YJIT: Add compilation time counter https://github.com/ruby/ruby/pull/8417
|
66
|
+
# @k0kubun YJIT: Make yjit_alloc_size available by default https://github.com/ruby/ruby/pull/8426
|
67
|
+
|
68
|
+
install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
|
69
|
+
install_git "ruby-3.2.2-pshopify17" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify17" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify18
|
2
|
+
|
3
|
+
# Based off `ruby_3_2`, with backports of:
|
4
|
+
# @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
|
5
|
+
# @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
|
6
|
+
# @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
|
7
|
+
# @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
|
8
|
+
# @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
|
9
|
+
# @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
|
10
|
+
# @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
|
11
|
+
# @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
|
12
|
+
# @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
|
13
|
+
# @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
|
14
|
+
# @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
|
15
|
+
# @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
|
16
|
+
# @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
|
17
|
+
# @jhawthorn Use write barriers for Backtrace objects
|
18
|
+
# @peterzhu2118 Crash when malloc during GC
|
19
|
+
# @peterzhu2118 Fix crash when allocating classes with newobj hook
|
20
|
+
# @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
|
21
|
+
# @byroot Implement Write Barrier for autoload_data
|
22
|
+
# @byroot Implement Write Barrier for autoload_table_type
|
23
|
+
# @k0kubun YJIT: Protect strings from GC on String#<<
|
24
|
+
# @tenderlove Use an st table for "too complex" objects
|
25
|
+
# @byroot Cache `Process.pid`
|
26
|
+
# @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
|
27
|
+
# @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
|
28
|
+
# @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
|
29
|
+
# @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
|
30
|
+
# @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
|
31
|
+
# @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
|
32
|
+
# @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
|
33
|
+
# @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
|
34
|
+
# @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
|
35
|
+
# @k0kubun YJIT: Implement throw instruction https://github.com/ruby/ruby/pull/7491
|
36
|
+
# @k0kubun YJIT: Fallback send instructions to vm_sendish https://github.com/ruby/ruby/pull/8106
|
37
|
+
# @k0kubun YJIT: Support entry for multiple PCs per ISEQ https://github.com/ruby/ruby/pull/7535
|
38
|
+
# @k0kubun YJIT: Distinguish exit and fallback reasons for send https://github.com/ruby/ruby/pull/8159
|
39
|
+
# @k0kubun YJIT: Use dynamic dispatch for megamorphic send https://github.com/ruby/ruby/pull/8125
|
40
|
+
# @k0kubun YJIT: Compile exception handlers https://github.com/ruby/ruby/pull/8171
|
41
|
+
# @k0kubun YJIT: Introduce RubyVM::YJIT.stats_string https://github.com/ruby/ruby/pull/7857
|
42
|
+
# @k0kubun YJIT: Don't side-exit on too-complex shapes https://github.com/ruby/ruby/pull/7298
|
43
|
+
# @k0kubun YJIT: Distinguish exit and fallback reasons for invokesuper/invokeblock https://github.com/ruby/ruby/pull/8194
|
44
|
+
# @jhawthorn YJIT: invokesuper: Remove cme mid matching check https://github.com/ruby/ruby/pull/7740
|
45
|
+
# @k0kubun YJIT: Fallback megamorphic super/yield to dynamic dispatch https://github.com/ruby/ruby/pull/8197
|
46
|
+
# @maximecb YJIT: add stats for ratio of versions per block https://github.com/ruby/ruby/pull/7653
|
47
|
+
# @XrXr YJIT: YJIT: Fix false object collection when setting ivar https://github.com/ruby/ruby/pull/7718
|
48
|
+
# @peterzhu2118 Add REMEMBERED_WB_UNPROTECTED_OBJECTS_LIMIT_RATIO https://github.com/ruby/ruby/pull/7577
|
49
|
+
# @k0kubun YJIT: Fallback setivar if the next shape is too complex ruby/ruby#8152
|
50
|
+
# @byroot YJIT: Fallback setivar if the receiver isn't T_OBJECT ruby/ruby#8160
|
51
|
+
# @maximecb YJIT: handle expandarray_rhs_too_small case ruby/ruby#8161
|
52
|
+
# @maximecb YJIT: add jb (unsigned less-than) instruction to backend ruby/ruby#8168
|
53
|
+
# @maximecb YJIT: guard for array_len >= num in expandarray ruby/ruby#8169
|
54
|
+
# @k0kubun YJIT: Implement checkmatch instruction ruby/ruby#8203
|
55
|
+
# @maximecb YJIT: increase max chain depth for expandarray ruby/ruby#8205
|
56
|
+
# @k0kubun YJIT: Support ifunc on invokeblock ruby/ruby#7233
|
57
|
+
# @k0kubun YJIT: Allow VM_CALL_ARGS_BLOCKARG on invokesuper ruby/ruby#8198
|
58
|
+
# @k0kubun YJIT: Implement GET_BLOCK_HANDLER() for invokesuper ruby/ruby#8206
|
59
|
+
# @k0kubun YJIT: Refactor getlocal and setlocal insns ruby/ruby#7320
|
60
|
+
# @maximecb YJIT: implement side chain fallback for setlocal to avoid exiting ruby/ruby#8227
|
61
|
+
# @byroot YJIT: Stop incrementing jit_entry_calls once threshold is hit https://github.com/ruby/ruby/pull/8259
|
62
|
+
# @peterzhu2118 Implement GC.free_all_empty_pages
|
63
|
+
# @nobu / @byroot Write crash report in $RUBY_CRASH_REPORT https://bugs.ruby-lang.org/issues/19790
|
64
|
+
# @k0kubun YJIT: Make compiled_* stats available by default https://github.com/ruby/ruby/pull/8379
|
65
|
+
# @k0kubun YJIT: Add compilation time counter https://github.com/ruby/ruby/pull/8417
|
66
|
+
# @k0kubun YJIT: Make yjit_alloc_size available by default https://github.com/ruby/ruby/pull/8426
|
67
|
+
# @peterzhu2118 Fix growth in minor GC when we have initial slots https://github.com/ruby/ruby/pull/8310
|
68
|
+
# @peterzhu2118 Correctly calculate initial pages https://github.com/ruby/ruby/pull/8333
|
69
|
+
# @peterzhu2118 Incrementally mark even if we have free pages https://github.com/ruby/ruby/pull/8230
|
70
|
+
# @peterzhu2118 Pool more slots for large size pools https://github.com/ruby/ruby/pull/8249
|
71
|
+
|
72
|
+
install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
|
73
|
+
install_git "ruby-3.2.2-pshopify18" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify18" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|
@@ -0,0 +1,76 @@
|
|
1
|
+
# https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify19
|
2
|
+
|
3
|
+
# Based off `ruby_3_2`, with backports of:
|
4
|
+
# @byroot [ruby/set] Avoid the `block or return` pattern to save Proc allocations https://github.com/ruby/set/pull/29
|
5
|
+
# @peterzhu2118 Keep shared arrays WB protected https://github.com/ruby/ruby/pull/7224
|
6
|
+
# @peterzhu2118 Make BigDecimal WB protected https://github.com/ruby/bigdecimal/pull/248
|
7
|
+
# @XrXr YJIT String#+@ fixes https://github.com/ruby/ruby/pull/7328
|
8
|
+
# @byroot Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly https://github.com/ruby/ruby/pull/7235
|
9
|
+
# @byroot Consider DATA objects without a mark function as protected https://github.com/ruby/ruby/pull/7263
|
10
|
+
# @byroot Implement Write Barrier for RMatch objects https://github.com/ruby/ruby/pull/7286
|
11
|
+
# @byroot Enable write barriers on File::Stat https://github.com/ruby/ruby/pull/7239
|
12
|
+
# @byroot Implement Write Barrier for Backtrace::Location https://github.com/ruby/ruby/pull/7240
|
13
|
+
# @byroot Mark "mapping_buffer" as write barrier protected https://github.com/ruby/ruby/pull/7238
|
14
|
+
# @byroot Mark "method" objects as protected by write barrier https://github.com/ruby/ruby/pull/7237
|
15
|
+
# @byroot Mark Encoding as Write Barrier protected Mark Encoding as Write Barrier protected
|
16
|
+
# @peterzhu2118 Make Time objects WB protected https://github.com/ruby/ruby/pull/7244
|
17
|
+
# @jhawthorn Use write barriers for Backtrace objects
|
18
|
+
# @peterzhu2118 Crash when malloc during GC
|
19
|
+
# @peterzhu2118 Fix crash when allocating classes with newobj hook
|
20
|
+
# @peterzhu2118 [Bug #19469] Fix crash when resizing generic iv list
|
21
|
+
# @byroot Implement Write Barrier for autoload_data
|
22
|
+
# @byroot Implement Write Barrier for autoload_table_type
|
23
|
+
# @k0kubun YJIT: Protect strings from GC on String#<<
|
24
|
+
# @tenderlove Use an st table for "too complex" objects
|
25
|
+
# @byroot Cache `Process.pid`
|
26
|
+
# @byroot thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
|
27
|
+
# @XrXr Fix write barrier order for klass to cme edge https://github.com/ruby/ruby/pull/7113
|
28
|
+
# @peterzhu2118 Ensure throw data is not set as cause https://github.com/ruby/ruby/pull/7696
|
29
|
+
# @peterzhu2118 Fix crash in rb_gc_register_address https://github.com/ruby/ruby/pull/7670
|
30
|
+
# @peterzhu2118 [Feature #19678] Don't immediately promote children of old objects https://github.com/ruby/ruby/pull/7821
|
31
|
+
# @k0kubun YJIT: Use rb_ivar_get at the end of ivar chains https://github.com/ruby/ruby/pull/7334
|
32
|
+
# @k0kubun / @maximecb / @XrXr YJIT: Add --yjit-pause and RubyVM::YJIT.resume https://github.com/ruby/ruby/pull/7609
|
33
|
+
# @k0kubun YJIT: Make ratio_in_yjit always available https://github.com/ruby/ruby/pull/8064
|
34
|
+
# @peterzhu2118 Store initial slots per size pool https://github.com/ruby/ruby/pull/8116
|
35
|
+
# @k0kubun YJIT: Implement throw instruction https://github.com/ruby/ruby/pull/7491
|
36
|
+
# @k0kubun YJIT: Fallback send instructions to vm_sendish https://github.com/ruby/ruby/pull/8106
|
37
|
+
# @k0kubun YJIT: Support entry for multiple PCs per ISEQ https://github.com/ruby/ruby/pull/7535
|
38
|
+
# @k0kubun YJIT: Distinguish exit and fallback reasons for send https://github.com/ruby/ruby/pull/8159
|
39
|
+
# @k0kubun YJIT: Use dynamic dispatch for megamorphic send https://github.com/ruby/ruby/pull/8125
|
40
|
+
# @k0kubun YJIT: Compile exception handlers https://github.com/ruby/ruby/pull/8171
|
41
|
+
# @k0kubun YJIT: Introduce RubyVM::YJIT.stats_string https://github.com/ruby/ruby/pull/7857
|
42
|
+
# @k0kubun YJIT: Don't side-exit on too-complex shapes https://github.com/ruby/ruby/pull/7298
|
43
|
+
# @k0kubun YJIT: Distinguish exit and fallback reasons for invokesuper/invokeblock https://github.com/ruby/ruby/pull/8194
|
44
|
+
# @jhawthorn YJIT: invokesuper: Remove cme mid matching check https://github.com/ruby/ruby/pull/7740
|
45
|
+
# @k0kubun YJIT: Fallback megamorphic super/yield to dynamic dispatch https://github.com/ruby/ruby/pull/8197
|
46
|
+
# @maximecb YJIT: add stats for ratio of versions per block https://github.com/ruby/ruby/pull/7653
|
47
|
+
# @XrXr YJIT: YJIT: Fix false object collection when setting ivar https://github.com/ruby/ruby/pull/7718
|
48
|
+
# @peterzhu2118 Add REMEMBERED_WB_UNPROTECTED_OBJECTS_LIMIT_RATIO https://github.com/ruby/ruby/pull/7577
|
49
|
+
# @k0kubun YJIT: Fallback setivar if the next shape is too complex ruby/ruby#8152
|
50
|
+
# @byroot YJIT: Fallback setivar if the receiver isn't T_OBJECT ruby/ruby#8160
|
51
|
+
# @maximecb YJIT: handle expandarray_rhs_too_small case ruby/ruby#8161
|
52
|
+
# @maximecb YJIT: add jb (unsigned less-than) instruction to backend ruby/ruby#8168
|
53
|
+
# @maximecb YJIT: guard for array_len >= num in expandarray ruby/ruby#8169
|
54
|
+
# @k0kubun YJIT: Implement checkmatch instruction ruby/ruby#8203
|
55
|
+
# @maximecb YJIT: increase max chain depth for expandarray ruby/ruby#8205
|
56
|
+
# @k0kubun YJIT: Support ifunc on invokeblock ruby/ruby#7233
|
57
|
+
# @k0kubun YJIT: Allow VM_CALL_ARGS_BLOCKARG on invokesuper ruby/ruby#8198
|
58
|
+
# @k0kubun YJIT: Implement GET_BLOCK_HANDLER() for invokesuper ruby/ruby#8206
|
59
|
+
# @k0kubun YJIT: Refactor getlocal and setlocal insns ruby/ruby#7320
|
60
|
+
# @maximecb YJIT: implement side chain fallback for setlocal to avoid exiting ruby/ruby#8227
|
61
|
+
# @byroot YJIT: Stop incrementing jit_entry_calls once threshold is hit https://github.com/ruby/ruby/pull/8259
|
62
|
+
# @peterzhu2118 Implement GC.free_all_empty_pages
|
63
|
+
# @nobu / @byroot Write crash report in $RUBY_CRASH_REPORT https://bugs.ruby-lang.org/issues/19790
|
64
|
+
# @k0kubun YJIT: Make compiled_* stats available by default https://github.com/ruby/ruby/pull/8379
|
65
|
+
# @k0kubun YJIT: Add compilation time counter https://github.com/ruby/ruby/pull/8417
|
66
|
+
# @k0kubun YJIT: Make yjit_alloc_size available by default https://github.com/ruby/ruby/pull/8426
|
67
|
+
# @peterzhu2118 Fix growth in minor GC when we have initial slots https://github.com/ruby/ruby/pull/8310
|
68
|
+
# @peterzhu2118 Correctly calculate initial pages https://github.com/ruby/ruby/pull/8333
|
69
|
+
# @peterzhu2118 Incrementally mark even if we have free pages https://github.com/ruby/ruby/pull/8230
|
70
|
+
# @peterzhu2118 Pool more slots for large size pools https://github.com/ruby/ruby/pull/8249
|
71
|
+
# @maximecb YJIT: Add counter to measure how often we compile "cold" ISEQs https://github.com/Shopify/ruby/pull/535
|
72
|
+
# @maximecb YJIT: add --yjit-cold-threshold, don't compile cold ISEQs https://github.com/ruby/ruby/pull/8522
|
73
|
+
# @byroot GC.free_all_empty_pages take a compact parameter
|
74
|
+
|
75
|
+
install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
|
76
|
+
install_git "ruby-3.2.2-pshopify19" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify19" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# https://github.com/ruby/ruby/compare/v3_3_0_preview2...Shopify:v3.3.0-preview2-pshopify1
|
2
|
+
|
3
|
+
# Based off `v3_3_0_preview2`, with backports of:
|
4
|
+
# @nobu `.NOTPARALLEL` with prerequisites needs recent GNU Make https://github.com/ruby/ruby/pull/8489
|
5
|
+
# @k0kubun YJIT: Initialize Assembler vectors with capacity https://github.com/ruby/ruby/pull/8437
|
6
|
+
# @k0kubun YJIT: Initialize Vec with capacity for iterators https://github.com/ruby/ruby/pull/8439
|
7
|
+
# @k0kubun YJIT: Skip Insn::Comment and format! if disasm is disabled https://github.com/ruby/ruby/pull/8441
|
8
|
+
# @k0kubun YJIT: Avoid creating a vector in get_temp_regs() https://github.com/ruby/ruby/pull/8446
|
9
|
+
# @nobu Write crash report in $RUBY_CRASH_REPORT https://github.com/ruby/ruby/pull/8506
|
10
|
+
|
11
|
+
install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
|
12
|
+
install_git "ruby-3.3.0-preview2-pshopify1" "https://github.com/Shopify/ruby.git" "v3.3.0-preview2-pshopify1" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|
@@ -0,0 +1,21 @@
|
|
1
|
+
platform="$(uname -s)-$(uname -m)"
|
2
|
+
case $platform in
|
3
|
+
Linux-x86_64)
|
4
|
+
install_package "truffleruby+graalvm-23.1.0" "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-jvm-23.1.0-linux-amd64.tar.gz#ecbbb61baf66c4584b2a2b7c75b515b448f13ac28dd98c1988c4dbc340b2a6b9" truffleruby
|
5
|
+
;;
|
6
|
+
Linux-aarch64)
|
7
|
+
install_package "truffleruby+graalvm-23.1.0" "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-jvm-23.1.0-linux-aarch64.tar.gz#2c7a9af681acaa83b58f40eb14893afd6c779560991d6f0e07ef80d577a08dbe" truffleruby
|
8
|
+
;;
|
9
|
+
Darwin-x86_64)
|
10
|
+
use_homebrew_openssl
|
11
|
+
install_package "truffleruby+graalvm-23.1.0" "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-jvm-23.1.0-macos-amd64.tar.gz#61cff8c5215668258f78a455e37549f9870df254c9c666f332a5302a7833e536" truffleruby
|
12
|
+
;;
|
13
|
+
Darwin-arm64)
|
14
|
+
use_homebrew_openssl
|
15
|
+
install_package "truffleruby+graalvm-23.1.0" "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-jvm-23.1.0-macos-aarch64.tar.gz#8bc4aceaefdf33feeee2ef002987915599b6babd85be03d5c6616d37d61779b0" truffleruby
|
16
|
+
;;
|
17
|
+
*)
|
18
|
+
colorize 1 "Unsupported platform: $platform"
|
19
|
+
return 1
|
20
|
+
;;
|
21
|
+
esac
|
@@ -0,0 +1,21 @@
|
|
1
|
+
platform="$(uname -s)-$(uname -m)"
|
2
|
+
case $platform in
|
3
|
+
Linux-x86_64)
|
4
|
+
install_package "truffleruby-23.1.0" "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-linux-amd64.tar.gz#38a11ca89f925554ad42294ad509fb978b0867af28e48f9bde4490d415c3cc2d" truffleruby
|
5
|
+
;;
|
6
|
+
Linux-aarch64)
|
7
|
+
install_package "truffleruby-23.1.0" "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-linux-aarch64.tar.gz#419c4cc429d7c6060cfe6be5e4744da11fd1355ed0f349f6e135297c2aee0017" truffleruby
|
8
|
+
;;
|
9
|
+
Darwin-x86_64)
|
10
|
+
use_homebrew_openssl
|
11
|
+
install_package "truffleruby-23.1.0" "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-macos-amd64.tar.gz#16d20d0b668bcae19e5b4432bdf7764f358aeb0142064d4048f04170ccb449fa" truffleruby
|
12
|
+
;;
|
13
|
+
Darwin-arm64)
|
14
|
+
use_homebrew_openssl
|
15
|
+
install_package "truffleruby-23.1.0" "https://github.com/oracle/truffleruby/releases/download/graal-23.1.0/truffleruby-community-23.1.0-macos-aarch64.tar.gz#b4e03ba195d40eb7114a7ab97e0478729cd47bb01879da0ede5af2bf89f5b8da" truffleruby
|
16
|
+
;;
|
17
|
+
*)
|
18
|
+
colorize 1 "Unsupported platform: $platform"
|
19
|
+
return 1
|
20
|
+
;;
|
21
|
+
esac
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shopify-ruby-definitions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Zhu
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop-minitest
|
@@ -72,6 +72,9 @@ files:
|
|
72
72
|
- rubies/3.2.2-pshopify14
|
73
73
|
- rubies/3.2.2-pshopify15
|
74
74
|
- rubies/3.2.2-pshopify16
|
75
|
+
- rubies/3.2.2-pshopify17
|
76
|
+
- rubies/3.2.2-pshopify18
|
77
|
+
- rubies/3.2.2-pshopify19
|
75
78
|
- rubies/3.2.2-pshopify3
|
76
79
|
- rubies/3.2.2-pshopify4
|
77
80
|
- rubies/3.2.2-pshopify5
|
@@ -79,6 +82,9 @@ files:
|
|
79
82
|
- rubies/3.2.2-pshopify7
|
80
83
|
- rubies/3.2.2-pshopify8
|
81
84
|
- rubies/3.2.2-pshopify9
|
85
|
+
- rubies/3.3.0-preview2-pshopify1
|
86
|
+
- rubies/truffleruby+graalvm-23.1.0-ce
|
87
|
+
- rubies/truffleruby-23.1.0-ce
|
82
88
|
- shopify-ruby-definitions.gemspec
|
83
89
|
homepage: https://github.com/Shopify/ruby-definitions
|
84
90
|
licenses:
|
@@ -101,7 +107,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
101
107
|
- !ruby/object:Gem::Version
|
102
108
|
version: '0'
|
103
109
|
requirements: []
|
104
|
-
rubygems_version: 3.
|
110
|
+
rubygems_version: 3.4.10
|
105
111
|
signing_key:
|
106
112
|
specification_version: 4
|
107
113
|
summary: Ruby builds used at Shopify.
|