shopify-ruby-definitions 1.0.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.txt +1 -1
- data/README.md +43 -13
- data/exe/shopify-ruby +27 -0
- data/lib/shopify_ruby_definitions/version.rb +1 -1
- data/rubies/3.2.2-pshopify10 +44 -0
- data/rubies/3.2.2-pshopify11 +49 -0
- data/rubies/3.2.2-pshopify12 +50 -0
- data/rubies/3.2.2-pshopify13 +51 -0
- data/rubies/3.2.2-pshopify14 +65 -0
- data/rubies/3.2.2-pshopify15 +66 -0
- data/rubies/3.2.2-pshopify16 +66 -0
- data/rubies/3.2.2-pshopify5 +36 -0
- data/rubies/3.2.2-pshopify6 +37 -0
- data/rubies/3.2.2-pshopify7 +39 -0
- data/rubies/3.2.2-pshopify8 +41 -0
- data/rubies/3.2.2-pshopify9 +42 -0
- data/shopify-ruby-definitions.gemspec +32 -0
- metadata +20 -6
- data/rubies/yjit-3.1.0-dev +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36ec1c53d777075c663dee26571193af1f79474d6abe2d5c84003cb20cca4e5c
|
4
|
+
data.tar.gz: 834e8078feac3d9decd89f216874127e8d24843b554bf5706a9f3b1f2304e750
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6145d0b61aef565384da8873fa0b43176ace73272b74e21285e56f0eb0901adf1cf7d56bce63494ca542becf794982054bbc2fa5812ee9f880bd1524351be0ad
|
7
|
+
data.tar.gz: b12d96074850b97d920f062dce7956045e6404ab1e61df86889ac44907f711b4ac2d2d84c95f1c291752c4898edf69dcdf7c13482de91803d4efcb6f5de518c9
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -1,23 +1,53 @@
|
|
1
1
|
# shopify-ruby-definitions
|
2
2
|
|
3
|
-
This repository contains [ruby-build](https://github.com/rbenv/ruby-build/) definitions of Rubies we use at Shopify.
|
3
|
+
This repository contains [ruby-build](https://github.com/rbenv/ruby-build/) definitions of Rubies we use at Shopify.
|
4
|
+
These builds are API compliant with release Rubies, but with additional backports for bugfixes and performance.
|
4
5
|
|
5
|
-
##
|
6
|
+
## rbenv integration
|
7
|
+
|
8
|
+
If you use `rbenv`, you can add the custom rubies with:
|
9
|
+
|
10
|
+
```bash
|
11
|
+
$ gem install shopify-ruby-definitions
|
12
|
+
$ eval "$(shopify-ruby env)"
|
13
|
+
```
|
14
|
+
|
15
|
+
## standalone ruby-build
|
16
|
+
|
17
|
+
If you are using another ruby version manager or no manager at all:
|
6
18
|
|
7
19
|
1. Install ruby-build by [following the instructions](https://github.com/rbenv/ruby-build/#installation).
|
8
|
-
|
9
|
-
|
20
|
+
|
21
|
+
2. Install the gem:
|
22
|
+
```bash
|
10
23
|
$ gem install shopify-ruby-definitions
|
11
24
|
```
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
25
|
+
|
26
|
+
3. List the custom Ruby versions available:
|
27
|
+
```bash
|
28
|
+
$ shopify-ruby versions
|
29
|
+
3.0.0-pshopify9
|
30
|
+
3.0.1-pshopify2
|
31
|
+
3.0.2-pshopify3
|
32
|
+
3.1.0-pshopify1
|
33
|
+
3.1.1-pshopify2
|
34
|
+
3.1.2-pshopify2
|
35
|
+
3.1.3-pshopify1
|
36
|
+
3.1.4-pshopify1
|
37
|
+
3.2.0-pshopify2
|
38
|
+
3.2.1-pshopify5
|
39
|
+
3.2.2-pshopify3
|
40
|
+
3.2.2-pshopify4
|
19
41
|
```
|
20
|
-
|
42
|
+
|
43
|
+
4. Install the Ruby version you want, [options are the same than regular `ruby-build`](https://github.com/rbenv/ruby-build#advanced-usage):
|
44
|
+
```bash
|
45
|
+
$ shopify-ruby build 3.2.2-pshopify4 ~/.rubies/versions/3.2.2
|
21
46
|
```
|
22
|
-
|
47
|
+
|
48
|
+
5. Resolve a less specific version to one of these definitions
|
49
|
+
```bash
|
50
|
+
$ shopify-ruby resolve 3.2
|
51
|
+
$ shopify-ruby resolve 3.2
|
52
|
+
3.2.2-pshopify4
|
23
53
|
```
|
data/exe/shopify-ruby
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require "shopify_ruby_definitions"
|
5
|
+
|
6
|
+
definitions = [
|
7
|
+
ENV["RUBY_BUILD_DEFINITIONS"],
|
8
|
+
ShopifyRubyDefinitions::RubyVersions::VERSIONS_DIRECTORY,
|
9
|
+
].compact.join(":")
|
10
|
+
|
11
|
+
case ARGV.shift
|
12
|
+
when "resolve"
|
13
|
+
puts ShopifyRubyDefinitions.resolve_version(ARGV.first)
|
14
|
+
when "versions"
|
15
|
+
puts ShopifyRubyDefinitions::RubyVersions::ALL_VERSIONS
|
16
|
+
when "build"
|
17
|
+
Process.exec({ "RUBY_BUILD_DEFINITIONS" => definitions }, "ruby-build", *ARGV)
|
18
|
+
when "env"
|
19
|
+
puts %{export RUBY_BUILD_DEFINITIONS="#{definitions}"}
|
20
|
+
else
|
21
|
+
$stderr.puts <<~USAGE
|
22
|
+
Usage: shopify-ruby versions
|
23
|
+
shopify-ruby resolve <version>
|
24
|
+
shopify-ruby build [-kpv] <definition> <prefix>
|
25
|
+
shopify-ruby env
|
26
|
+
USAGE
|
27
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify10
|
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
|
+
|
43
|
+
install_package "openssl-3.1.0" "https://www.openssl.org/source/openssl-3.1.0.tar.gz#aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4" openssl --if needs_openssl_102_300
|
44
|
+
install_git "ruby-3.2.2-pshopify10" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify10" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify11
|
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
|
+
|
48
|
+
install_package "openssl-3.1.0" "https://www.openssl.org/source/openssl-3.1.0.tar.gz#aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4" openssl --if needs_openssl_102_300
|
49
|
+
install_git "ruby-3.2.2-pshopify11" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify11" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify12
|
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
|
+
|
49
|
+
install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
|
50
|
+
install_git "ruby-3.2.2-pshopify12" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify12" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify13
|
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
|
+
|
50
|
+
install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
|
51
|
+
install_git "ruby-3.2.2-pshopify13" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify13" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify14
|
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: Bump SEND_MAX_DEPTH to 20 ruby/ruby#7469
|
60
|
+
# @k0kubun YJIT: Refactor getlocal and setlocal insns ruby/ruby#7320
|
61
|
+
# @maximecb YJIT: implement side chain fallback for setlocal to avoid exiting ruby/ruby#8227
|
62
|
+
# @byroot YJIT: Stop incrementing jit_entry_calls once threshold is hit https://github.com/ruby/ruby/pull/8259
|
63
|
+
|
64
|
+
install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
|
65
|
+
install_git "ruby-3.2.2-pshopify13" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify13" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify15
|
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
|
+
|
65
|
+
install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
|
66
|
+
install_git "ruby-3.2.2-pshopify15" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify15" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify16
|
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
|
+
|
65
|
+
install_package "openssl-3.1.2" "https://www.openssl.org/source/openssl-3.1.2.tar.gz#a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539" openssl --if needs_openssl_102_300
|
66
|
+
install_git "ruby-3.2.2-pshopify16" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify16" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify5
|
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
|
+
|
35
|
+
install_package "openssl-3.1.0" "https://www.openssl.org/source/openssl-3.1.0.tar.gz#aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4" openssl --if needs_openssl_102_300
|
36
|
+
install_git "ruby-3.2.2-pshopify5" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify5" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify6
|
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
|
+
|
36
|
+
install_package "openssl-3.1.0" "https://www.openssl.org/source/openssl-3.1.0.tar.gz#aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4" openssl --if needs_openssl_102_300
|
37
|
+
install_git "ruby-3.2.2-pshopify6" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify6" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify7
|
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
|
+
|
38
|
+
install_package "openssl-3.1.0" "https://www.openssl.org/source/openssl-3.1.0.tar.gz#aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4" openssl --if needs_openssl_102_300
|
39
|
+
install_git "ruby-3.2.2-pshopify7" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify7" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify8
|
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
|
+
|
40
|
+
install_package "openssl-3.1.0" "https://www.openssl.org/source/openssl-3.1.0.tar.gz#aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4" openssl --if needs_openssl_102_300
|
41
|
+
install_git "ruby-3.2.2-pshopify8" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify8" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# https://github.com/ruby/ruby/compare/ruby_3_2...Shopify:v3.2.2-pshopify9
|
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
|
+
|
41
|
+
install_package "openssl-3.1.0" "https://www.openssl.org/source/openssl-3.1.0.tar.gz#aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4" openssl --if needs_openssl_102_300
|
42
|
+
install_git "ruby-3.2.2-pshopify9" "https://github.com/Shopify/ruby.git" "v3.2.2-pshopify9" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "lib/shopify_ruby_definitions/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "shopify-ruby-definitions"
|
7
|
+
spec.version = ShopifyRubyDefinitions::VERSION
|
8
|
+
spec.authors = ["Peter Zhu"]
|
9
|
+
spec.email = ["ruby@shopify.com"]
|
10
|
+
|
11
|
+
spec.summary = "Ruby builds used at Shopify."
|
12
|
+
spec.homepage = "https://github.com/Shopify/ruby-definitions"
|
13
|
+
spec.license = "MIT"
|
14
|
+
spec.required_ruby_version = ">= 2.6.0"
|
15
|
+
|
16
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
17
|
+
spec.metadata["source_code_uri"] = "https://github.com/Shopify/ruby-definitions"
|
18
|
+
|
19
|
+
# Specify which files should be added to the gem when it is released.
|
20
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
21
|
+
spec.files = Dir.chdir(__dir__) do
|
22
|
+
%x(git ls-files -z).split("\x0").reject do |f|
|
23
|
+
(f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|circleci)|appveyor)})
|
24
|
+
end
|
25
|
+
end
|
26
|
+
spec.bindir = "exe"
|
27
|
+
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
28
|
+
spec.require_paths = ["lib"]
|
29
|
+
|
30
|
+
spec.add_development_dependency("rubocop-minitest")
|
31
|
+
spec.add_development_dependency("rubocop-shopify")
|
32
|
+
end
|
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.3.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-09-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop-minitest
|
@@ -40,8 +40,9 @@ dependencies:
|
|
40
40
|
version: '0'
|
41
41
|
description:
|
42
42
|
email:
|
43
|
-
-
|
44
|
-
executables:
|
43
|
+
- ruby@shopify.com
|
44
|
+
executables:
|
45
|
+
- shopify-ruby
|
45
46
|
extensions: []
|
46
47
|
extra_rdoc_files: []
|
47
48
|
files:
|
@@ -50,6 +51,7 @@ files:
|
|
50
51
|
- LICENSE.txt
|
51
52
|
- README.md
|
52
53
|
- Rakefile
|
54
|
+
- exe/shopify-ruby
|
53
55
|
- lib/shopify_ruby_definitions.rb
|
54
56
|
- lib/shopify_ruby_definitions/ruby_versions.rb
|
55
57
|
- lib/shopify_ruby_definitions/version.rb
|
@@ -63,9 +65,21 @@ files:
|
|
63
65
|
- rubies/3.1.4-pshopify1
|
64
66
|
- rubies/3.2.0-pshopify2
|
65
67
|
- rubies/3.2.1-pshopify5
|
68
|
+
- rubies/3.2.2-pshopify10
|
69
|
+
- rubies/3.2.2-pshopify11
|
70
|
+
- rubies/3.2.2-pshopify12
|
71
|
+
- rubies/3.2.2-pshopify13
|
72
|
+
- rubies/3.2.2-pshopify14
|
73
|
+
- rubies/3.2.2-pshopify15
|
74
|
+
- rubies/3.2.2-pshopify16
|
66
75
|
- rubies/3.2.2-pshopify3
|
67
76
|
- rubies/3.2.2-pshopify4
|
68
|
-
- rubies/
|
77
|
+
- rubies/3.2.2-pshopify5
|
78
|
+
- rubies/3.2.2-pshopify6
|
79
|
+
- rubies/3.2.2-pshopify7
|
80
|
+
- rubies/3.2.2-pshopify8
|
81
|
+
- rubies/3.2.2-pshopify9
|
82
|
+
- shopify-ruby-definitions.gemspec
|
69
83
|
homepage: https://github.com/Shopify/ruby-definitions
|
70
84
|
licenses:
|
71
85
|
- MIT
|
@@ -87,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
101
|
- !ruby/object:Gem::Version
|
88
102
|
version: '0'
|
89
103
|
requirements: []
|
90
|
-
rubygems_version: 3.
|
104
|
+
rubygems_version: 3.5.0.dev
|
91
105
|
signing_key:
|
92
106
|
specification_version: 4
|
93
107
|
summary: Ruby builds used at Shopify.
|
data/rubies/yjit-3.1.0-dev
DELETED
@@ -1,2 +0,0 @@
|
|
1
|
-
install_package "openssl-1.1.1l" "https://www.openssl.org/source/openssl-1.1.1l.tar.gz#0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1" mac_openssl --if has_broken_mac_openssl
|
2
|
-
install_git "ruby-master" "https://github.com/Shopify/yjit.git" "main" ldflags_dirs autoconf standard_build standard_install_with_bundled_gems verify_openssl
|