[ruby-core:117824] [Ruby master Feature#20443] Allow Major GC's to be disabled
From:
"eightbitraptor (Matthew Valentine-House) via ruby-core" <ruby-core@...>
Date:
2024-05-09 20:29:28 UTC
List:
ruby-core #117824
SXNzdWUgIzIwNDQzIGhhcyBiZWVuIHVwZGF0ZWQgYnkgZWlnaHRiaXRyYXB0b3IgKE1hdHRoZXcg VmFsZW50aW5lLUhvdXNlKS4NCg0KDQptYXR6IChZdWtpaGlybyBNYXRzdW1vdG8pIHdyb3RlIGlu ICNub3RlLTEyOg0KPiBJIGFtIG5ldXRyYWwgb24gdGhpcyBwcm9wb3NhbC4gSG93ZXZlciwgSSBh bSBjb25jZXJuZWQgdGhhdCB0aGVyZSBtYXkgbm90IGJlIGEgTWFqb3IgR0Mgd2hlbiBHQyBtYWRl IHBsdWdnYWJsZS4NCj4gDQo+IE1hdHouDQoNCkkgdGhpbmsgdGhpcyBpcyBzdGlsbCByZWxldmFu dCB3aGVuIEdDIGlzIHBsdWdnYWJsZS4gUnVieSB3aWxsIGFsd2F5cyBzaGlwIHdpdGggdGhlIGV4 aXN0aW5nIEdDIGJ5IGRlZmF1bHQsIGFuZCB0aGVyZSB3aWxsIGFsd2F5cyBiZSBhcHBsaWNhdGlv bnMgZm9yIHdoaWNoIHJ1bm5pbmcgc3RhbmRhcmQgT09CR0Mgd2lsbCBiZSB0aGUgYmVzdCBhcHBy b2FjaC4NCg0KSSB3b3VsZCBhbnRpY2lwYXRlIHRoYXQgdGhpcyBmdW5jdGlvbiB3b3VsZCB3YXJu IG9yIGJlY29tZSBhIG5vLW9wIHdoZW4gYSBwbHVnZ2FibGUgR0MgbW9kdWxlIGlzIGluIHVzZS4N Cg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMjA0 NDM6IEFsbG93IE1ham9yIEdDJ3MgdG8gYmUgZGlzYWJsZWQNCmh0dHBzOi8vYnVncy5ydWJ5LWxh bmcub3JnL2lzc3Vlcy8yMDQ0MyNjaGFuZ2UtMTA4MjMzDQoNCiogQXV0aG9yOiBlaWdodGJpdHJh cHRvciAoTWF0dGhldyBWYWxlbnRpbmUtSG91c2UpDQoqIFN0YXR1czogT3Blbg0KLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KW1tHaXRodWIgUFIgIzEwNTk4XV0oaHR0 cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzEwNTk4KQ0KDQojIyBCYWNrZ3JvdW5kDQoN ClJ1YnkncyBHQyBydW5uaW5nIGR1cmluZyBSYWlscyByZXF1ZXN0cyBjYW4gaGF2ZSBuZWdhdGl2 ZSBpbXBhY3RzIG9uIGN1cnJlbnRseQ0KcnVubmluZyByZXF1ZXN0cywgY2F1c2luZyBhcHBsaWNh dGlvbnMgdG8gaGF2ZSBoaWdoIHRhaWwtbGF0ZW5jeS4NCg0KQSB0ZWNobmlxdWUgdG8gbWl0aWdh dGUgdGhpcyBoaWdoIHRhaWwtbGF0ZW5jeSBpcyBPdXQtb2YtYmFuZCBHQyAoT09CR0MpLiBUaGlz DQppcyBiYXNpY2FsbHkgd2hlcmUgdGhlIGFwcGxpY2F0aW9uIGlzIHJ1biB3aXRoIEdDIGRpc2Fi bGVkLCBhbmQgdGhlbiBHQyBpcw0KZXhwbGljaXRseSBzdGFydGVkIGFmdGVyIGVhY2ggcmVxdWVz dCwgb3Igd2hlbiBubyByZXF1ZXN0cyBhcmUgaW4gcHJvZ3Jlc3MuDQoNClRoaXMgY2FuIHJlZHVj ZSB0aGUgdGFpbCBsYXRlbmN5LCBidXQgYWxzbyBpbnRyb2R1Y2VzIHByb2JsZW1zIG9mIGl0cyBv d24uIExvbmcNCkdDIHBhdXNlcyBhZnRlciBlYWNoIHJlcXVlc3QgcmVkdWNlIHRocm91Z2hwdXQu IFRoaXMgaXMgbW9yZSBwcm9ub3VuY2VkIG9uDQp0aHJlYWRpbmcgc2VydmVycyBsaWtlIFB1bWEg YmVjYXVzZSBhbGwgdGhlIHRocmVhZHMgaGF2ZSB0byBmaW5pc2ggcHJvY2Vzc2luZw0KdXNlciBy ZXF1ZXN0cyBhbmQgYmUgInBhdXNlZCIgYmVmb3JlIE9PQkdDIGNhbiBiZSB0cmlnZ2VyZWQuDQoN ClRoaXMgdGhyb3VnaHB1dCBkZWNyZWFzZSBoYXBwZW5zIGZvciBhIGNvdXBsZSBvZiByZWFzb25z Og0KDQoxLiBUaGVyZSBhcmUgZmV3IGhldXJpc3RpY3MgYXZhaWxhYmxlIGZvciB1c2VycyB0byBk ZXRlcm1pbmUgd2hlbiBHQyBzaG91bGQgcnVuLA0KdGhpcyBtZWFucyB0aGF0IGluIE9PQkdDIHNj ZW5hcmlvcywgaXQncyBwb3NzaWJsZSB0aGF0IG1ham9yIEdDJ3MgYXJlIGJlaW5nIHJ1bg0KbW9y ZSB0aGFuIG5lY2Vzc2FyeS4gIDIuIFRoZSBsYWNrIG9mIGFueSBHQyBkdXJpbmcgYSByZXF1ZXN0 IG1lYW5zIHRoYXQgbG90cyBvZg0KZ2FyYmFnZSBvYmplY3RzIGhhdmUgYmVlbiBjcmVhdGVkIGFu ZCBub3QgY2xlYW5lZCB1cCwgc28gdGhlIHByb2Nlc3MgaXMgdXNpbmcNCm1vcmUgbWVtb3J5IHRo YW4gaXQgc2hvdWxkIC0gcmVxdWlyaW5nIG1ham9yIEdDJ3MgcnVuIGFzIHBhcnQgb2YgT09CR0Mg dG8gZG8NCm1vcmUgd29yayBhbmQgdGhlcmVmb3JlIHRha2UgbW9yZSB0aW1lLg0KDQpUaGlzIHRp Y2tldCBhdHRlbXB0cyB0byBhZGRyZXNzIHRoZXNlIGlzc3VlcyBieToNCg0KMS4gUHJvdmlkZSBg R0MuZGlzYWJsZV9tYWpvcmAgYW5kIGl0cyBhbnRvbnltIGBHQy5lbmFibGVfbWFqb3JgIHRvIGRp c2FibGUgYW5kDQplbmFibGUgb25seSBtYWpvciBHQyAyLiBQcm92aWRlIGBHQy5uZWVkc19tYWpv cj9gIGFzIGEgYmFzaWMgaGV1cmlzdGljIGFsbG93aW5nDQp1c2VycyB0byB0ZWxsIHdoZW4gUnVi eSBzaG91bGQgcnVuIGEgTWFqb3IgR0MuDQoNClRoZXNlIGlkZWFzIHdlcmUgb3JpZ2luYWxseSBw cm9wb3NlZCBieSBAa28xIGFuZCBAYnlyb290IGluIFt0aGlzIHJhaWxzDQppc3N1ZV0oaHR0cHM6 Ly9naXRodWIuY29tL3JhaWxzL3JhaWxzL2lzc3Vlcy81MDQ0OSkNCg0KRGlzYWJsaW5nIEdDIG1h am9yJ3Mgd291bGQgc3RpbGwgYWxsb3cgbWlub3IgR0MncyB0byBydW4gZHVyaW5nIHRoZSByZXF1 ZXN0LA0KYXZvaWRpbmcgdGhlIGJhbGxvb25pbmcgbWVtb3J5IHVzYWdlIGNhdXNlZCBieSBub3Qg cnVubmluZyBHQyBhdCBhbGwsIGFuZA0KcmVkdWNpbmcgdGhlIHRpbWUgdGhhdCBhIG1ham9yIHRh a2VzIHdoZW4gd2UgZG8gcnVuIGl0LCBiZWNhdXNlIHRoZSBudXJzZXJ5DQpvYmplY3RzIGhhdmUg YmVlbiBjbGVhbmVkIHVwIGR1cmluZyB0aGUgcmVxdWVzdCBhbHJlYWR5IHNvIHRoZXJlIGlzIGxl c3Mgd29yaw0KZm9yIGEgbWFqb3IgR0MgdG8gZG8uDQoNClRoaXMgY2FuIGJlIHVzZWQgaW4gY29t YmluYXRpb24gd2l0aCBgR0MubmVlZHNfbWFqb3I/YCB0byBzZWxlY3RpdmVseSBydW4gYW4NCk9P QkdDIG9ubHkgd2hlbiBuZWNlc3NhcnkNCg0KIyMgSW1wbGVtZW50YXRpb24NCg0KVGhpcyBQUiBh ZGRzIDMgbmV3IG1ldGhvZHMgdG8gdGhlIGBHQ2AgbW9kdWxlDQoNCi0gYEdDLmRpc2FibGVfbWFq b3JgIFRoaXMgcHJldmVudHMgbWFqb3IgR0MncyBmcm9tIHJ1bm5pbmcgYXV0b21hdGljYWxseS4g SXQNCiAgZG9lcyBub3QgcmVzdHJpY3QgbWlub3JzLiBXaGVuIGBvYmpzcGFjZS0+cmdlbmdjLm5l ZWRfbWFqb3JfZ2NgIGlzIHNldCBhbmQgYQ0KICBHQyBpcyBydW4sIGluc3RlYWQgb2YgcnVubmlu ZyBhIG1ham9yLCBuZXcgaGVhcCBwYWdlcyB3aWxsIGJlIGFsbG9jYXRlZCBhbmQgYQ0KICBtaW5v ciBydW4gaW5zdGVhZC4gYG9ianNwYWNlLT5yZ2VuZ2MubmVlZF9tYWpvcl9nY2Agd2lsbCByZW1h aW4gc2V0IHVudGlsIGENCiAgbWFqb3IgaXMgbWFudWFsbHkgcnVuLiBJZiBhIG1ham9yIGlzIG5v dCBtYW51YWxseSBydW4gdGhlbiB0aGUgcHJvY2VzcyB3aWxsDQogIGV2ZW50dWFsbHkgcnVuIG91 dCBvZiBtZW1vcnkuDQogIA0KICBXaGVuIG1ham9yIEdDJ3MgYXJlIGRpc2FibGVkLCBvYmplY3Qg cHJvbW90aW9uIGlzIGRpc2FibGVkLiBUaGF0IGlzLCBubw0KICBvYmplY3RzIHdpbGwgaW5jcmVt ZW50IHRoZWlyIGFnZXMgZHVyaW5nIGEgbWlub3IgR0MuIFRoaXMgaXMgdG8gYXR0ZW1wdCB0bw0K ICBtaW5pbWlzZSBoZWFwIGdyb3d0aCBkdXJpbmcgdGhlIHBlcmlvZCBiZXR3ZWVuIG1ham9yIEdD J3MsIGJ5IHJlc3RyaWN0aW5nIHRoZQ0KICBudW1iZXIgb2Ygb2xkLWdlbiBvYmplY3RzIHRoYXQg d2lsbCByZW1haW4gdW5jb25zaWRlcmVkIGJ5IHRoZSBHQyB1bnRpbCB0aGUNCiAgbmV4dCBtYWpv ci4NCiAgDQogIFdoZW4gYEdDLnN0YXJ0YCBpcyBydW4sIHRoZW4gbWFqb3IgR0MncyB3aWxsIGJl IGVuYWJsZWQsIGEgR0MgdHJpZ2dlcmVkIHdpdGgNCiAgdGhlIG9wdGlvbnMgcGFzc2VkIHRvIGBH Qy5zdGFydGAsIGFuZCB0aGVuIGBkaXNhYmxlX21ham9yYCB3aWxsIGJlIHNldCB0byB0aGUNCiAg c3RhdGUgaXQgd2FzIGluIGJlZm9yZSBgR0Muc3RhcnRgIHdhcyBjYWxsZWQuDQogIA0KLSBgR0Mu ZW5hYmxlX21ham9yYCBUaGlzIHNpbXBseSB1bnNldHMgdGhlIGJpdCBwcmV2ZW50aW5nIG1ham9y IEdDJ3MuIFRoaXMgd2lsbA0KICByZXZlcnQgdGhlIEdDIHRvIG5vcm1hbCBnZW5lcmF0aW9uYWwg YmVoYXZpb3VyLiBFdmVyeXRoaW5nIGJlaGF2ZXMgYXMgZGVmYXVsdA0KICBhZ2Fpbi4NCg0KLSBg R0MubmVlZHNfbWFqb3I/YCBUaGlzIGV4cG9zZXMgdGhlIHZhbHVlIG9mIGBvYmpzcGFjZS0+cmdl bmdjLm5lZWRfbWFqb3JfZ2NgDQogIHRvIHRoZSB1c2VyIGxldmVsIEFQSS4gVGhpcyBpcyBhbHJl YWR5IGV4cG9zZWQgaW4NCiAgYEdDLmxhdGVzdF9nY19pbmZvWzpuZWVkX21ham9yX2J5XWAgYnV0 IEkgZmVsdCB0aGF0IGEgc2ltcGxlciBpbnRlcmZhY2Ugd291bGQNCiAgbWFrZSB0aGlzIGVhc2ll ciB0byB1c2UgYW5kIHJlc3VsdCBpbiBtb3JlIHJlYWRhYmxlIGNvZGUuIGVnLg0KICANCmBgYA0K b3V0X29mX2JhbmQgZG8gDQogIEdDLnN0YXJ0IGlmIEdDLm5lZWRzX21ham9yPyAgDQplbmQgDQpg YGANCg0KQmVjYXVzZSBvYmplY3QgYWdpbmcgaXMgZGlzYWJsZWQgd2hlbiBtYWpvcnMgYXJlIGRp c2FibGVkIGl0IGlzIHJlY29tbWVuZGVkIHRvDQp1c2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRo IGBQcm9jZXNzLndhcm11cGAsIHdoaWNoIHdpbGwgcHJlcGFyZSB0aGUgaGVhcCBieQ0KcnVubmlu ZyBhIG1ham9yIEdDLCBjb21wYWN0aW5nIHRoZSBoZWFwLCBhbmQgcHJvbW90aW5nIGV2ZXJ5IHJl bWFpbmluZyBvYmplY3QgdG8NCm9sZC1nZW4uIFRoaXMgZW5zdXJlcyB0aGF0IG1pbm9yIEdDJ3Mg YXJlIHJ1bm5pbmcgb3ZlciB0aGUgc21hbGxldHMgcG9zc2libGUgc2V0DQpvZiB5b3VuZyBvYmpl Y3RzIHdoZW4gYEdDLmRpc2FibGVfbWFqb3JgIGlzIHRydWUuDQoNCiMjIEJlbmNobWFya3MNCg0K V2UgcmFuIHNvbWUgdGVzdHMgaW4gcHJvZHVjdGlvbiBvbiBTaG9waWZ5J3MgY29yZSBtb25vbGl0 aCBvdmVyIGEgd2Vla2VuZCBhbmQNCmZvdW5kIHRoYXQ6DQoNCioqTWVhbiB0aW1lIHNwZW50IGlu IEdDLCBhcyB3ZWxsIGFzIHA5OS45IGFuZCBwOTkuOTkgR0MgdGltZXMgYXJlIGFsbA0KaW1wcm92 ZWQuKiogDQoNCjxpbWcgd2lkdGg9IjEwMDAiIGFsdD0iU2NyZWVuc2hvdCAyMDI0LTA0LTIyIGF0 IDE2IDQxIDQ5Ig0Kc3JjPSJodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L2Fzc2V0cy8zMTg2 OS82Y2ZmNWIxMS0yZTIxLTQwYzEtYmI4NC1kOTk0ZTBlMTc5OGQiPg0KDQoqKnA5OSBHQyB0aW1l IGlzIHNsaWdodGx5IGhpZ2hlci4qKiANCg0KPGltZyB3aWR0aD0iMTAwMCIgYWx0PSJTY3JlZW5z aG90IDIwMjQtMDQtMjIgYXQgMTYgNDQgNTUiDQpzcmM9Imh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5 L3J1YnkvYXNzZXRzLzMxODY5L2RjNjQ1Y2JlLTk0OTUtNDZmMC04NDg1LTI0ZTc5MGM0MmYzMiI+ DQoNCldlJ3JlIHJ1bm5pbmcgZmFyIGZld2VyIE9PQkdDIG1ham9yIEdDJ3Mgbm93IHRoYXQgd2Ug aGF2ZSBgR0MubmVlZHNfbWFqb3I/YCB0aGFuDQp3ZSB3ZXJlIGJlZm9yZSwgYW5kIHdlIGJlbGll dmUgdGhhdCB0aGlzIGlzIGNvbnRyaWJ1dGluZyB0byBhIHNsaWdodGx5IGluY3JlYXNlZA0KbnVt YmVyIG9mIG1pbm9yIEdDJ3MuIHJhaXNpbmcgdGhlIHA5OSBzbGlnaHRseS4NCg0KKipBcHAgcmVz cG9uc2UgdGltZXMgYXJlIGFsbCBpbXByb3ZlZCoqDQoNCldlIHNlZSBhIH4yJSByZWR1Y3Rpb24g aW4gYXZlcmFnZSByZXNwb25zZSB0aW1lcyB3aGVuIGNvbXBhcmVkIGFnYWluc3RzdGFuZGFyZCBH QyANCih+NyUgcDk5LCB+MyUgcDk5LjkgYW5kIH40JSBwOTkuOTkpLg0KDQo8aW1nIHdpZHRoPSIx MDAwIiBhbHQ9IlNjcmVlbnNob3QgMjAyNC0wNC0yMyBhdCAwOSAyNyAxNyIgc3JjPSJodHRwczov L2dpc3QuZ2l0aHViLmNvbS9hc3NldHMvMzE4NjkvNzBlODFmYTUtNzdiMi00NjlhLTg5NDUtODhi ZjhmOGZlZmU5Ij4NCg0KVGhpcyBkcm9wcyBzbGlnaHRseSB0byBhbiBhIH4xJSByZWR1Y3Rpb24g aW4gYXZlcmFnZSByZXNwb25zZSB0aW1lcyB3aGVuIGNvbXBhcmVkDQphZ2FpbnN0IG91ciBub3Jt YWwgT09CR0MgYXBwcm9hY2ggICh+NiUgcDk5LCB+MiUgcDk5LjkgYW5kIH4zJSBwOTkuOTkpLg0K DQo8aW1nIHdpZHRoPSIxMDAwIiBhbHQ9IlNjcmVlbnNob3QgMjAyNC0wNC0yMyBhdCAwOSAyNyAy OSIgc3JjPSJodHRwczovL2dpc3QuZ2l0aHViLmNvbS9hc3NldHMvMzE4NjkvY2JhYTM4MDctMGNk MS00ZGJhLWE1ZTYtYjlkZjkxMDI0ZDczIj4NCg0KDQpFRElUOiB0byBjb3JyZWN0IGEgZm9ybXVs YSBlcnJvciBpbiB0aGUgb3JpZ2luYWwgQXZlcmFnZSBjaGFydHMsIG51bWJlcnMgdXBkYXRlZC4g DQoNCi0tLUZpbGVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkNhcHR1cmUgZOKA mWXMgWNyYW4gMjAyNC0wNC0yMiBhzIAgMTguNDEuNTIucG5nICgyNzkgS0IpDQoNCg0KLS0gDQpo dHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NCiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBt bC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29y ZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1 YnktbGFuZy5vcmcvbWFpbG1hbjMvcG9zdG9yaXVzL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxh bmcub3JnLw==