[ruby-core:118567] [Ruby master Feature#20443] Allow Major GC's to be disabled
From:
"eightbitraptor (Matthew Valentine-House) via ruby-core" <ruby-core@...>
Date:
2024-07-11 20:21:37 UTC
List:
ruby-core #118567
SXNzdWUgIzIwNDQzIGhhcyBiZWVuIHVwZGF0ZWQgYnkgZWlnaHRiaXRyYXB0b3IgKE1hdHRoZXcg VmFsZW50aW5lLUhvdXNlKS4NCg0KDQprbzEgKEtvaWNoaSBTYXNhZGEpIHdyb3RlIGluICNub3Rl LTI1Og0KPiBPbiBkZXYtbWVldGluZywgdGhlcmUgaXMgbm8gb2JqZWN0aW9uIG9uIGBHQy5jb25m aWcoKWAuDQo+IENvdWxkIHlvdSB3cml0ZSB0aGUgbW9yZSBkb2Mgb2YgaXQ/IEZvciBleGFtcGxl LCByZXR1cm5pbmcgdmFsdWUgaXMgdW5jbGVhci4NCj4gDQo+IEFib3V0IGtleXM6DQo+IA0KPiAq IE1hdHogcHJlZmVyIHRvIGFkZCBwcmVmaXggZm9yIHRoZSBrZXlzLCBsaWtlIGBHQy5jb25maWco Z2VuZ2NfZnVsbF9tYXJrOiB0cnVlKWAuDQo+ICogSSB0aGluayBgR0MuY29uZmlnKGdlbmdjX2Z1 bGxfbWFyazogdHJ1ZSlgIGlzIG5vdCBjbGVhciBhbHdheXMgZG8gZnVsbCBtYXJraW5nIG9yIG5v dCAoYGdlbmdjX2Z1bGxfbWFyazogZmFsc2VgIGlzIGNsZWFyIHRoYXQgZnVsbCBtYXJraW5nIGlz IHByb2hpYml0ZWQpLiBgZ2VuZ2NfYWxsb3dfZnVsbF9tYXJrOiB0cnVlL2ZhbHNlYD8gdG9vIG11 Y2g/DQoNClRoYW5rIHlvdSBmb3IgZGlzY3Vzc2luZyB0aGlzLiBJIHdpbGwgc2hpcCB0aGlzIHdp dGggYEdDLmNvbmZpZ2AgYXMgdGhlIG1ldGhvZCBuYW1lLiBJIGhhdmUgY2hhbmdlZCB0aGUgY29u ZmlnIGtleSB0byBgcmdlbmdjX2FsbG93X2Z1bGxfbWFya2AsIGJlY2F1c2UgZGVzcGl0ZSBiZWlu ZyBsb25nLCBpdCBpcyBkZXNjcmlwdGl2ZSBhbmQgdW5hbWJpZ3VvdXMuIEkgaGF2ZSBhbHNvIGZ1 bGx5IGRvY3VtZW50ZWQgdGhlIHNlbWFudGljcyBvZiBgR0MuY29uZmlnYCwgYXMgd2VsbCBhcyB0 aGUgYmVoYXZpb3VyIG9mIHRoaXMga2V5Lg0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzIwNDQzOiBBbGxvdyBNYWpvciBHQydzIHRvIGJlIGRp c2FibGVkDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjA0NDMjY2hhbmdlLTEw OTA4OQ0KDQoqIEF1dGhvcjogZWlnaHRiaXRyYXB0b3IgKE1hdHRoZXcgVmFsZW50aW5lLUhvdXNl KQ0KKiBTdGF0dXM6IE9wZW4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCltbR2l0aHViIFBSICMxMDU5OF1dKGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvcHVs bC8xMDU5OCkNCg0KIyMgQmFja2dyb3VuZA0KDQpSdWJ5J3MgR0MgcnVubmluZyBkdXJpbmcgUmFp bHMgcmVxdWVzdHMgY2FuIGhhdmUgbmVnYXRpdmUgaW1wYWN0cyBvbiBjdXJyZW50bHkNCnJ1bm5p bmcgcmVxdWVzdHMsIGNhdXNpbmcgYXBwbGljYXRpb25zIHRvIGhhdmUgaGlnaCB0YWlsLWxhdGVu Y3kuDQoNCkEgdGVjaG5pcXVlIHRvIG1pdGlnYXRlIHRoaXMgaGlnaCB0YWlsLWxhdGVuY3kgaXMg T3V0LW9mLWJhbmQgR0MgKE9PQkdDKS4gVGhpcw0KaXMgYmFzaWNhbGx5IHdoZXJlIHRoZSBhcHBs aWNhdGlvbiBpcyBydW4gd2l0aCBHQyBkaXNhYmxlZCwgYW5kIHRoZW4gR0MgaXMNCmV4cGxpY2l0 bHkgc3RhcnRlZCBhZnRlciBlYWNoIHJlcXVlc3QsIG9yIHdoZW4gbm8gcmVxdWVzdHMgYXJlIGlu IHByb2dyZXNzLg0KDQpUaGlzIGNhbiByZWR1Y2UgdGhlIHRhaWwgbGF0ZW5jeSwgYnV0IGFsc28g aW50cm9kdWNlcyBwcm9ibGVtcyBvZiBpdHMgb3duLiBMb25nDQpHQyBwYXVzZXMgYWZ0ZXIgZWFj aCByZXF1ZXN0IHJlZHVjZSB0aHJvdWdocHV0LiBUaGlzIGlzIG1vcmUgcHJvbm91bmNlZCBvbg0K dGhyZWFkaW5nIHNlcnZlcnMgbGlrZSBQdW1hIGJlY2F1c2UgYWxsIHRoZSB0aHJlYWRzIGhhdmUg dG8gZmluaXNoIHByb2Nlc3NpbmcNCnVzZXIgcmVxdWVzdHMgYW5kIGJlICJwYXVzZWQiIGJlZm9y ZSBPT0JHQyBjYW4gYmUgdHJpZ2dlcmVkLg0KDQpUaGlzIHRocm91Z2hwdXQgZGVjcmVhc2UgaGFw cGVucyBmb3IgYSBjb3VwbGUgb2YgcmVhc29uczoNCg0KMS4gVGhlcmUgYXJlIGZldyBoZXVyaXN0 aWNzIGF2YWlsYWJsZSBmb3IgdXNlcnMgdG8gZGV0ZXJtaW5lIHdoZW4gR0Mgc2hvdWxkIHJ1biwN CnRoaXMgbWVhbnMgdGhhdCBpbiBPT0JHQyBzY2VuYXJpb3MsIGl0J3MgcG9zc2libGUgdGhhdCBt YWpvciBHQydzIGFyZSBiZWluZyBydW4NCm1vcmUgdGhhbiBuZWNlc3NhcnkuICAyLiBUaGUgbGFj ayBvZiBhbnkgR0MgZHVyaW5nIGEgcmVxdWVzdCBtZWFucyB0aGF0IGxvdHMgb2YNCmdhcmJhZ2Ug b2JqZWN0cyBoYXZlIGJlZW4gY3JlYXRlZCBhbmQgbm90IGNsZWFuZWQgdXAsIHNvIHRoZSBwcm9j ZXNzIGlzIHVzaW5nDQptb3JlIG1lbW9yeSB0aGFuIGl0IHNob3VsZCAtIHJlcXVpcmluZyBtYWpv ciBHQydzIHJ1biBhcyBwYXJ0IG9mIE9PQkdDIHRvIGRvDQptb3JlIHdvcmsgYW5kIHRoZXJlZm9y ZSB0YWtlIG1vcmUgdGltZS4NCg0KVGhpcyB0aWNrZXQgYXR0ZW1wdHMgdG8gYWRkcmVzcyB0aGVz ZSBpc3N1ZXMgYnk6DQoNCjEuIFByb3ZpZGUgYEdDLmRpc2FibGVfbWFqb3JgIGFuZCBpdHMgYW50 b255bSBgR0MuZW5hYmxlX21ham9yYCB0byBkaXNhYmxlIGFuZA0KZW5hYmxlIG9ubHkgbWFqb3Ig R0MgMi4gUHJvdmlkZSBgR0MubmVlZHNfbWFqb3I/YCBhcyBhIGJhc2ljIGhldXJpc3RpYyBhbGxv d2luZw0KdXNlcnMgdG8gdGVsbCB3aGVuIFJ1Ynkgc2hvdWxkIHJ1biBhIE1ham9yIEdDLg0KDQpU aGVzZSBpZGVhcyB3ZXJlIG9yaWdpbmFsbHkgcHJvcG9zZWQgYnkgQGtvMSBhbmQgQGJ5cm9vdCBp biBbdGhpcyByYWlscw0KaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9yYWlscy9yYWlscy9pc3N1 ZXMvNTA0NDkpDQoNCkRpc2FibGluZyBHQyBtYWpvcidzIHdvdWxkIHN0aWxsIGFsbG93IG1pbm9y IEdDJ3MgdG8gcnVuIGR1cmluZyB0aGUgcmVxdWVzdCwNCmF2b2lkaW5nIHRoZSBiYWxsb29uaW5n IG1lbW9yeSB1c2FnZSBjYXVzZWQgYnkgbm90IHJ1bm5pbmcgR0MgYXQgYWxsLCBhbmQNCnJlZHVj aW5nIHRoZSB0aW1lIHRoYXQgYSBtYWpvciB0YWtlcyB3aGVuIHdlIGRvIHJ1biBpdCwgYmVjYXVz ZSB0aGUgbnVyc2VyeQ0Kb2JqZWN0cyBoYXZlIGJlZW4gY2xlYW5lZCB1cCBkdXJpbmcgdGhlIHJl cXVlc3QgYWxyZWFkeSBzbyB0aGVyZSBpcyBsZXNzIHdvcmsNCmZvciBhIG1ham9yIEdDIHRvIGRv Lg0KDQpUaGlzIGNhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYEdDLm5lZWRzX21ham9y P2AgdG8gc2VsZWN0aXZlbHkgcnVuIGFuDQpPT0JHQyBvbmx5IHdoZW4gbmVjZXNzYXJ5DQoNCiMj IEltcGxlbWVudGF0aW9uDQoNClRoaXMgUFIgYWRkcyAzIG5ldyBtZXRob2RzIHRvIHRoZSBgR0Ng IG1vZHVsZQ0KDQotIGBHQy5kaXNhYmxlX21ham9yYCBUaGlzIHByZXZlbnRzIG1ham9yIEdDJ3Mg ZnJvbSBydW5uaW5nIGF1dG9tYXRpY2FsbHkuIEl0DQogIGRvZXMgbm90IHJlc3RyaWN0IG1pbm9y cy4gV2hlbiBgb2Jqc3BhY2UtPnJnZW5nYy5uZWVkX21ham9yX2djYCBpcyBzZXQgYW5kIGENCiAg R0MgaXMgcnVuLCBpbnN0ZWFkIG9mIHJ1bm5pbmcgYSBtYWpvciwgbmV3IGhlYXAgcGFnZXMgd2ls bCBiZSBhbGxvY2F0ZWQgYW5kIGENCiAgbWlub3IgcnVuIGluc3RlYWQuIGBvYmpzcGFjZS0+cmdl bmdjLm5lZWRfbWFqb3JfZ2NgIHdpbGwgcmVtYWluIHNldCB1bnRpbCBhDQogIG1ham9yIGlzIG1h bnVhbGx5IHJ1bi4gSWYgYSBtYWpvciBpcyBub3QgbWFudWFsbHkgcnVuIHRoZW4gdGhlIHByb2Nl c3Mgd2lsbA0KICBldmVudHVhbGx5IHJ1biBvdXQgb2YgbWVtb3J5Lg0KICANCiAgV2hlbiBtYWpv ciBHQydzIGFyZSBkaXNhYmxlZCwgb2JqZWN0IHByb21vdGlvbiBpcyBkaXNhYmxlZC4gVGhhdCBp cywgbm8NCiAgb2JqZWN0cyB3aWxsIGluY3JlbWVudCB0aGVpciBhZ2VzIGR1cmluZyBhIG1pbm9y IEdDLiBUaGlzIGlzIHRvIGF0dGVtcHQgdG8NCiAgbWluaW1pc2UgaGVhcCBncm93dGggZHVyaW5n IHRoZSBwZXJpb2QgYmV0d2VlbiBtYWpvciBHQydzLCBieSByZXN0cmljdGluZyB0aGUNCiAgbnVt YmVyIG9mIG9sZC1nZW4gb2JqZWN0cyB0aGF0IHdpbGwgcmVtYWluIHVuY29uc2lkZXJlZCBieSB0 aGUgR0MgdW50aWwgdGhlDQogIG5leHQgbWFqb3IuDQogIA0KICBXaGVuIGBHQy5zdGFydGAgaXMg cnVuLCB0aGVuIG1ham9yIEdDJ3Mgd2lsbCBiZSBlbmFibGVkLCBhIEdDIHRyaWdnZXJlZCB3aXRo DQogIHRoZSBvcHRpb25zIHBhc3NlZCB0byBgR0Muc3RhcnRgLCBhbmQgdGhlbiBgZGlzYWJsZV9t YWpvcmAgd2lsbCBiZSBzZXQgdG8gdGhlDQogIHN0YXRlIGl0IHdhcyBpbiBiZWZvcmUgYEdDLnN0 YXJ0YCB3YXMgY2FsbGVkLg0KICANCi0gYEdDLmVuYWJsZV9tYWpvcmAgVGhpcyBzaW1wbHkgdW5z ZXRzIHRoZSBiaXQgcHJldmVudGluZyBtYWpvciBHQydzLiBUaGlzIHdpbGwNCiAgcmV2ZXJ0IHRo ZSBHQyB0byBub3JtYWwgZ2VuZXJhdGlvbmFsIGJlaGF2aW91ci4gRXZlcnl0aGluZyBiZWhhdmVz IGFzIGRlZmF1bHQNCiAgYWdhaW4uDQoNCi0gYEdDLm5lZWRzX21ham9yP2AgVGhpcyBleHBvc2Vz IHRoZSB2YWx1ZSBvZiBgb2Jqc3BhY2UtPnJnZW5nYy5uZWVkX21ham9yX2djYA0KICB0byB0aGUg dXNlciBsZXZlbCBBUEkuIFRoaXMgaXMgYWxyZWFkeSBleHBvc2VkIGluDQogIGBHQy5sYXRlc3Rf Z2NfaW5mb1s6bmVlZF9tYWpvcl9ieV1gIGJ1dCBJIGZlbHQgdGhhdCBhIHNpbXBsZXIgaW50ZXJm YWNlIHdvdWxkDQogIG1ha2UgdGhpcyBlYXNpZXIgdG8gdXNlIGFuZCByZXN1bHQgaW4gbW9yZSBy ZWFkYWJsZSBjb2RlLiBlZy4NCiAgDQpgYGANCm91dF9vZl9iYW5kIGRvIA0KICBHQy5zdGFydCBp ZiBHQy5uZWVkc19tYWpvcj8gIA0KZW5kIA0KYGBgDQoNCkJlY2F1c2Ugb2JqZWN0IGFnaW5nIGlz IGRpc2FibGVkIHdoZW4gbWFqb3JzIGFyZSBkaXNhYmxlZCBpdCBpcyByZWNvbW1lbmRlZCB0bw0K dXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgUHJvY2Vzcy53YXJtdXBgLCB3aGljaCB3aWxs IHByZXBhcmUgdGhlIGhlYXAgYnkNCnJ1bm5pbmcgYSBtYWpvciBHQywgY29tcGFjdGluZyB0aGUg aGVhcCwgYW5kIHByb21vdGluZyBldmVyeSByZW1haW5pbmcgb2JqZWN0IHRvDQpvbGQtZ2VuLiBU aGlzIGVuc3VyZXMgdGhhdCBtaW5vciBHQydzIGFyZSBydW5uaW5nIG92ZXIgdGhlIHNtYWxsZXRz IHBvc3NpYmxlIHNldA0Kb2YgeW91bmcgb2JqZWN0cyB3aGVuIGBHQy5kaXNhYmxlX21ham9yYCBp cyB0cnVlLg0KDQojIyBCZW5jaG1hcmtzDQoNCldlIHJhbiBzb21lIHRlc3RzIGluIHByb2R1Y3Rp b24gb24gU2hvcGlmeSdzIGNvcmUgbW9ub2xpdGggb3ZlciBhIHdlZWtlbmQgYW5kDQpmb3VuZCB0 aGF0Og0KDQoqKk1lYW4gdGltZSBzcGVudCBpbiBHQywgYXMgd2VsbCBhcyBwOTkuOSBhbmQgcDk5 Ljk5IEdDIHRpbWVzIGFyZSBhbGwNCmltcHJvdmVkLioqIA0KDQo8aW1nIHdpZHRoPSIxMDAwIiBh bHQ9IlNjcmVlbnNob3QgMjAyNC0wNC0yMiBhdCAxNiA0MSA0OSINCnNyYz0iaHR0cHM6Ly9naXRo dWIuY29tL3J1YnkvcnVieS9hc3NldHMvMzE4NjkvNmNmZjViMTEtMmUyMS00MGMxLWJiODQtZDk5 NGUwZTE3OThkIj4NCg0KKipwOTkgR0MgdGltZSBpcyBzbGlnaHRseSBoaWdoZXIuKiogDQoNCjxp bWcgd2lkdGg9IjEwMDAiIGFsdD0iU2NyZWVuc2hvdCAyMDI0LTA0LTIyIGF0IDE2IDQ0IDU1Ig0K c3JjPSJodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L2Fzc2V0cy8zMTg2OS9kYzY0NWNiZS05 NDk1LTQ2ZjAtODQ4NS0yNGU3OTBjNDJmMzIiPg0KDQpXZSdyZSBydW5uaW5nIGZhciBmZXdlciBP T0JHQyBtYWpvciBHQydzIG5vdyB0aGF0IHdlIGhhdmUgYEdDLm5lZWRzX21ham9yP2AgdGhhbg0K d2Ugd2VyZSBiZWZvcmUsIGFuZCB3ZSBiZWxpZXZlIHRoYXQgdGhpcyBpcyBjb250cmlidXRpbmcg dG8gYSBzbGlnaHRseSBpbmNyZWFzZWQNCm51bWJlciBvZiBtaW5vciBHQydzLiByYWlzaW5nIHRo ZSBwOTkgc2xpZ2h0bHkuDQoNCioqQXBwIHJlc3BvbnNlIHRpbWVzIGFyZSBhbGwgaW1wcm92ZWQq Kg0KDQpXZSBzZWUgYSB+MiUgcmVkdWN0aW9uIGluIGF2ZXJhZ2UgcmVzcG9uc2UgdGltZXMgd2hl biBjb21wYXJlZCBhZ2FpbnN0c3RhbmRhcmQgR0MgDQoofjclIHA5OSwgfjMlIHA5OS45IGFuZCB+ NCUgcDk5Ljk5KS4NCg0KPGltZyB3aWR0aD0iMTAwMCIgYWx0PSJTY3JlZW5zaG90IDIwMjQtMDQt MjMgYXQgMDkgMjcgMTciIHNyYz0iaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vYXNzZXRzLzMxODY5 LzcwZTgxZmE1LTc3YjItNDY5YS04OTQ1LTg4YmY4ZjhmZWZlOSI+DQoNClRoaXMgZHJvcHMgc2xp Z2h0bHkgdG8gYW4gYSB+MSUgcmVkdWN0aW9uIGluIGF2ZXJhZ2UgcmVzcG9uc2UgdGltZXMgd2hl biBjb21wYXJlZA0KYWdhaW5zdCBvdXIgbm9ybWFsIE9PQkdDIGFwcHJvYWNoICAofjYlIHA5OSwg fjIlIHA5OS45IGFuZCB+MyUgcDk5Ljk5KS4NCg0KPGltZyB3aWR0aD0iMTAwMCIgYWx0PSJTY3Jl ZW5zaG90IDIwMjQtMDQtMjMgYXQgMDkgMjcgMjkiIHNyYz0iaHR0cHM6Ly9naXN0LmdpdGh1Yi5j b20vYXNzZXRzLzMxODY5L2NiYWEzODA3LTBjZDEtNGRiYS1hNWU2LWI5ZGY5MTAyNGQ3MyI+DQoN Cg0KRURJVDogdG8gY29ycmVjdCBhIGZvcm11bGEgZXJyb3IgaW4gdGhlIG9yaWdpbmFsIEF2ZXJh Z2UgY2hhcnRzLCBudW1iZXJzIHVwZGF0ZWQuIA0KDQotLS1GaWxlcy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQpDYXB0dXJlIGTigJllzIFjcmFuIDIwMjQtMDQtMjIgYcyAIDE4LjQx LjUyLnBuZyAoMjc5IEtCKQ0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQog X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogcnVieS1jb3Jl IG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3Jp YmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVi eS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL2xpc3RzL3J1 YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==