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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 36ec1c53d777075c663dee26571193af1f79474d6abe2d5c84003cb20cca4e5c
4
- data.tar.gz: 834e8078feac3d9decd89f216874127e8d24843b554bf5706a9f3b1f2304e750
3
+ metadata.gz: 391e118351fc1019e5214d78e4318b326191bd8c4d4cb9579ffaaa99942f4542
4
+ data.tar.gz: 0701f82e3a004abbd7f7aca7d5e7b7015201d012f3fa8f1b177083128708e7ee
5
5
  SHA512:
6
- metadata.gz: 6145d0b61aef565384da8873fa0b43176ace73272b74e21285e56f0eb0901adf1cf7d56bce63494ca542becf794982054bbc2fa5812ee9f880bd1524351be0ad
7
- data.tar.gz: b12d96074850b97d920f062dce7956045e6404ab1e61df86889ac44907f711b4ac2d2d84c95f1c291752c4898edf69dcdf7c13482de91803d4efcb6f5de518c9
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.sort_by do |version|
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ShopifyRubyDefinitions
4
- VERSION = "1.3.0"
4
+ VERSION = "1.4.0"
5
5
  end
@@ -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.3.0
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-09-20 00:00:00.000000000 Z
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.5.0.dev
110
+ rubygems_version: 3.4.10
105
111
  signing_key:
106
112
  specification_version: 4
107
113
  summary: Ruby builds used at Shopify.