[ruby-core:117682] [Ruby master Feature#20443] Allow Major GC's to be disabled
From:
"byroot (Jean Boussier) via ruby-core" <ruby-core@...>
Date:
2024-04-24 11:57:56 UTC
List:
ruby-core #117682
SXNzdWUgIzIwNDQzIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYnlyb290IChKZWFuIEJvdXNzaWVyKS4N Cg0KDQo+IEkgc2xpZ2h0bHkgcHJlZmVyIGhhdmluZyBhIG5ldyBtZXRob2QgcGFpciBmb3IgdGhp cw0KDQpTYW1lLiBpdCBtYWtlcyBpdCBlYXN5IHRvIHRlc3QgZm9yIGV4aXN0ZW5jZSB3aXRoIGBy ZXNwb25kX3RvP2AgYW5kIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9ucyBjYW4gbWFrZSB0aGVt IHVuZGVmaW5lZCBtZXRob2RzIGxpa2UgZm9yIGBQcm9jZXNzLmZvcmtgIGV0Yy4NCg0KLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMjA0NDM6IEFsbG93 IE1ham9yIEdDJ3MgdG8gYmUgZGlzYWJsZWQNCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lz c3Vlcy8yMDQ0MyNjaGFuZ2UtMTA4MDkyDQoNCiogQXV0aG9yOiBlaWdodGJpdHJhcHRvciAoTWF0 dGhldyBWYWxlbnRpbmUtSG91c2UpDQoqIFN0YXR1czogT3Blbg0KLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KW1tHaXRodWIgUFIgIzEwNTk4XV0oaHR0cHM6Ly9naXRo dWIuY29tL3J1YnkvcnVieS9wdWxsLzEwNTk4KQ0KDQojIyBCYWNrZ3JvdW5kDQoNClJ1YnkncyBH QyBydW5uaW5nIGR1cmluZyBSYWlscyByZXF1ZXN0cyBjYW4gaGF2ZSBuZWdhdGl2ZSBpbXBhY3Rz IG9uIGN1cnJlbnRseQ0KcnVubmluZyByZXF1ZXN0cywgY2F1c2luZyBhcHBsaWNhdGlvbnMgdG8g aGF2ZSBoaWdoIHRhaWwtbGF0ZW5jeS4NCg0KQSB0ZWNobmlxdWUgdG8gbWl0aWdhdGUgdGhpcyBo aWdoIHRhaWwtbGF0ZW5jeSBpcyBPdXQtb2YtYmFuZCBHQyAoT09CR0MpLiBUaGlzDQppcyBiYXNp Y2FsbHkgd2hlcmUgdGhlIGFwcGxpY2F0aW9uIGlzIHJ1biB3aXRoIEdDIGRpc2FibGVkLCBhbmQg dGhlbiBHQyBpcw0KZXhwbGljaXRseSBzdGFydGVkIGFmdGVyIGVhY2ggcmVxdWVzdCwgb3Igd2hl biBubyByZXF1ZXN0cyBhcmUgaW4gcHJvZ3Jlc3MuDQoNClRoaXMgY2FuIHJlZHVjZSB0aGUgdGFp bCBsYXRlbmN5LCBidXQgYWxzbyBpbnRyb2R1Y2VzIHByb2JsZW1zIG9mIGl0cyBvd24uIExvbmcN CkdDIHBhdXNlcyBhZnRlciBlYWNoIHJlcXVlc3QgcmVkdWNlIHRocm91Z2hwdXQuIFRoaXMgaXMg bW9yZSBwcm9ub3VuY2VkIG9uDQp0aHJlYWRpbmcgc2VydmVycyBsaWtlIFB1bWEgYmVjYXVzZSBh bGwgdGhlIHRocmVhZHMgaGF2ZSB0byBmaW5pc2ggcHJvY2Vzc2luZw0KdXNlciByZXF1ZXN0cyBh bmQgYmUgInBhdXNlZCIgYmVmb3JlIE9PQkdDIGNhbiBiZSB0cmlnZ2VyZWQuDQoNClRoaXMgdGhy b3VnaHB1dCBkZWNyZWFzZSBoYXBwZW5zIGZvciBhIGNvdXBsZSBvZiByZWFzb25zOg0KDQoxLiBU aGVyZSBhcmUgZmV3IGhldXJpc3RpY3MgYXZhaWxhYmxlIGZvciB1c2VycyB0byBkZXRlcm1pbmUg d2hlbiBHQyBzaG91bGQgcnVuLA0KdGhpcyBtZWFucyB0aGF0IGluIE9PQkdDIHNjZW5hcmlvcywg aXQncyBwb3NzaWJsZSB0aGF0IG1ham9yIEdDJ3MgYXJlIGJlaW5nIHJ1bg0KbW9yZSB0aGFuIG5l Y2Vzc2FyeS4gIDIuIFRoZSBsYWNrIG9mIGFueSBHQyBkdXJpbmcgYSByZXF1ZXN0IG1lYW5zIHRo YXQgbG90cyBvZg0KZ2FyYmFnZSBvYmplY3RzIGhhdmUgYmVlbiBjcmVhdGVkIGFuZCBub3QgY2xl YW5lZCB1cCwgc28gdGhlIHByb2Nlc3MgaXMgdXNpbmcNCm1vcmUgbWVtb3J5IHRoYW4gaXQgc2hv dWxkIC0gcmVxdWlyaW5nIG1ham9yIEdDJ3MgcnVuIGFzIHBhcnQgb2YgT09CR0MgdG8gZG8NCm1v cmUgd29yayBhbmQgdGhlcmVmb3JlIHRha2UgbW9yZSB0aW1lLg0KDQpUaGlzIHRpY2tldCBhdHRl bXB0cyB0byBhZGRyZXNzIHRoZXNlIGlzc3VlcyBieToNCg0KMS4gUHJvdmlkZSBgR0MuZGlzYWJs ZV9tYWpvcmAgYW5kIGl0cyBhbnRvbnltIGBHQy5lbmFibGVfbWFqb3JgIHRvIGRpc2FibGUgYW5k DQplbmFibGUgb25seSBtYWpvciBHQyAyLiBQcm92aWRlIGBHQy5uZWVkc19tYWpvcj9gIGFzIGEg YmFzaWMgaGV1cmlzdGljIGFsbG93aW5nDQp1c2VycyB0byB0ZWxsIHdoZW4gUnVieSBzaG91bGQg cnVuIGEgTWFqb3IgR0MuDQoNClRoZXNlIGlkZWFzIHdlcmUgb3JpZ2luYWxseSBwcm9wb3NlZCBi eSBAa28xIGFuZCBAYnlyb290IGluIFt0aGlzIHJhaWxzDQppc3N1ZV0oaHR0cHM6Ly9naXRodWIu Y29tL3JhaWxzL3JhaWxzL2lzc3Vlcy81MDQ0OSkNCg0KRGlzYWJsaW5nIEdDIG1ham9yJ3Mgd291 bGQgc3RpbGwgYWxsb3cgbWlub3IgR0MncyB0byBydW4gZHVyaW5nIHRoZSByZXF1ZXN0LA0KYXZv aWRpbmcgdGhlIGJhbGxvb25pbmcgbWVtb3J5IHVzYWdlIGNhdXNlZCBieSBub3QgcnVubmluZyBH QyBhdCBhbGwsIGFuZA0KcmVkdWNpbmcgdGhlIHRpbWUgdGhhdCBhIG1ham9yIHRha2VzIHdoZW4g d2UgZG8gcnVuIGl0LCBiZWNhdXNlIHRoZSBudXJzZXJ5DQpvYmplY3RzIGhhdmUgYmVlbiBjbGVh bmVkIHVwIGR1cmluZyB0aGUgcmVxdWVzdCBhbHJlYWR5IHNvIHRoZXJlIGlzIGxlc3Mgd29yaw0K Zm9yIGEgbWFqb3IgR0MgdG8gZG8uDQoNClRoaXMgY2FuIGJlIHVzZWQgaW4gY29tYmluYXRpb24g d2l0aCBgR0MubmVlZHNfbWFqb3I/YCB0byBzZWxlY3RpdmVseSBydW4gYW4NCk9PQkdDIG9ubHkg d2hlbiBuZWNlc3NhcnkNCg0KIyMgSW1wbGVtZW50YXRpb24NCg0KVGhpcyBQUiBhZGRzIDMgbmV3 IG1ldGhvZHMgdG8gdGhlIGBHQ2AgbW9kdWxlDQoNCi0gYEdDLmRpc2FibGVfbWFqb3JgIFRoaXMg cHJldmVudHMgbWFqb3IgR0MncyBmcm9tIHJ1bm5pbmcgYXV0b21hdGljYWxseS4gSXQNCiAgZG9l cyBub3QgcmVzdHJpY3QgbWlub3JzLiBXaGVuIGBvYmpzcGFjZS0+cmdlbmdjLm5lZWRfbWFqb3Jf Z2NgIGlzIHNldCBhbmQgYQ0KICBHQyBpcyBydW4sIGluc3RlYWQgb2YgcnVubmluZyBhIG1ham9y LCBuZXcgaGVhcCBwYWdlcyB3aWxsIGJlIGFsbG9jYXRlZCBhbmQgYQ0KICBtaW5vciBydW4gaW5z dGVhZC4gYG9ianNwYWNlLT5yZ2VuZ2MubmVlZF9tYWpvcl9nY2Agd2lsbCByZW1haW4gc2V0IHVu dGlsIGENCiAgbWFqb3IgaXMgbWFudWFsbHkgcnVuLiBJZiBhIG1ham9yIGlzIG5vdCBtYW51YWxs eSBydW4gdGhlbiB0aGUgcHJvY2VzcyB3aWxsDQogIGV2ZW50dWFsbHkgcnVuIG91dCBvZiBtZW1v cnkuDQogIA0KICBXaGVuIG1ham9yIEdDJ3MgYXJlIGRpc2FibGVkLCBvYmplY3QgcHJvbW90aW9u IGlzIGRpc2FibGVkLiBUaGF0IGlzLCBubw0KICBvYmplY3RzIHdpbGwgaW5jcmVtZW50IHRoZWly IGFnZXMgZHVyaW5nIGEgbWlub3IgR0MuIFRoaXMgaXMgdG8gYXR0ZW1wdCB0bw0KICBtaW5pbWlz ZSBoZWFwIGdyb3d0aCBkdXJpbmcgdGhlIHBlcmlvZCBiZXR3ZWVuIG1ham9yIEdDJ3MsIGJ5IHJl c3RyaWN0aW5nIHRoZQ0KICBudW1iZXIgb2Ygb2xkLWdlbiBvYmplY3RzIHRoYXQgd2lsbCByZW1h aW4gdW5jb25zaWRlcmVkIGJ5IHRoZSBHQyB1bnRpbCB0aGUNCiAgbmV4dCBtYWpvci4NCiAgDQog IFdoZW4gYEdDLnN0YXJ0YCBpcyBydW4sIHRoZW4gbWFqb3IgR0MncyB3aWxsIGJlIGVuYWJsZWQs IGEgR0MgdHJpZ2dlcmVkIHdpdGgNCiAgdGhlIG9wdGlvbnMgcGFzc2VkIHRvIGBHQy5zdGFydGAs IGFuZCB0aGVuIGBkaXNhYmxlX21ham9yYCB3aWxsIGJlIHNldCB0byB0aGUNCiAgc3RhdGUgaXQg d2FzIGluIGJlZm9yZSBgR0Muc3RhcnRgIHdhcyBjYWxsZWQuDQogIA0KLSBgR0MuZW5hYmxlX21h am9yYCBUaGlzIHNpbXBseSB1bnNldHMgdGhlIGJpdCBwcmV2ZW50aW5nIG1ham9yIEdDJ3MuIFRo aXMgd2lsbA0KICByZXZlcnQgdGhlIEdDIHRvIG5vcm1hbCBnZW5lcmF0aW9uYWwgYmVoYXZpb3Vy LiBFdmVyeXRoaW5nIGJlaGF2ZXMgYXMgZGVmYXVsdA0KICBhZ2Fpbi4NCg0KLSBgR0MubmVlZHNf bWFqb3I/YCBUaGlzIGV4cG9zZXMgdGhlIHZhbHVlIG9mIGBvYmpzcGFjZS0+cmdlbmdjLm5lZWRf bWFqb3JfZ2NgDQogIHRvIHRoZSB1c2VyIGxldmVsIEFQSS4gVGhpcyBpcyBhbHJlYWR5IGV4cG9z ZWQgaW4NCiAgYEdDLmxhdGVzdF9nY19pbmZvWzpuZWVkX21ham9yX2J5XWAgYnV0IEkgZmVsdCB0 aGF0IGEgc2ltcGxlciBpbnRlcmZhY2Ugd291bGQNCiAgbWFrZSB0aGlzIGVhc2llciB0byB1c2Ug YW5kIHJlc3VsdCBpbiBtb3JlIHJlYWRhYmxlIGNvZGUuIGVnLg0KICANCmBgYA0Kb3V0X29mX2Jh bmQgZG8gDQogIEdDLnN0YXJ0IGlmIEdDLm5lZWRzX21ham9yPyAgDQplbmQgDQpgYGANCg0KQmVj YXVzZSBvYmplY3QgYWdpbmcgaXMgZGlzYWJsZWQgd2hlbiBtYWpvcnMgYXJlIGRpc2FibGVkIGl0 IGlzIHJlY29tbWVuZGVkIHRvDQp1c2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGBQcm9jZXNz Lndhcm11cGAsIHdoaWNoIHdpbGwgcHJlcGFyZSB0aGUgaGVhcCBieQ0KcnVubmluZyBhIG1ham9y IEdDLCBjb21wYWN0aW5nIHRoZSBoZWFwLCBhbmQgcHJvbW90aW5nIGV2ZXJ5IHJlbWFpbmluZyBv YmplY3QgdG8NCm9sZC1nZW4uIFRoaXMgZW5zdXJlcyB0aGF0IG1pbm9yIEdDJ3MgYXJlIHJ1bm5p bmcgb3ZlciB0aGUgc21hbGxldHMgcG9zc2libGUgc2V0DQpvZiB5b3VuZyBvYmplY3RzIHdoZW4g YEdDLmRpc2FibGVfbWFqb3JgIGlzIHRydWUuDQoNCiMjIEJlbmNobWFya3MNCg0KV2UgcmFuIHNv bWUgdGVzdHMgaW4gcHJvZHVjdGlvbiBvbiBTaG9waWZ5J3MgY29yZSBtb25vbGl0aCBvdmVyIGEg d2Vla2VuZCBhbmQNCmZvdW5kIHRoYXQ6DQoNCioqTWVhbiB0aW1lIHNwZW50IGluIEdDLCBhcyB3 ZWxsIGFzIHA5OS45IGFuZCBwOTkuOTkgR0MgdGltZXMgYXJlIGFsbA0KaW1wcm92ZWQuKiogDQoN CjxpbWcgd2lkdGg9IjEwMDAiIGFsdD0iU2NyZWVuc2hvdCAyMDI0LTA0LTIyIGF0IDE2IDQxIDQ5 Ig0Kc3JjPSJodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L2Fzc2V0cy8zMTg2OS82Y2ZmNWIx MS0yZTIxLTQwYzEtYmI4NC1kOTk0ZTBlMTc5OGQiPg0KDQoqKnA5OSBHQyB0aW1lIGlzIHNsaWdo dGx5IGhpZ2hlci4qKiANCg0KPGltZyB3aWR0aD0iMTAwMCIgYWx0PSJTY3JlZW5zaG90IDIwMjQt MDQtMjIgYXQgMTYgNDQgNTUiDQpzcmM9Imh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvYXNz ZXRzLzMxODY5L2RjNjQ1Y2JlLTk0OTUtNDZmMC04NDg1LTI0ZTc5MGM0MmYzMiI+DQoNCldlJ3Jl IHJ1bm5pbmcgZmFyIGZld2VyIE9PQkdDIG1ham9yIEdDJ3Mgbm93IHRoYXQgd2UgaGF2ZSBgR0Mu bmVlZHNfbWFqb3I/YCB0aGFuDQp3ZSB3ZXJlIGJlZm9yZSwgYW5kIHdlIGJlbGlldmUgdGhhdCB0 aGlzIGlzIGNvbnRyaWJ1dGluZyB0byBhIHNsaWdodGx5IGluY3JlYXNlZA0KbnVtYmVyIG9mIG1p bm9yIEdDJ3MuIHJhaXNpbmcgdGhlIHA5OSBzbGlnaHRseS4NCg0KKipBcHAgcmVzcG9uc2UgdGlt ZXMgYXJlIGFsbCBpbXByb3ZlZCoqDQoNCldlIHNlZSBhIH4yJSByZWR1Y3Rpb24gaW4gYXZlcmFn ZSByZXNwb25zZSB0aW1lcyB3aGVuIGNvbXBhcmVkIGFnYWluc3RzdGFuZGFyZCBHQyANCih+NyUg cDk5LCB+MyUgcDk5LjkgYW5kIH40JSBwOTkuOTkpLg0KDQo8aW1nIHdpZHRoPSIxMDAwIiBhbHQ9 IlNjcmVlbnNob3QgMjAyNC0wNC0yMyBhdCAwOSAyNyAxNyIgc3JjPSJodHRwczovL2dpc3QuZ2l0 aHViLmNvbS9hc3NldHMvMzE4NjkvNzBlODFmYTUtNzdiMi00NjlhLTg5NDUtODhiZjhmOGZlZmU5 Ij4NCg0KVGhpcyBkcm9wcyBzbGlnaHRseSB0byBhbiBhIH4xJSByZWR1Y3Rpb24gaW4gYXZlcmFn ZSByZXNwb25zZSB0aW1lcyB3aGVuIGNvbXBhcmVkDQphZ2FpbnN0IG91ciBub3JtYWwgT09CR0Mg YXBwcm9hY2ggICh+NiUgcDk5LCB+MiUgcDk5LjkgYW5kIH4zJSBwOTkuOTkpLg0KDQo8aW1nIHdp ZHRoPSIxMDAwIiBhbHQ9IlNjcmVlbnNob3QgMjAyNC0wNC0yMyBhdCAwOSAyNyAyOSIgc3JjPSJo dHRwczovL2dpc3QuZ2l0aHViLmNvbS9hc3NldHMvMzE4NjkvY2JhYTM4MDctMGNkMS00ZGJhLWE1 ZTYtYjlkZjkxMDI0ZDczIj4NCg0KDQpFRElUOiB0byBjb3JyZWN0IGEgZm9ybXVsYSBlcnJvciBp biB0aGUgb3JpZ2luYWwgQXZlcmFnZSBjaGFydHMsIG51bWJlcnMgdXBkYXRlZC4gDQoNCi0tLUZp bGVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkNhcHR1cmUgZOKAmWXMgWNyYW4g MjAyNC0wNC0yMiBhzIAgMTguNDEuNTIucG5nICgyNzkgS0IpDQoNCg0KLS0gDQpodHRwczovL2J1 Z3MucnVieS1sYW5nLm9yZy8NCiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCiBydWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxh bmcub3JnCiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBt bC5ydWJ5LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5v cmcvbWFpbG1hbjMvcG9zdG9yaXVzL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==