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 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.