[ruby-core:117871] [Ruby master Feature#20443] Allow Major GC's to be disabled
From:
"matz (Yukihiro Matsumoto) via ruby-core" <ruby-core@...>
Date:
2024-05-14 07:23:46 UTC
List:
ruby-core #117871
SXNzdWUgIzIwNDQzIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWF0eiAoWXVraWhpcm8gTWF0c3Vtb3Rv KS4NCg0KDQpBcyBsb25nIGFzIHRoZSBwbHVnZ2FibGUgR0MgaXNzdWUgaXMgY2xlYXJseSBzdGF0 ZWQgc29tZXdoZXJlLCBJIGhhdmUgbm8gb2JqZWN0aW9uLg0KDQpNYXR6Lg0KDQoNCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzIwNDQzOiBBbGxvdyBN YWpvciBHQydzIHRvIGJlIGRpc2FibGVkDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1 ZXMvMjA0NDMjY2hhbmdlLTEwODI4Mw0KDQoqIEF1dGhvcjogZWlnaHRiaXRyYXB0b3IgKE1hdHRo ZXcgVmFsZW50aW5lLUhvdXNlKQ0KKiBTdGF0dXM6IE9wZW4NCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCltbR2l0aHViIFBSICMxMDU5OF1dKGh0dHBzOi8vZ2l0aHVi LmNvbS9ydWJ5L3J1YnkvcHVsbC8xMDU5OCkNCg0KIyMgQmFja2dyb3VuZA0KDQpSdWJ5J3MgR0Mg cnVubmluZyBkdXJpbmcgUmFpbHMgcmVxdWVzdHMgY2FuIGhhdmUgbmVnYXRpdmUgaW1wYWN0cyBv biBjdXJyZW50bHkNCnJ1bm5pbmcgcmVxdWVzdHMsIGNhdXNpbmcgYXBwbGljYXRpb25zIHRvIGhh dmUgaGlnaCB0YWlsLWxhdGVuY3kuDQoNCkEgdGVjaG5pcXVlIHRvIG1pdGlnYXRlIHRoaXMgaGln aCB0YWlsLWxhdGVuY3kgaXMgT3V0LW9mLWJhbmQgR0MgKE9PQkdDKS4gVGhpcw0KaXMgYmFzaWNh bGx5IHdoZXJlIHRoZSBhcHBsaWNhdGlvbiBpcyBydW4gd2l0aCBHQyBkaXNhYmxlZCwgYW5kIHRo ZW4gR0MgaXMNCmV4cGxpY2l0bHkgc3RhcnRlZCBhZnRlciBlYWNoIHJlcXVlc3QsIG9yIHdoZW4g bm8gcmVxdWVzdHMgYXJlIGluIHByb2dyZXNzLg0KDQpUaGlzIGNhbiByZWR1Y2UgdGhlIHRhaWwg bGF0ZW5jeSwgYnV0IGFsc28gaW50cm9kdWNlcyBwcm9ibGVtcyBvZiBpdHMgb3duLiBMb25nDQpH QyBwYXVzZXMgYWZ0ZXIgZWFjaCByZXF1ZXN0IHJlZHVjZSB0aHJvdWdocHV0LiBUaGlzIGlzIG1v cmUgcHJvbm91bmNlZCBvbg0KdGhyZWFkaW5nIHNlcnZlcnMgbGlrZSBQdW1hIGJlY2F1c2UgYWxs IHRoZSB0aHJlYWRzIGhhdmUgdG8gZmluaXNoIHByb2Nlc3NpbmcNCnVzZXIgcmVxdWVzdHMgYW5k IGJlICJwYXVzZWQiIGJlZm9yZSBPT0JHQyBjYW4gYmUgdHJpZ2dlcmVkLg0KDQpUaGlzIHRocm91 Z2hwdXQgZGVjcmVhc2UgaGFwcGVucyBmb3IgYSBjb3VwbGUgb2YgcmVhc29uczoNCg0KMS4gVGhl cmUgYXJlIGZldyBoZXVyaXN0aWNzIGF2YWlsYWJsZSBmb3IgdXNlcnMgdG8gZGV0ZXJtaW5lIHdo ZW4gR0Mgc2hvdWxkIHJ1biwNCnRoaXMgbWVhbnMgdGhhdCBpbiBPT0JHQyBzY2VuYXJpb3MsIGl0 J3MgcG9zc2libGUgdGhhdCBtYWpvciBHQydzIGFyZSBiZWluZyBydW4NCm1vcmUgdGhhbiBuZWNl c3NhcnkuICAyLiBUaGUgbGFjayBvZiBhbnkgR0MgZHVyaW5nIGEgcmVxdWVzdCBtZWFucyB0aGF0 IGxvdHMgb2YNCmdhcmJhZ2Ugb2JqZWN0cyBoYXZlIGJlZW4gY3JlYXRlZCBhbmQgbm90IGNsZWFu ZWQgdXAsIHNvIHRoZSBwcm9jZXNzIGlzIHVzaW5nDQptb3JlIG1lbW9yeSB0aGFuIGl0IHNob3Vs ZCAtIHJlcXVpcmluZyBtYWpvciBHQydzIHJ1biBhcyBwYXJ0IG9mIE9PQkdDIHRvIGRvDQptb3Jl IHdvcmsgYW5kIHRoZXJlZm9yZSB0YWtlIG1vcmUgdGltZS4NCg0KVGhpcyB0aWNrZXQgYXR0ZW1w dHMgdG8gYWRkcmVzcyB0aGVzZSBpc3N1ZXMgYnk6DQoNCjEuIFByb3ZpZGUgYEdDLmRpc2FibGVf bWFqb3JgIGFuZCBpdHMgYW50b255bSBgR0MuZW5hYmxlX21ham9yYCB0byBkaXNhYmxlIGFuZA0K ZW5hYmxlIG9ubHkgbWFqb3IgR0MgMi4gUHJvdmlkZSBgR0MubmVlZHNfbWFqb3I/YCBhcyBhIGJh c2ljIGhldXJpc3RpYyBhbGxvd2luZw0KdXNlcnMgdG8gdGVsbCB3aGVuIFJ1Ynkgc2hvdWxkIHJ1 biBhIE1ham9yIEdDLg0KDQpUaGVzZSBpZGVhcyB3ZXJlIG9yaWdpbmFsbHkgcHJvcG9zZWQgYnkg QGtvMSBhbmQgQGJ5cm9vdCBpbiBbdGhpcyByYWlscw0KaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNv bS9yYWlscy9yYWlscy9pc3N1ZXMvNTA0NDkpDQoNCkRpc2FibGluZyBHQyBtYWpvcidzIHdvdWxk IHN0aWxsIGFsbG93IG1pbm9yIEdDJ3MgdG8gcnVuIGR1cmluZyB0aGUgcmVxdWVzdCwNCmF2b2lk aW5nIHRoZSBiYWxsb29uaW5nIG1lbW9yeSB1c2FnZSBjYXVzZWQgYnkgbm90IHJ1bm5pbmcgR0Mg YXQgYWxsLCBhbmQNCnJlZHVjaW5nIHRoZSB0aW1lIHRoYXQgYSBtYWpvciB0YWtlcyB3aGVuIHdl IGRvIHJ1biBpdCwgYmVjYXVzZSB0aGUgbnVyc2VyeQ0Kb2JqZWN0cyBoYXZlIGJlZW4gY2xlYW5l ZCB1cCBkdXJpbmcgdGhlIHJlcXVlc3QgYWxyZWFkeSBzbyB0aGVyZSBpcyBsZXNzIHdvcmsNCmZv ciBhIG1ham9yIEdDIHRvIGRvLg0KDQpUaGlzIGNhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdp dGggYEdDLm5lZWRzX21ham9yP2AgdG8gc2VsZWN0aXZlbHkgcnVuIGFuDQpPT0JHQyBvbmx5IHdo ZW4gbmVjZXNzYXJ5DQoNCiMjIEltcGxlbWVudGF0aW9uDQoNClRoaXMgUFIgYWRkcyAzIG5ldyBt ZXRob2RzIHRvIHRoZSBgR0NgIG1vZHVsZQ0KDQotIGBHQy5kaXNhYmxlX21ham9yYCBUaGlzIHBy ZXZlbnRzIG1ham9yIEdDJ3MgZnJvbSBydW5uaW5nIGF1dG9tYXRpY2FsbHkuIEl0DQogIGRvZXMg bm90IHJlc3RyaWN0IG1pbm9ycy4gV2hlbiBgb2Jqc3BhY2UtPnJnZW5nYy5uZWVkX21ham9yX2dj YCBpcyBzZXQgYW5kIGENCiAgR0MgaXMgcnVuLCBpbnN0ZWFkIG9mIHJ1bm5pbmcgYSBtYWpvciwg bmV3IGhlYXAgcGFnZXMgd2lsbCBiZSBhbGxvY2F0ZWQgYW5kIGENCiAgbWlub3IgcnVuIGluc3Rl YWQuIGBvYmpzcGFjZS0+cmdlbmdjLm5lZWRfbWFqb3JfZ2NgIHdpbGwgcmVtYWluIHNldCB1bnRp bCBhDQogIG1ham9yIGlzIG1hbnVhbGx5IHJ1bi4gSWYgYSBtYWpvciBpcyBub3QgbWFudWFsbHkg cnVuIHRoZW4gdGhlIHByb2Nlc3Mgd2lsbA0KICBldmVudHVhbGx5IHJ1biBvdXQgb2YgbWVtb3J5 Lg0KICANCiAgV2hlbiBtYWpvciBHQydzIGFyZSBkaXNhYmxlZCwgb2JqZWN0IHByb21vdGlvbiBp cyBkaXNhYmxlZC4gVGhhdCBpcywgbm8NCiAgb2JqZWN0cyB3aWxsIGluY3JlbWVudCB0aGVpciBh Z2VzIGR1cmluZyBhIG1pbm9yIEdDLiBUaGlzIGlzIHRvIGF0dGVtcHQgdG8NCiAgbWluaW1pc2Ug aGVhcCBncm93dGggZHVyaW5nIHRoZSBwZXJpb2QgYmV0d2VlbiBtYWpvciBHQydzLCBieSByZXN0 cmljdGluZyB0aGUNCiAgbnVtYmVyIG9mIG9sZC1nZW4gb2JqZWN0cyB0aGF0IHdpbGwgcmVtYWlu IHVuY29uc2lkZXJlZCBieSB0aGUgR0MgdW50aWwgdGhlDQogIG5leHQgbWFqb3IuDQogIA0KICBX aGVuIGBHQy5zdGFydGAgaXMgcnVuLCB0aGVuIG1ham9yIEdDJ3Mgd2lsbCBiZSBlbmFibGVkLCBh IEdDIHRyaWdnZXJlZCB3aXRoDQogIHRoZSBvcHRpb25zIHBhc3NlZCB0byBgR0Muc3RhcnRgLCBh bmQgdGhlbiBgZGlzYWJsZV9tYWpvcmAgd2lsbCBiZSBzZXQgdG8gdGhlDQogIHN0YXRlIGl0IHdh cyBpbiBiZWZvcmUgYEdDLnN0YXJ0YCB3YXMgY2FsbGVkLg0KICANCi0gYEdDLmVuYWJsZV9tYWpv cmAgVGhpcyBzaW1wbHkgdW5zZXRzIHRoZSBiaXQgcHJldmVudGluZyBtYWpvciBHQydzLiBUaGlz IHdpbGwNCiAgcmV2ZXJ0IHRoZSBHQyB0byBub3JtYWwgZ2VuZXJhdGlvbmFsIGJlaGF2aW91ci4g RXZlcnl0aGluZyBiZWhhdmVzIGFzIGRlZmF1bHQNCiAgYWdhaW4uDQoNCi0gYEdDLm5lZWRzX21h am9yP2AgVGhpcyBleHBvc2VzIHRoZSB2YWx1ZSBvZiBgb2Jqc3BhY2UtPnJnZW5nYy5uZWVkX21h am9yX2djYA0KICB0byB0aGUgdXNlciBsZXZlbCBBUEkuIFRoaXMgaXMgYWxyZWFkeSBleHBvc2Vk IGluDQogIGBHQy5sYXRlc3RfZ2NfaW5mb1s6bmVlZF9tYWpvcl9ieV1gIGJ1dCBJIGZlbHQgdGhh dCBhIHNpbXBsZXIgaW50ZXJmYWNlIHdvdWxkDQogIG1ha2UgdGhpcyBlYXNpZXIgdG8gdXNlIGFu ZCByZXN1bHQgaW4gbW9yZSByZWFkYWJsZSBjb2RlLiBlZy4NCiAgDQpgYGANCm91dF9vZl9iYW5k IGRvIA0KICBHQy5zdGFydCBpZiBHQy5uZWVkc19tYWpvcj8gIA0KZW5kIA0KYGBgDQoNCkJlY2F1 c2Ugb2JqZWN0IGFnaW5nIGlzIGRpc2FibGVkIHdoZW4gbWFqb3JzIGFyZSBkaXNhYmxlZCBpdCBp cyByZWNvbW1lbmRlZCB0bw0KdXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgUHJvY2Vzcy53 YXJtdXBgLCB3aGljaCB3aWxsIHByZXBhcmUgdGhlIGhlYXAgYnkNCnJ1bm5pbmcgYSBtYWpvciBH QywgY29tcGFjdGluZyB0aGUgaGVhcCwgYW5kIHByb21vdGluZyBldmVyeSByZW1haW5pbmcgb2Jq ZWN0IHRvDQpvbGQtZ2VuLiBUaGlzIGVuc3VyZXMgdGhhdCBtaW5vciBHQydzIGFyZSBydW5uaW5n IG92ZXIgdGhlIHNtYWxsZXRzIHBvc3NpYmxlIHNldA0Kb2YgeW91bmcgb2JqZWN0cyB3aGVuIGBH Qy5kaXNhYmxlX21ham9yYCBpcyB0cnVlLg0KDQojIyBCZW5jaG1hcmtzDQoNCldlIHJhbiBzb21l IHRlc3RzIGluIHByb2R1Y3Rpb24gb24gU2hvcGlmeSdzIGNvcmUgbW9ub2xpdGggb3ZlciBhIHdl ZWtlbmQgYW5kDQpmb3VuZCB0aGF0Og0KDQoqKk1lYW4gdGltZSBzcGVudCBpbiBHQywgYXMgd2Vs bCBhcyBwOTkuOSBhbmQgcDk5Ljk5IEdDIHRpbWVzIGFyZSBhbGwNCmltcHJvdmVkLioqIA0KDQo8 aW1nIHdpZHRoPSIxMDAwIiBhbHQ9IlNjcmVlbnNob3QgMjAyNC0wNC0yMiBhdCAxNiA0MSA0OSIN CnNyYz0iaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9hc3NldHMvMzE4NjkvNmNmZjViMTEt MmUyMS00MGMxLWJiODQtZDk5NGUwZTE3OThkIj4NCg0KKipwOTkgR0MgdGltZSBpcyBzbGlnaHRs eSBoaWdoZXIuKiogDQoNCjxpbWcgd2lkdGg9IjEwMDAiIGFsdD0iU2NyZWVuc2hvdCAyMDI0LTA0 LTIyIGF0IDE2IDQ0IDU1Ig0Kc3JjPSJodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L2Fzc2V0 cy8zMTg2OS9kYzY0NWNiZS05NDk1LTQ2ZjAtODQ4NS0yNGU3OTBjNDJmMzIiPg0KDQpXZSdyZSBy dW5uaW5nIGZhciBmZXdlciBPT0JHQyBtYWpvciBHQydzIG5vdyB0aGF0IHdlIGhhdmUgYEdDLm5l ZWRzX21ham9yP2AgdGhhbg0Kd2Ugd2VyZSBiZWZvcmUsIGFuZCB3ZSBiZWxpZXZlIHRoYXQgdGhp cyBpcyBjb250cmlidXRpbmcgdG8gYSBzbGlnaHRseSBpbmNyZWFzZWQNCm51bWJlciBvZiBtaW5v ciBHQydzLiByYWlzaW5nIHRoZSBwOTkgc2xpZ2h0bHkuDQoNCioqQXBwIHJlc3BvbnNlIHRpbWVz IGFyZSBhbGwgaW1wcm92ZWQqKg0KDQpXZSBzZWUgYSB+MiUgcmVkdWN0aW9uIGluIGF2ZXJhZ2Ug cmVzcG9uc2UgdGltZXMgd2hlbiBjb21wYXJlZCBhZ2FpbnN0c3RhbmRhcmQgR0MgDQoofjclIHA5 OSwgfjMlIHA5OS45IGFuZCB+NCUgcDk5Ljk5KS4NCg0KPGltZyB3aWR0aD0iMTAwMCIgYWx0PSJT Y3JlZW5zaG90IDIwMjQtMDQtMjMgYXQgMDkgMjcgMTciIHNyYz0iaHR0cHM6Ly9naXN0LmdpdGh1 Yi5jb20vYXNzZXRzLzMxODY5LzcwZTgxZmE1LTc3YjItNDY5YS04OTQ1LTg4YmY4ZjhmZWZlOSI+ DQoNClRoaXMgZHJvcHMgc2xpZ2h0bHkgdG8gYW4gYSB+MSUgcmVkdWN0aW9uIGluIGF2ZXJhZ2Ug cmVzcG9uc2UgdGltZXMgd2hlbiBjb21wYXJlZA0KYWdhaW5zdCBvdXIgbm9ybWFsIE9PQkdDIGFw cHJvYWNoICAofjYlIHA5OSwgfjIlIHA5OS45IGFuZCB+MyUgcDk5Ljk5KS4NCg0KPGltZyB3aWR0 aD0iMTAwMCIgYWx0PSJTY3JlZW5zaG90IDIwMjQtMDQtMjMgYXQgMDkgMjcgMjkiIHNyYz0iaHR0 cHM6Ly9naXN0LmdpdGh1Yi5jb20vYXNzZXRzLzMxODY5L2NiYWEzODA3LTBjZDEtNGRiYS1hNWU2 LWI5ZGY5MTAyNGQ3MyI+DQoNCg0KRURJVDogdG8gY29ycmVjdCBhIGZvcm11bGEgZXJyb3IgaW4g dGhlIG9yaWdpbmFsIEF2ZXJhZ2UgY2hhcnRzLCBudW1iZXJzIHVwZGF0ZWQuIA0KDQotLS1GaWxl cy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpDYXB0dXJlIGTigJllzIFjcmFuIDIw MjQtMDQtMjIgYcyAIDE4LjQxLjUyLnBuZyAoMjc5IEtCKQ0KDQoNCi0tIA0KaHR0cHM6Ly9idWdz LnJ1YnktbGFuZy5vcmcvDQogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5n Lm9yZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwu cnVieS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3Jn L21haWxtYW4zL3Bvc3Rvcml1cy9saXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8=