[ruby-core:118491] [Ruby master Feature#20443] Allow Major GC's to be disabled
From:
"byroot (Jean Boussier) via ruby-core" <ruby-core@...>
Date:
2024-07-08 18:17:32 UTC
List:
ruby-core #118491
SXNzdWUgIzIwNDQzIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYnlyb290IChKZWFuIEJvdXNzaWVyKS4N Cg0KDQo+ICBidXQgbm90IHN1cmUgY29uZmlnIG9yIGNvbmZpZ3VyZSBvciBvdGhlciB3b3JkPyAo RW5nbGlzaCBpc3N1ZSkuDQoNCkdpdmVuIGBHQy5jb25maWdgIHJldHVybnMgdGhlIGN1cnJlbnQg Y29uZmlndXJhdGlvbiwgSSBjYW4ndCBiZSBgLmNvbmZpZ3VyZWAuDQoNCkl0IGNvdWxkIGJlIGAu Y29uZmlndXJhdGlvbmAsIG9yIGFueSBvdGhlciBjb25jZXB0LiBXZSBjYW4gYWRkIGl0IHRvIHRo ZSB1cGNvbWluZyBkZXYgbWVldGluZyB0byBnZXQgYSBkZWNpc2lvbiBvbiB0aGF0IG5hbWUuDQoN Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzIwNDQz OiBBbGxvdyBNYWpvciBHQydzIHRvIGJlIGRpc2FibGVkDQpodHRwczovL2J1Z3MucnVieS1sYW5n Lm9yZy9pc3N1ZXMvMjA0NDMjY2hhbmdlLTEwOTAxMQ0KDQoqIEF1dGhvcjogZWlnaHRiaXRyYXB0 b3IgKE1hdHRoZXcgVmFsZW50aW5lLUhvdXNlKQ0KKiBTdGF0dXM6IE9wZW4NCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCltbR2l0aHViIFBSICMxMDU5OF1dKGh0dHBz Oi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC8xMDU5OCkNCg0KIyMgQmFja2dyb3VuZA0KDQpS dWJ5J3MgR0MgcnVubmluZyBkdXJpbmcgUmFpbHMgcmVxdWVzdHMgY2FuIGhhdmUgbmVnYXRpdmUg aW1wYWN0cyBvbiBjdXJyZW50bHkNCnJ1bm5pbmcgcmVxdWVzdHMsIGNhdXNpbmcgYXBwbGljYXRp b25zIHRvIGhhdmUgaGlnaCB0YWlsLWxhdGVuY3kuDQoNCkEgdGVjaG5pcXVlIHRvIG1pdGlnYXRl IHRoaXMgaGlnaCB0YWlsLWxhdGVuY3kgaXMgT3V0LW9mLWJhbmQgR0MgKE9PQkdDKS4gVGhpcw0K aXMgYmFzaWNhbGx5IHdoZXJlIHRoZSBhcHBsaWNhdGlvbiBpcyBydW4gd2l0aCBHQyBkaXNhYmxl ZCwgYW5kIHRoZW4gR0MgaXMNCmV4cGxpY2l0bHkgc3RhcnRlZCBhZnRlciBlYWNoIHJlcXVlc3Qs IG9yIHdoZW4gbm8gcmVxdWVzdHMgYXJlIGluIHByb2dyZXNzLg0KDQpUaGlzIGNhbiByZWR1Y2Ug dGhlIHRhaWwgbGF0ZW5jeSwgYnV0IGFsc28gaW50cm9kdWNlcyBwcm9ibGVtcyBvZiBpdHMgb3du LiBMb25nDQpHQyBwYXVzZXMgYWZ0ZXIgZWFjaCByZXF1ZXN0IHJlZHVjZSB0aHJvdWdocHV0LiBU aGlzIGlzIG1vcmUgcHJvbm91bmNlZCBvbg0KdGhyZWFkaW5nIHNlcnZlcnMgbGlrZSBQdW1hIGJl Y2F1c2UgYWxsIHRoZSB0aHJlYWRzIGhhdmUgdG8gZmluaXNoIHByb2Nlc3NpbmcNCnVzZXIgcmVx dWVzdHMgYW5kIGJlICJwYXVzZWQiIGJlZm9yZSBPT0JHQyBjYW4gYmUgdHJpZ2dlcmVkLg0KDQpU aGlzIHRocm91Z2hwdXQgZGVjcmVhc2UgaGFwcGVucyBmb3IgYSBjb3VwbGUgb2YgcmVhc29uczoN Cg0KMS4gVGhlcmUgYXJlIGZldyBoZXVyaXN0aWNzIGF2YWlsYWJsZSBmb3IgdXNlcnMgdG8gZGV0 ZXJtaW5lIHdoZW4gR0Mgc2hvdWxkIHJ1biwNCnRoaXMgbWVhbnMgdGhhdCBpbiBPT0JHQyBzY2Vu YXJpb3MsIGl0J3MgcG9zc2libGUgdGhhdCBtYWpvciBHQydzIGFyZSBiZWluZyBydW4NCm1vcmUg dGhhbiBuZWNlc3NhcnkuICAyLiBUaGUgbGFjayBvZiBhbnkgR0MgZHVyaW5nIGEgcmVxdWVzdCBt ZWFucyB0aGF0IGxvdHMgb2YNCmdhcmJhZ2Ugb2JqZWN0cyBoYXZlIGJlZW4gY3JlYXRlZCBhbmQg bm90IGNsZWFuZWQgdXAsIHNvIHRoZSBwcm9jZXNzIGlzIHVzaW5nDQptb3JlIG1lbW9yeSB0aGFu IGl0IHNob3VsZCAtIHJlcXVpcmluZyBtYWpvciBHQydzIHJ1biBhcyBwYXJ0IG9mIE9PQkdDIHRv IGRvDQptb3JlIHdvcmsgYW5kIHRoZXJlZm9yZSB0YWtlIG1vcmUgdGltZS4NCg0KVGhpcyB0aWNr ZXQgYXR0ZW1wdHMgdG8gYWRkcmVzcyB0aGVzZSBpc3N1ZXMgYnk6DQoNCjEuIFByb3ZpZGUgYEdD LmRpc2FibGVfbWFqb3JgIGFuZCBpdHMgYW50b255bSBgR0MuZW5hYmxlX21ham9yYCB0byBkaXNh YmxlIGFuZA0KZW5hYmxlIG9ubHkgbWFqb3IgR0MgMi4gUHJvdmlkZSBgR0MubmVlZHNfbWFqb3I/ YCBhcyBhIGJhc2ljIGhldXJpc3RpYyBhbGxvd2luZw0KdXNlcnMgdG8gdGVsbCB3aGVuIFJ1Ynkg c2hvdWxkIHJ1biBhIE1ham9yIEdDLg0KDQpUaGVzZSBpZGVhcyB3ZXJlIG9yaWdpbmFsbHkgcHJv cG9zZWQgYnkgQGtvMSBhbmQgQGJ5cm9vdCBpbiBbdGhpcyByYWlscw0KaXNzdWVdKGh0dHBzOi8v Z2l0aHViLmNvbS9yYWlscy9yYWlscy9pc3N1ZXMvNTA0NDkpDQoNCkRpc2FibGluZyBHQyBtYWpv cidzIHdvdWxkIHN0aWxsIGFsbG93IG1pbm9yIEdDJ3MgdG8gcnVuIGR1cmluZyB0aGUgcmVxdWVz dCwNCmF2b2lkaW5nIHRoZSBiYWxsb29uaW5nIG1lbW9yeSB1c2FnZSBjYXVzZWQgYnkgbm90IHJ1 bm5pbmcgR0MgYXQgYWxsLCBhbmQNCnJlZHVjaW5nIHRoZSB0aW1lIHRoYXQgYSBtYWpvciB0YWtl cyB3aGVuIHdlIGRvIHJ1biBpdCwgYmVjYXVzZSB0aGUgbnVyc2VyeQ0Kb2JqZWN0cyBoYXZlIGJl ZW4gY2xlYW5lZCB1cCBkdXJpbmcgdGhlIHJlcXVlc3QgYWxyZWFkeSBzbyB0aGVyZSBpcyBsZXNz IHdvcmsNCmZvciBhIG1ham9yIEdDIHRvIGRvLg0KDQpUaGlzIGNhbiBiZSB1c2VkIGluIGNvbWJp bmF0aW9uIHdpdGggYEdDLm5lZWRzX21ham9yP2AgdG8gc2VsZWN0aXZlbHkgcnVuIGFuDQpPT0JH QyBvbmx5IHdoZW4gbmVjZXNzYXJ5DQoNCiMjIEltcGxlbWVudGF0aW9uDQoNClRoaXMgUFIgYWRk cyAzIG5ldyBtZXRob2RzIHRvIHRoZSBgR0NgIG1vZHVsZQ0KDQotIGBHQy5kaXNhYmxlX21ham9y YCBUaGlzIHByZXZlbnRzIG1ham9yIEdDJ3MgZnJvbSBydW5uaW5nIGF1dG9tYXRpY2FsbHkuIEl0 DQogIGRvZXMgbm90IHJlc3RyaWN0IG1pbm9ycy4gV2hlbiBgb2Jqc3BhY2UtPnJnZW5nYy5uZWVk X21ham9yX2djYCBpcyBzZXQgYW5kIGENCiAgR0MgaXMgcnVuLCBpbnN0ZWFkIG9mIHJ1bm5pbmcg YSBtYWpvciwgbmV3IGhlYXAgcGFnZXMgd2lsbCBiZSBhbGxvY2F0ZWQgYW5kIGENCiAgbWlub3Ig cnVuIGluc3RlYWQuIGBvYmpzcGFjZS0+cmdlbmdjLm5lZWRfbWFqb3JfZ2NgIHdpbGwgcmVtYWlu IHNldCB1bnRpbCBhDQogIG1ham9yIGlzIG1hbnVhbGx5IHJ1bi4gSWYgYSBtYWpvciBpcyBub3Qg bWFudWFsbHkgcnVuIHRoZW4gdGhlIHByb2Nlc3Mgd2lsbA0KICBldmVudHVhbGx5IHJ1biBvdXQg b2YgbWVtb3J5Lg0KICANCiAgV2hlbiBtYWpvciBHQydzIGFyZSBkaXNhYmxlZCwgb2JqZWN0IHBy b21vdGlvbiBpcyBkaXNhYmxlZC4gVGhhdCBpcywgbm8NCiAgb2JqZWN0cyB3aWxsIGluY3JlbWVu dCB0aGVpciBhZ2VzIGR1cmluZyBhIG1pbm9yIEdDLiBUaGlzIGlzIHRvIGF0dGVtcHQgdG8NCiAg bWluaW1pc2UgaGVhcCBncm93dGggZHVyaW5nIHRoZSBwZXJpb2QgYmV0d2VlbiBtYWpvciBHQydz LCBieSByZXN0cmljdGluZyB0aGUNCiAgbnVtYmVyIG9mIG9sZC1nZW4gb2JqZWN0cyB0aGF0IHdp bGwgcmVtYWluIHVuY29uc2lkZXJlZCBieSB0aGUgR0MgdW50aWwgdGhlDQogIG5leHQgbWFqb3Iu DQogIA0KICBXaGVuIGBHQy5zdGFydGAgaXMgcnVuLCB0aGVuIG1ham9yIEdDJ3Mgd2lsbCBiZSBl bmFibGVkLCBhIEdDIHRyaWdnZXJlZCB3aXRoDQogIHRoZSBvcHRpb25zIHBhc3NlZCB0byBgR0Mu c3RhcnRgLCBhbmQgdGhlbiBgZGlzYWJsZV9tYWpvcmAgd2lsbCBiZSBzZXQgdG8gdGhlDQogIHN0 YXRlIGl0IHdhcyBpbiBiZWZvcmUgYEdDLnN0YXJ0YCB3YXMgY2FsbGVkLg0KICANCi0gYEdDLmVu YWJsZV9tYWpvcmAgVGhpcyBzaW1wbHkgdW5zZXRzIHRoZSBiaXQgcHJldmVudGluZyBtYWpvciBH QydzLiBUaGlzIHdpbGwNCiAgcmV2ZXJ0IHRoZSBHQyB0byBub3JtYWwgZ2VuZXJhdGlvbmFsIGJl aGF2aW91ci4gRXZlcnl0aGluZyBiZWhhdmVzIGFzIGRlZmF1bHQNCiAgYWdhaW4uDQoNCi0gYEdD Lm5lZWRzX21ham9yP2AgVGhpcyBleHBvc2VzIHRoZSB2YWx1ZSBvZiBgb2Jqc3BhY2UtPnJnZW5n Yy5uZWVkX21ham9yX2djYA0KICB0byB0aGUgdXNlciBsZXZlbCBBUEkuIFRoaXMgaXMgYWxyZWFk eSBleHBvc2VkIGluDQogIGBHQy5sYXRlc3RfZ2NfaW5mb1s6bmVlZF9tYWpvcl9ieV1gIGJ1dCBJ IGZlbHQgdGhhdCBhIHNpbXBsZXIgaW50ZXJmYWNlIHdvdWxkDQogIG1ha2UgdGhpcyBlYXNpZXIg dG8gdXNlIGFuZCByZXN1bHQgaW4gbW9yZSByZWFkYWJsZSBjb2RlLiBlZy4NCiAgDQpgYGANCm91 dF9vZl9iYW5kIGRvIA0KICBHQy5zdGFydCBpZiBHQy5uZWVkc19tYWpvcj8gIA0KZW5kIA0KYGBg DQoNCkJlY2F1c2Ugb2JqZWN0IGFnaW5nIGlzIGRpc2FibGVkIHdoZW4gbWFqb3JzIGFyZSBkaXNh YmxlZCBpdCBpcyByZWNvbW1lbmRlZCB0bw0KdXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBg UHJvY2Vzcy53YXJtdXBgLCB3aGljaCB3aWxsIHByZXBhcmUgdGhlIGhlYXAgYnkNCnJ1bm5pbmcg YSBtYWpvciBHQywgY29tcGFjdGluZyB0aGUgaGVhcCwgYW5kIHByb21vdGluZyBldmVyeSByZW1h aW5pbmcgb2JqZWN0IHRvDQpvbGQtZ2VuLiBUaGlzIGVuc3VyZXMgdGhhdCBtaW5vciBHQydzIGFy ZSBydW5uaW5nIG92ZXIgdGhlIHNtYWxsZXRzIHBvc3NpYmxlIHNldA0Kb2YgeW91bmcgb2JqZWN0 cyB3aGVuIGBHQy5kaXNhYmxlX21ham9yYCBpcyB0cnVlLg0KDQojIyBCZW5jaG1hcmtzDQoNCldl IHJhbiBzb21lIHRlc3RzIGluIHByb2R1Y3Rpb24gb24gU2hvcGlmeSdzIGNvcmUgbW9ub2xpdGgg b3ZlciBhIHdlZWtlbmQgYW5kDQpmb3VuZCB0aGF0Og0KDQoqKk1lYW4gdGltZSBzcGVudCBpbiBH QywgYXMgd2VsbCBhcyBwOTkuOSBhbmQgcDk5Ljk5IEdDIHRpbWVzIGFyZSBhbGwNCmltcHJvdmVk LioqIA0KDQo8aW1nIHdpZHRoPSIxMDAwIiBhbHQ9IlNjcmVlbnNob3QgMjAyNC0wNC0yMiBhdCAx NiA0MSA0OSINCnNyYz0iaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9hc3NldHMvMzE4Njkv NmNmZjViMTEtMmUyMS00MGMxLWJiODQtZDk5NGUwZTE3OThkIj4NCg0KKipwOTkgR0MgdGltZSBp cyBzbGlnaHRseSBoaWdoZXIuKiogDQoNCjxpbWcgd2lkdGg9IjEwMDAiIGFsdD0iU2NyZWVuc2hv dCAyMDI0LTA0LTIyIGF0IDE2IDQ0IDU1Ig0Kc3JjPSJodHRwczovL2dpdGh1Yi5jb20vcnVieS9y dWJ5L2Fzc2V0cy8zMTg2OS9kYzY0NWNiZS05NDk1LTQ2ZjAtODQ4NS0yNGU3OTBjNDJmMzIiPg0K DQpXZSdyZSBydW5uaW5nIGZhciBmZXdlciBPT0JHQyBtYWpvciBHQydzIG5vdyB0aGF0IHdlIGhh dmUgYEdDLm5lZWRzX21ham9yP2AgdGhhbg0Kd2Ugd2VyZSBiZWZvcmUsIGFuZCB3ZSBiZWxpZXZl IHRoYXQgdGhpcyBpcyBjb250cmlidXRpbmcgdG8gYSBzbGlnaHRseSBpbmNyZWFzZWQNCm51bWJl ciBvZiBtaW5vciBHQydzLiByYWlzaW5nIHRoZSBwOTkgc2xpZ2h0bHkuDQoNCioqQXBwIHJlc3Bv bnNlIHRpbWVzIGFyZSBhbGwgaW1wcm92ZWQqKg0KDQpXZSBzZWUgYSB+MiUgcmVkdWN0aW9uIGlu IGF2ZXJhZ2UgcmVzcG9uc2UgdGltZXMgd2hlbiBjb21wYXJlZCBhZ2FpbnN0c3RhbmRhcmQgR0Mg DQoofjclIHA5OSwgfjMlIHA5OS45IGFuZCB+NCUgcDk5Ljk5KS4NCg0KPGltZyB3aWR0aD0iMTAw MCIgYWx0PSJTY3JlZW5zaG90IDIwMjQtMDQtMjMgYXQgMDkgMjcgMTciIHNyYz0iaHR0cHM6Ly9n aXN0LmdpdGh1Yi5jb20vYXNzZXRzLzMxODY5LzcwZTgxZmE1LTc3YjItNDY5YS04OTQ1LTg4YmY4 ZjhmZWZlOSI+DQoNClRoaXMgZHJvcHMgc2xpZ2h0bHkgdG8gYW4gYSB+MSUgcmVkdWN0aW9uIGlu IGF2ZXJhZ2UgcmVzcG9uc2UgdGltZXMgd2hlbiBjb21wYXJlZA0KYWdhaW5zdCBvdXIgbm9ybWFs IE9PQkdDIGFwcHJvYWNoICAofjYlIHA5OSwgfjIlIHA5OS45IGFuZCB+MyUgcDk5Ljk5KS4NCg0K PGltZyB3aWR0aD0iMTAwMCIgYWx0PSJTY3JlZW5zaG90IDIwMjQtMDQtMjMgYXQgMDkgMjcgMjki IHNyYz0iaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vYXNzZXRzLzMxODY5L2NiYWEzODA3LTBjZDEt NGRiYS1hNWU2LWI5ZGY5MTAyNGQ3MyI+DQoNCg0KRURJVDogdG8gY29ycmVjdCBhIGZvcm11bGEg ZXJyb3IgaW4gdGhlIG9yaWdpbmFsIEF2ZXJhZ2UgY2hhcnRzLCBudW1iZXJzIHVwZGF0ZWQuIA0K DQotLS1GaWxlcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpDYXB0dXJlIGTigJll zIFjcmFuIDIwMjQtMDQtMjIgYcyAIDE4LjQxLjUyLnBuZyAoMjc5IEtCKQ0KDQoNCi0tIA0KaHR0 cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwu cnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUt bGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5 LWxhbmcub3JnL21haWxtYW4zL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==