[ruby-core:117676] [Ruby master Feature#20443] Allow Major GC's to be disabled
From:
"eightbitraptor (Matthew Valentine-House) via ruby-core" <ruby-core@...>
Date:
2024-04-24 10:17:48 UTC
List:
ruby-core #117676
SXNzdWUgIzIwNDQzIGhhcyBiZWVuIHVwZGF0ZWQgYnkgZWlnaHRiaXRyYXB0b3IgKE1hdHRoZXcg VmFsZW50aW5lLUhvdXNlKS4NCg0KDQpuYXRlYmVya29wZWMgKE5hdGUgQmVya29wZWMpIHdyb3Rl IGluICNub3RlLTQ6DQo+IFJlZ2FyZGluZyB0aGUgaW50ZXJmYWNlOg0KPiANCj4gYGBgIHJ1YnkN Cj4gR0MuZGlzYWJsZShtYWpvcjogdHJ1ZSkNCj4gR0MuZGlzYWJsZSh0eXBlOiA6bWFqb3IpDQo+ IGBgYA0KPiANCj4gU2hvdWxkIHdlIGNvbnNpZGVyIHRoZXNlIGFkZGl0aW9uYWwga2V5d29yZCBh cmd1bWVudHMgcmF0aGVyIHRoYW4gYWRkaW5nIGEgbmV3IG1ldGhvZD8NCg0KDQpJIHNsaWdodGx5 IHByZWZlciBoYXZpbmcgYSBuZXcgbWV0aG9kIHBhaXIgZm9yIHRoaXMsIGhvd2V2ZXIgSSBkb24n dCBvYmplY3QgdG8gY2hhbmdpbmcgaXQuDQoNCkkgZG8gaGF2ZSBhIHNsaWdodCBjb25jZXJuIHRo YXQgYEdDLmRpc2FibGUobWFqb3I6IHRydWUpYCBjb3VsZCBiZSByZWFkIGVpdGhlciBhcyBkaXNh YmxpbmcgbWFqb3IgR0MncyBvciBrZWVwaW5nIG1ham9ycyBlbmFibGVkIGFuZCBkaXNhYmxpbmcg bWlub3JzDQoNClNvIGlmIHdlIGRlY2lkZSB0byB1c2UgdGhlIGtleXdvcmQgYXBwcm9hY2ggSSBw cmVmZXIgYEdDLmRpc2FibGUodHlwZTogbWFqb3IpYA0KDQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMjA0NDM6IEFsbG93IE1ham9yIEdDJ3Mg dG8gYmUgZGlzYWJsZWQNCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8yMDQ0MyNj aGFuZ2UtMTA4MDg2DQoNCiogQXV0aG9yOiBlaWdodGJpdHJhcHRvciAoTWF0dGhldyBWYWxlbnRp bmUtSG91c2UpDQoqIFN0YXR1czogT3Blbg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KW1tHaXRodWIgUFIgIzEwNTk4XV0oaHR0cHM6Ly9naXRodWIuY29tL3J1Ynkv cnVieS9wdWxsLzEwNTk4KQ0KDQojIyBCYWNrZ3JvdW5kDQoNClJ1YnkncyBHQyBydW5uaW5nIGR1 cmluZyBSYWlscyByZXF1ZXN0cyBjYW4gaGF2ZSBuZWdhdGl2ZSBpbXBhY3RzIG9uIGN1cnJlbnRs eQ0KcnVubmluZyByZXF1ZXN0cywgY2F1c2luZyBhcHBsaWNhdGlvbnMgdG8gaGF2ZSBoaWdoIHRh aWwtbGF0ZW5jeS4NCg0KQSB0ZWNobmlxdWUgdG8gbWl0aWdhdGUgdGhpcyBoaWdoIHRhaWwtbGF0 ZW5jeSBpcyBPdXQtb2YtYmFuZCBHQyAoT09CR0MpLiBUaGlzDQppcyBiYXNpY2FsbHkgd2hlcmUg dGhlIGFwcGxpY2F0aW9uIGlzIHJ1biB3aXRoIEdDIGRpc2FibGVkLCBhbmQgdGhlbiBHQyBpcw0K ZXhwbGljaXRseSBzdGFydGVkIGFmdGVyIGVhY2ggcmVxdWVzdCwgb3Igd2hlbiBubyByZXF1ZXN0 cyBhcmUgaW4gcHJvZ3Jlc3MuDQoNClRoaXMgY2FuIHJlZHVjZSB0aGUgdGFpbCBsYXRlbmN5LCBi dXQgYWxzbyBpbnRyb2R1Y2VzIHByb2JsZW1zIG9mIGl0cyBvd24uIExvbmcNCkdDIHBhdXNlcyBh ZnRlciBlYWNoIHJlcXVlc3QgcmVkdWNlIHRocm91Z2hwdXQuIFRoaXMgaXMgbW9yZSBwcm9ub3Vu Y2VkIG9uDQp0aHJlYWRpbmcgc2VydmVycyBsaWtlIFB1bWEgYmVjYXVzZSBhbGwgdGhlIHRocmVh ZHMgaGF2ZSB0byBmaW5pc2ggcHJvY2Vzc2luZw0KdXNlciByZXF1ZXN0cyBhbmQgYmUgInBhdXNl ZCIgYmVmb3JlIE9PQkdDIGNhbiBiZSB0cmlnZ2VyZWQuDQoNClRoaXMgdGhyb3VnaHB1dCBkZWNy ZWFzZSBoYXBwZW5zIGZvciBhIGNvdXBsZSBvZiByZWFzb25zOg0KDQoxLiBUaGVyZSBhcmUgZmV3 IGhldXJpc3RpY3MgYXZhaWxhYmxlIGZvciB1c2VycyB0byBkZXRlcm1pbmUgd2hlbiBHQyBzaG91 bGQgcnVuLA0KdGhpcyBtZWFucyB0aGF0IGluIE9PQkdDIHNjZW5hcmlvcywgaXQncyBwb3NzaWJs ZSB0aGF0IG1ham9yIEdDJ3MgYXJlIGJlaW5nIHJ1bg0KbW9yZSB0aGFuIG5lY2Vzc2FyeS4gIDIu IFRoZSBsYWNrIG9mIGFueSBHQyBkdXJpbmcgYSByZXF1ZXN0IG1lYW5zIHRoYXQgbG90cyBvZg0K Z2FyYmFnZSBvYmplY3RzIGhhdmUgYmVlbiBjcmVhdGVkIGFuZCBub3QgY2xlYW5lZCB1cCwgc28g dGhlIHByb2Nlc3MgaXMgdXNpbmcNCm1vcmUgbWVtb3J5IHRoYW4gaXQgc2hvdWxkIC0gcmVxdWly aW5nIG1ham9yIEdDJ3MgcnVuIGFzIHBhcnQgb2YgT09CR0MgdG8gZG8NCm1vcmUgd29yayBhbmQg dGhlcmVmb3JlIHRha2UgbW9yZSB0aW1lLg0KDQpUaGlzIHRpY2tldCBhdHRlbXB0cyB0byBhZGRy ZXNzIHRoZXNlIGlzc3VlcyBieToNCg0KMS4gUHJvdmlkZSBgR0MuZGlzYWJsZV9tYWpvcmAgYW5k IGl0cyBhbnRvbnltIGBHQy5lbmFibGVfbWFqb3JgIHRvIGRpc2FibGUgYW5kDQplbmFibGUgb25s eSBtYWpvciBHQyAyLiBQcm92aWRlIGBHQy5uZWVkc19tYWpvcj9gIGFzIGEgYmFzaWMgaGV1cmlz dGljIGFsbG93aW5nDQp1c2VycyB0byB0ZWxsIHdoZW4gUnVieSBzaG91bGQgcnVuIGEgTWFqb3Ig R0MuDQoNClRoZXNlIGlkZWFzIHdlcmUgb3JpZ2luYWxseSBwcm9wb3NlZCBieSBAa28xIGFuZCBA Ynlyb290IGluIFt0aGlzIHJhaWxzDQppc3N1ZV0oaHR0cHM6Ly9naXRodWIuY29tL3JhaWxzL3Jh aWxzL2lzc3Vlcy81MDQ0OSkNCg0KRGlzYWJsaW5nIEdDIG1ham9yJ3Mgd291bGQgc3RpbGwgYWxs b3cgbWlub3IgR0MncyB0byBydW4gZHVyaW5nIHRoZSByZXF1ZXN0LA0KYXZvaWRpbmcgdGhlIGJh bGxvb25pbmcgbWVtb3J5IHVzYWdlIGNhdXNlZCBieSBub3QgcnVubmluZyBHQyBhdCBhbGwsIGFu ZA0KcmVkdWNpbmcgdGhlIHRpbWUgdGhhdCBhIG1ham9yIHRha2VzIHdoZW4gd2UgZG8gcnVuIGl0 LCBiZWNhdXNlIHRoZSBudXJzZXJ5DQpvYmplY3RzIGhhdmUgYmVlbiBjbGVhbmVkIHVwIGR1cmlu ZyB0aGUgcmVxdWVzdCBhbHJlYWR5IHNvIHRoZXJlIGlzIGxlc3Mgd29yaw0KZm9yIGEgbWFqb3Ig R0MgdG8gZG8uDQoNClRoaXMgY2FuIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBgR0MubmVl ZHNfbWFqb3I/YCB0byBzZWxlY3RpdmVseSBydW4gYW4NCk9PQkdDIG9ubHkgd2hlbiBuZWNlc3Nh cnkNCg0KIyMgSW1wbGVtZW50YXRpb24NCg0KVGhpcyBQUiBhZGRzIDMgbmV3IG1ldGhvZHMgdG8g dGhlIGBHQ2AgbW9kdWxlDQoNCi0gYEdDLmRpc2FibGVfbWFqb3JgIFRoaXMgcHJldmVudHMgbWFq b3IgR0MncyBmcm9tIHJ1bm5pbmcgYXV0b21hdGljYWxseS4gSXQNCiAgZG9lcyBub3QgcmVzdHJp Y3QgbWlub3JzLiBXaGVuIGBvYmpzcGFjZS0+cmdlbmdjLm5lZWRfbWFqb3JfZ2NgIGlzIHNldCBh bmQgYQ0KICBHQyBpcyBydW4sIGluc3RlYWQgb2YgcnVubmluZyBhIG1ham9yLCBuZXcgaGVhcCBw YWdlcyB3aWxsIGJlIGFsbG9jYXRlZCBhbmQgYQ0KICBtaW5vciBydW4gaW5zdGVhZC4gYG9ianNw YWNlLT5yZ2VuZ2MubmVlZF9tYWpvcl9nY2Agd2lsbCByZW1haW4gc2V0IHVudGlsIGENCiAgbWFq b3IgaXMgbWFudWFsbHkgcnVuLiBJZiBhIG1ham9yIGlzIG5vdCBtYW51YWxseSBydW4gdGhlbiB0 aGUgcHJvY2VzcyB3aWxsDQogIGV2ZW50dWFsbHkgcnVuIG91dCBvZiBtZW1vcnkuDQogIA0KICBX aGVuIG1ham9yIEdDJ3MgYXJlIGRpc2FibGVkLCBvYmplY3QgcHJvbW90aW9uIGlzIGRpc2FibGVk LiBUaGF0IGlzLCBubw0KICBvYmplY3RzIHdpbGwgaW5jcmVtZW50IHRoZWlyIGFnZXMgZHVyaW5n IGEgbWlub3IgR0MuIFRoaXMgaXMgdG8gYXR0ZW1wdCB0bw0KICBtaW5pbWlzZSBoZWFwIGdyb3d0 aCBkdXJpbmcgdGhlIHBlcmlvZCBiZXR3ZWVuIG1ham9yIEdDJ3MsIGJ5IHJlc3RyaWN0aW5nIHRo ZQ0KICBudW1iZXIgb2Ygb2xkLWdlbiBvYmplY3RzIHRoYXQgd2lsbCByZW1haW4gdW5jb25zaWRl cmVkIGJ5IHRoZSBHQyB1bnRpbCB0aGUNCiAgbmV4dCBtYWpvci4NCiAgDQogIFdoZW4gYEdDLnN0 YXJ0YCBpcyBydW4sIHRoZW4gbWFqb3IgR0MncyB3aWxsIGJlIGVuYWJsZWQsIGEgR0MgdHJpZ2dl cmVkIHdpdGgNCiAgdGhlIG9wdGlvbnMgcGFzc2VkIHRvIGBHQy5zdGFydGAsIGFuZCB0aGVuIGBk aXNhYmxlX21ham9yYCB3aWxsIGJlIHNldCB0byB0aGUNCiAgc3RhdGUgaXQgd2FzIGluIGJlZm9y ZSBgR0Muc3RhcnRgIHdhcyBjYWxsZWQuDQogIA0KLSBgR0MuZW5hYmxlX21ham9yYCBUaGlzIHNp bXBseSB1bnNldHMgdGhlIGJpdCBwcmV2ZW50aW5nIG1ham9yIEdDJ3MuIFRoaXMgd2lsbA0KICBy ZXZlcnQgdGhlIEdDIHRvIG5vcm1hbCBnZW5lcmF0aW9uYWwgYmVoYXZpb3VyLiBFdmVyeXRoaW5n IGJlaGF2ZXMgYXMgZGVmYXVsdA0KICBhZ2Fpbi4NCg0KLSBgR0MubmVlZHNfbWFqb3I/YCBUaGlz IGV4cG9zZXMgdGhlIHZhbHVlIG9mIGBvYmpzcGFjZS0+cmdlbmdjLm5lZWRfbWFqb3JfZ2NgDQog IHRvIHRoZSB1c2VyIGxldmVsIEFQSS4gVGhpcyBpcyBhbHJlYWR5IGV4cG9zZWQgaW4NCiAgYEdD LmxhdGVzdF9nY19pbmZvWzpuZWVkX21ham9yX2J5XWAgYnV0IEkgZmVsdCB0aGF0IGEgc2ltcGxl ciBpbnRlcmZhY2Ugd291bGQNCiAgbWFrZSB0aGlzIGVhc2llciB0byB1c2UgYW5kIHJlc3VsdCBp biBtb3JlIHJlYWRhYmxlIGNvZGUuIGVnLg0KICANCmBgYA0Kb3V0X29mX2JhbmQgZG8gDQogIEdD LnN0YXJ0IGlmIEdDLm5lZWRzX21ham9yPyAgDQplbmQgDQpgYGANCg0KQmVjYXVzZSBvYmplY3Qg YWdpbmcgaXMgZGlzYWJsZWQgd2hlbiBtYWpvcnMgYXJlIGRpc2FibGVkIGl0IGlzIHJlY29tbWVu ZGVkIHRvDQp1c2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGBQcm9jZXNzLndhcm11cGAsIHdo aWNoIHdpbGwgcHJlcGFyZSB0aGUgaGVhcCBieQ0KcnVubmluZyBhIG1ham9yIEdDLCBjb21wYWN0 aW5nIHRoZSBoZWFwLCBhbmQgcHJvbW90aW5nIGV2ZXJ5IHJlbWFpbmluZyBvYmplY3QgdG8NCm9s ZC1nZW4uIFRoaXMgZW5zdXJlcyB0aGF0IG1pbm9yIEdDJ3MgYXJlIHJ1bm5pbmcgb3ZlciB0aGUg c21hbGxldHMgcG9zc2libGUgc2V0DQpvZiB5b3VuZyBvYmplY3RzIHdoZW4gYEdDLmRpc2FibGVf bWFqb3JgIGlzIHRydWUuDQoNCiMjIEJlbmNobWFya3MNCg0KV2UgcmFuIHNvbWUgdGVzdHMgaW4g cHJvZHVjdGlvbiBvbiBTaG9waWZ5J3MgY29yZSBtb25vbGl0aCBvdmVyIGEgd2Vla2VuZCBhbmQN CmZvdW5kIHRoYXQ6DQoNCioqTWVhbiB0aW1lIHNwZW50IGluIEdDLCBhcyB3ZWxsIGFzIHA5OS45 IGFuZCBwOTkuOTkgR0MgdGltZXMgYXJlIGFsbA0KaW1wcm92ZWQuKiogDQoNCjxpbWcgd2lkdGg9 IjEwMDAiIGFsdD0iU2NyZWVuc2hvdCAyMDI0LTA0LTIyIGF0IDE2IDQxIDQ5Ig0Kc3JjPSJodHRw czovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L2Fzc2V0cy8zMTg2OS82Y2ZmNWIxMS0yZTIxLTQwYzEt YmI4NC1kOTk0ZTBlMTc5OGQiPg0KDQoqKnA5OSBHQyB0aW1lIGlzIHNsaWdodGx5IGhpZ2hlci4q KiANCg0KPGltZyB3aWR0aD0iMTAwMCIgYWx0PSJTY3JlZW5zaG90IDIwMjQtMDQtMjIgYXQgMTYg NDQgNTUiDQpzcmM9Imh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvYXNzZXRzLzMxODY5L2Rj NjQ1Y2JlLTk0OTUtNDZmMC04NDg1LTI0ZTc5MGM0MmYzMiI+DQoNCldlJ3JlIHJ1bm5pbmcgZmFy IGZld2VyIE9PQkdDIG1ham9yIEdDJ3Mgbm93IHRoYXQgd2UgaGF2ZSBgR0MubmVlZHNfbWFqb3I/ YCB0aGFuDQp3ZSB3ZXJlIGJlZm9yZSwgYW5kIHdlIGJlbGlldmUgdGhhdCB0aGlzIGlzIGNvbnRy aWJ1dGluZyB0byBhIHNsaWdodGx5IGluY3JlYXNlZA0KbnVtYmVyIG9mIG1pbm9yIEdDJ3MuIHJh aXNpbmcgdGhlIHA5OSBzbGlnaHRseS4NCg0KKipBcHAgcmVzcG9uc2UgdGltZXMgYXJlIGFsbCBp bXByb3ZlZCoqDQoNCldlIHNlZSBhIH4yJSByZWR1Y3Rpb24gaW4gYXZlcmFnZSByZXNwb25zZSB0 aW1lcyB3aGVuIGNvbXBhcmVkIGFnYWluc3RzdGFuZGFyZCBHQyANCih+NyUgcDk5LCB+MyUgcDk5 LjkgYW5kIH40JSBwOTkuOTkpLg0KDQo8aW1nIHdpZHRoPSIxMDAwIiBhbHQ9IlNjcmVlbnNob3Qg MjAyNC0wNC0yMyBhdCAwOSAyNyAxNyIgc3JjPSJodHRwczovL2dpc3QuZ2l0aHViLmNvbS9hc3Nl dHMvMzE4NjkvNzBlODFmYTUtNzdiMi00NjlhLTg5NDUtODhiZjhmOGZlZmU5Ij4NCg0KVGhpcyBk cm9wcyBzbGlnaHRseSB0byBhbiBhIH4xJSByZWR1Y3Rpb24gaW4gYXZlcmFnZSByZXNwb25zZSB0 aW1lcyB3aGVuIGNvbXBhcmVkDQphZ2FpbnN0IG91ciBub3JtYWwgT09CR0MgYXBwcm9hY2ggICh+ NiUgcDk5LCB+MiUgcDk5LjkgYW5kIH4zJSBwOTkuOTkpLg0KDQo8aW1nIHdpZHRoPSIxMDAwIiBh bHQ9IlNjcmVlbnNob3QgMjAyNC0wNC0yMyBhdCAwOSAyNyAyOSIgc3JjPSJodHRwczovL2dpc3Qu Z2l0aHViLmNvbS9hc3NldHMvMzE4NjkvY2JhYTM4MDctMGNkMS00ZGJhLWE1ZTYtYjlkZjkxMDI0 ZDczIj4NCg0KDQpFRElUOiB0byBjb3JyZWN0IGEgZm9ybXVsYSBlcnJvciBpbiB0aGUgb3JpZ2lu YWwgQXZlcmFnZSBjaGFydHMsIG51bWJlcnMgdXBkYXRlZC4gDQoNCi0tLUZpbGVzLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkNhcHR1cmUgZOKAmWXMgWNyYW4gMjAyNC0wNC0yMiBh zIAgMTguNDEuNTIucG5nICgyNzkgS0IpDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5n Lm9yZy8NCiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBy dWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1 bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcu b3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMv cG9zdG9yaXVzL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==