shopify-ruby-definitions 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.
|