[ruby-core:117687] [Ruby master Feature#20443] Allow Major GC's to be disabled
From:
"shan (Shannon Skipper) via ruby-core" <ruby-core@...>
Date:
2024-04-24 14:56:06 UTC
List:
ruby-core #117687
SXNzdWUgIzIwNDQzIGhhcyBiZWVuIHVwZGF0ZWQgYnkgc2hhbiAoU2hhbm5vbiBTa2lwcGVyKS4N Cg0KDQpJIHdvbmRlciBpZiAiZnVsbF9zd2VlcCIgYmUgd29ydGggY29uc2lkZXJpbmcgYXMgYW4g YWx0ZXJuYXRpdmUgdG8gIm1ham9yIiB0byBhbGlnbiB3aXRoIHRoZSBleGlzdGluZyBgR0Muc3Rh cnQoZnVsbF9zd2VlcDogdHJ1ZSlgIGtleXdvcmQgYXJndW1lbnQ/IE9yIHRoZXkgY291bGQgYmUg YWxpYXNlZCwgYnV0IGl0IHNlZW1zIG5pY2UgdG8gYmUgY29uc2lzdGVudCBpZiBJJ20gdW5kZXJz dGFuZGluZyBpdCBjb3JyZWN0bHkgdGhhdCB0aGV5IGhhdmUgZXF1aXZhbGVudCBtZWFuaW5nLg0K DQpgYGAgcnVieQ0KR0Muc3RhcnQoZnVsbF9zd2VlcDogdHJ1ZSkgIyBleGlzdGluZyBkZWZhdWx0 DQpHQy5lbmFibGVfZnVsbF9zd2VlcA0KR0MuZGlzYWJsZV9mdWxsX3N3ZWVwDQpgYGANCg0Kb3Ig d291bGQgYSBzZXR0ZXIgbWFrZSBzZW5zZT8NCg0KYGBgcnVieQ0KR0MuZnVsbF9zd2VlcD8NCiM9 PiB0cnVlDQoNCkdDLmZ1bGxfc3dlZXAgPSBmYWxzZQ0KDQpHQy5mdWxsX3N3ZWVwPw0KIz0+IGZh bHNlDQpgYGAgDQoNCkZvciBjaGVja2luZyBpZiBhIGZ1bGwgc3dlZXAgb3IgbWFqb3IgaXMgbmVl ZGVkLCB3b3VsZCB0aGUgYWRkcmVzc2luZyB0aGUgT2JqZWN0IGNvbnZlbnRpb24gbWVhbiBgR0Mu bmVlZF9mdWxsX3N3ZWVwP2Agc2luZ3VsYXIsIGBEaXIuZXhpc3Q/YCBzdHlsZT8gT3IgYSBwbGFp biBgR0MuZnVsbF9zd2VlcD9gIHNlZW1zIG5pY2UuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzIwNDQzOiBBbGxvdyBNYWpvciBHQydzIHRvIGJl IGRpc2FibGVkDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjA0NDMjY2hhbmdl LTEwODA5Ng0KDQoqIEF1dGhvcjogZWlnaHRiaXRyYXB0b3IgKE1hdHRoZXcgVmFsZW50aW5lLUhv dXNlKQ0KKiBTdGF0dXM6IE9wZW4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCltbR2l0aHViIFBSICMxMDU5OF1dKGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1Ynkv cHVsbC8xMDU5OCkNCg0KIyMgQmFja2dyb3VuZA0KDQpSdWJ5J3MgR0MgcnVubmluZyBkdXJpbmcg UmFpbHMgcmVxdWVzdHMgY2FuIGhhdmUgbmVnYXRpdmUgaW1wYWN0cyBvbiBjdXJyZW50bHkNCnJ1 bm5pbmcgcmVxdWVzdHMsIGNhdXNpbmcgYXBwbGljYXRpb25zIHRvIGhhdmUgaGlnaCB0YWlsLWxh dGVuY3kuDQoNCkEgdGVjaG5pcXVlIHRvIG1pdGlnYXRlIHRoaXMgaGlnaCB0YWlsLWxhdGVuY3kg aXMgT3V0LW9mLWJhbmQgR0MgKE9PQkdDKS4gVGhpcw0KaXMgYmFzaWNhbGx5IHdoZXJlIHRoZSBh cHBsaWNhdGlvbiBpcyBydW4gd2l0aCBHQyBkaXNhYmxlZCwgYW5kIHRoZW4gR0MgaXMNCmV4cGxp Y2l0bHkgc3RhcnRlZCBhZnRlciBlYWNoIHJlcXVlc3QsIG9yIHdoZW4gbm8gcmVxdWVzdHMgYXJl IGluIHByb2dyZXNzLg0KDQpUaGlzIGNhbiByZWR1Y2UgdGhlIHRhaWwgbGF0ZW5jeSwgYnV0IGFs c28gaW50cm9kdWNlcyBwcm9ibGVtcyBvZiBpdHMgb3duLiBMb25nDQpHQyBwYXVzZXMgYWZ0ZXIg ZWFjaCByZXF1ZXN0IHJlZHVjZSB0aHJvdWdocHV0LiBUaGlzIGlzIG1vcmUgcHJvbm91bmNlZCBv bg0KdGhyZWFkaW5nIHNlcnZlcnMgbGlrZSBQdW1hIGJlY2F1c2UgYWxsIHRoZSB0aHJlYWRzIGhh dmUgdG8gZmluaXNoIHByb2Nlc3NpbmcNCnVzZXIgcmVxdWVzdHMgYW5kIGJlICJwYXVzZWQiIGJl Zm9yZSBPT0JHQyBjYW4gYmUgdHJpZ2dlcmVkLg0KDQpUaGlzIHRocm91Z2hwdXQgZGVjcmVhc2Ug aGFwcGVucyBmb3IgYSBjb3VwbGUgb2YgcmVhc29uczoNCg0KMS4gVGhlcmUgYXJlIGZldyBoZXVy aXN0aWNzIGF2YWlsYWJsZSBmb3IgdXNlcnMgdG8gZGV0ZXJtaW5lIHdoZW4gR0Mgc2hvdWxkIHJ1 biwNCnRoaXMgbWVhbnMgdGhhdCBpbiBPT0JHQyBzY2VuYXJpb3MsIGl0J3MgcG9zc2libGUgdGhh dCBtYWpvciBHQydzIGFyZSBiZWluZyBydW4NCm1vcmUgdGhhbiBuZWNlc3NhcnkuICAyLiBUaGUg bGFjayBvZiBhbnkgR0MgZHVyaW5nIGEgcmVxdWVzdCBtZWFucyB0aGF0IGxvdHMgb2YNCmdhcmJh Z2Ugb2JqZWN0cyBoYXZlIGJlZW4gY3JlYXRlZCBhbmQgbm90IGNsZWFuZWQgdXAsIHNvIHRoZSBw cm9jZXNzIGlzIHVzaW5nDQptb3JlIG1lbW9yeSB0aGFuIGl0IHNob3VsZCAtIHJlcXVpcmluZyBt YWpvciBHQydzIHJ1biBhcyBwYXJ0IG9mIE9PQkdDIHRvIGRvDQptb3JlIHdvcmsgYW5kIHRoZXJl Zm9yZSB0YWtlIG1vcmUgdGltZS4NCg0KVGhpcyB0aWNrZXQgYXR0ZW1wdHMgdG8gYWRkcmVzcyB0 aGVzZSBpc3N1ZXMgYnk6DQoNCjEuIFByb3ZpZGUgYEdDLmRpc2FibGVfbWFqb3JgIGFuZCBpdHMg YW50b255bSBgR0MuZW5hYmxlX21ham9yYCB0byBkaXNhYmxlIGFuZA0KZW5hYmxlIG9ubHkgbWFq b3IgR0MgMi4gUHJvdmlkZSBgR0MubmVlZHNfbWFqb3I/YCBhcyBhIGJhc2ljIGhldXJpc3RpYyBh bGxvd2luZw0KdXNlcnMgdG8gdGVsbCB3aGVuIFJ1Ynkgc2hvdWxkIHJ1biBhIE1ham9yIEdDLg0K DQpUaGVzZSBpZGVhcyB3ZXJlIG9yaWdpbmFsbHkgcHJvcG9zZWQgYnkgQGtvMSBhbmQgQGJ5cm9v dCBpbiBbdGhpcyByYWlscw0KaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9yYWlscy9yYWlscy9p c3N1ZXMvNTA0NDkpDQoNCkRpc2FibGluZyBHQyBtYWpvcidzIHdvdWxkIHN0aWxsIGFsbG93IG1p bm9yIEdDJ3MgdG8gcnVuIGR1cmluZyB0aGUgcmVxdWVzdCwNCmF2b2lkaW5nIHRoZSBiYWxsb29u aW5nIG1lbW9yeSB1c2FnZSBjYXVzZWQgYnkgbm90IHJ1bm5pbmcgR0MgYXQgYWxsLCBhbmQNCnJl ZHVjaW5nIHRoZSB0aW1lIHRoYXQgYSBtYWpvciB0YWtlcyB3aGVuIHdlIGRvIHJ1biBpdCwgYmVj YXVzZSB0aGUgbnVyc2VyeQ0Kb2JqZWN0cyBoYXZlIGJlZW4gY2xlYW5lZCB1cCBkdXJpbmcgdGhl IHJlcXVlc3QgYWxyZWFkeSBzbyB0aGVyZSBpcyBsZXNzIHdvcmsNCmZvciBhIG1ham9yIEdDIHRv IGRvLg0KDQpUaGlzIGNhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYEdDLm5lZWRzX21h am9yP2AgdG8gc2VsZWN0aXZlbHkgcnVuIGFuDQpPT0JHQyBvbmx5IHdoZW4gbmVjZXNzYXJ5DQoN CiMjIEltcGxlbWVudGF0aW9uDQoNClRoaXMgUFIgYWRkcyAzIG5ldyBtZXRob2RzIHRvIHRoZSBg R0NgIG1vZHVsZQ0KDQotIGBHQy5kaXNhYmxlX21ham9yYCBUaGlzIHByZXZlbnRzIG1ham9yIEdD J3MgZnJvbSBydW5uaW5nIGF1dG9tYXRpY2FsbHkuIEl0DQogIGRvZXMgbm90IHJlc3RyaWN0IG1p bm9ycy4gV2hlbiBgb2Jqc3BhY2UtPnJnZW5nYy5uZWVkX21ham9yX2djYCBpcyBzZXQgYW5kIGEN CiAgR0MgaXMgcnVuLCBpbnN0ZWFkIG9mIHJ1bm5pbmcgYSBtYWpvciwgbmV3IGhlYXAgcGFnZXMg d2lsbCBiZSBhbGxvY2F0ZWQgYW5kIGENCiAgbWlub3IgcnVuIGluc3RlYWQuIGBvYmpzcGFjZS0+ cmdlbmdjLm5lZWRfbWFqb3JfZ2NgIHdpbGwgcmVtYWluIHNldCB1bnRpbCBhDQogIG1ham9yIGlz IG1hbnVhbGx5IHJ1bi4gSWYgYSBtYWpvciBpcyBub3QgbWFudWFsbHkgcnVuIHRoZW4gdGhlIHBy b2Nlc3Mgd2lsbA0KICBldmVudHVhbGx5IHJ1biBvdXQgb2YgbWVtb3J5Lg0KICANCiAgV2hlbiBt YWpvciBHQydzIGFyZSBkaXNhYmxlZCwgb2JqZWN0IHByb21vdGlvbiBpcyBkaXNhYmxlZC4gVGhh dCBpcywgbm8NCiAgb2JqZWN0cyB3aWxsIGluY3JlbWVudCB0aGVpciBhZ2VzIGR1cmluZyBhIG1p bm9yIEdDLiBUaGlzIGlzIHRvIGF0dGVtcHQgdG8NCiAgbWluaW1pc2UgaGVhcCBncm93dGggZHVy aW5nIHRoZSBwZXJpb2QgYmV0d2VlbiBtYWpvciBHQydzLCBieSByZXN0cmljdGluZyB0aGUNCiAg bnVtYmVyIG9mIG9sZC1nZW4gb2JqZWN0cyB0aGF0IHdpbGwgcmVtYWluIHVuY29uc2lkZXJlZCBi eSB0aGUgR0MgdW50aWwgdGhlDQogIG5leHQgbWFqb3IuDQogIA0KICBXaGVuIGBHQy5zdGFydGAg aXMgcnVuLCB0aGVuIG1ham9yIEdDJ3Mgd2lsbCBiZSBlbmFibGVkLCBhIEdDIHRyaWdnZXJlZCB3 aXRoDQogIHRoZSBvcHRpb25zIHBhc3NlZCB0byBgR0Muc3RhcnRgLCBhbmQgdGhlbiBgZGlzYWJs ZV9tYWpvcmAgd2lsbCBiZSBzZXQgdG8gdGhlDQogIHN0YXRlIGl0IHdhcyBpbiBiZWZvcmUgYEdD LnN0YXJ0YCB3YXMgY2FsbGVkLg0KICANCi0gYEdDLmVuYWJsZV9tYWpvcmAgVGhpcyBzaW1wbHkg dW5zZXRzIHRoZSBiaXQgcHJldmVudGluZyBtYWpvciBHQydzLiBUaGlzIHdpbGwNCiAgcmV2ZXJ0 IHRoZSBHQyB0byBub3JtYWwgZ2VuZXJhdGlvbmFsIGJlaGF2aW91ci4gRXZlcnl0aGluZyBiZWhh dmVzIGFzIGRlZmF1bHQNCiAgYWdhaW4uDQoNCi0gYEdDLm5lZWRzX21ham9yP2AgVGhpcyBleHBv c2VzIHRoZSB2YWx1ZSBvZiBgb2Jqc3BhY2UtPnJnZW5nYy5uZWVkX21ham9yX2djYA0KICB0byB0 aGUgdXNlciBsZXZlbCBBUEkuIFRoaXMgaXMgYWxyZWFkeSBleHBvc2VkIGluDQogIGBHQy5sYXRl c3RfZ2NfaW5mb1s6bmVlZF9tYWpvcl9ieV1gIGJ1dCBJIGZlbHQgdGhhdCBhIHNpbXBsZXIgaW50 ZXJmYWNlIHdvdWxkDQogIG1ha2UgdGhpcyBlYXNpZXIgdG8gdXNlIGFuZCByZXN1bHQgaW4gbW9y ZSByZWFkYWJsZSBjb2RlLiBlZy4NCiAgDQpgYGANCm91dF9vZl9iYW5kIGRvIA0KICBHQy5zdGFy dCBpZiBHQy5uZWVkc19tYWpvcj8gIA0KZW5kIA0KYGBgDQoNCkJlY2F1c2Ugb2JqZWN0IGFnaW5n IGlzIGRpc2FibGVkIHdoZW4gbWFqb3JzIGFyZSBkaXNhYmxlZCBpdCBpcyByZWNvbW1lbmRlZCB0 bw0KdXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgUHJvY2Vzcy53YXJtdXBgLCB3aGljaCB3 aWxsIHByZXBhcmUgdGhlIGhlYXAgYnkNCnJ1bm5pbmcgYSBtYWpvciBHQywgY29tcGFjdGluZyB0 aGUgaGVhcCwgYW5kIHByb21vdGluZyBldmVyeSByZW1haW5pbmcgb2JqZWN0IHRvDQpvbGQtZ2Vu LiBUaGlzIGVuc3VyZXMgdGhhdCBtaW5vciBHQydzIGFyZSBydW5uaW5nIG92ZXIgdGhlIHNtYWxs ZXRzIHBvc3NpYmxlIHNldA0Kb2YgeW91bmcgb2JqZWN0cyB3aGVuIGBHQy5kaXNhYmxlX21ham9y YCBpcyB0cnVlLg0KDQojIyBCZW5jaG1hcmtzDQoNCldlIHJhbiBzb21lIHRlc3RzIGluIHByb2R1 Y3Rpb24gb24gU2hvcGlmeSdzIGNvcmUgbW9ub2xpdGggb3ZlciBhIHdlZWtlbmQgYW5kDQpmb3Vu ZCB0aGF0Og0KDQoqKk1lYW4gdGltZSBzcGVudCBpbiBHQywgYXMgd2VsbCBhcyBwOTkuOSBhbmQg cDk5Ljk5IEdDIHRpbWVzIGFyZSBhbGwNCmltcHJvdmVkLioqIA0KDQo8aW1nIHdpZHRoPSIxMDAw IiBhbHQ9IlNjcmVlbnNob3QgMjAyNC0wNC0yMiBhdCAxNiA0MSA0OSINCnNyYz0iaHR0cHM6Ly9n aXRodWIuY29tL3J1YnkvcnVieS9hc3NldHMvMzE4NjkvNmNmZjViMTEtMmUyMS00MGMxLWJiODQt ZDk5NGUwZTE3OThkIj4NCg0KKipwOTkgR0MgdGltZSBpcyBzbGlnaHRseSBoaWdoZXIuKiogDQoN CjxpbWcgd2lkdGg9IjEwMDAiIGFsdD0iU2NyZWVuc2hvdCAyMDI0LTA0LTIyIGF0IDE2IDQ0IDU1 Ig0Kc3JjPSJodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L2Fzc2V0cy8zMTg2OS9kYzY0NWNi ZS05NDk1LTQ2ZjAtODQ4NS0yNGU3OTBjNDJmMzIiPg0KDQpXZSdyZSBydW5uaW5nIGZhciBmZXdl ciBPT0JHQyBtYWpvciBHQydzIG5vdyB0aGF0IHdlIGhhdmUgYEdDLm5lZWRzX21ham9yP2AgdGhh bg0Kd2Ugd2VyZSBiZWZvcmUsIGFuZCB3ZSBiZWxpZXZlIHRoYXQgdGhpcyBpcyBjb250cmlidXRp bmcgdG8gYSBzbGlnaHRseSBpbmNyZWFzZWQNCm51bWJlciBvZiBtaW5vciBHQydzLiByYWlzaW5n IHRoZSBwOTkgc2xpZ2h0bHkuDQoNCioqQXBwIHJlc3BvbnNlIHRpbWVzIGFyZSBhbGwgaW1wcm92 ZWQqKg0KDQpXZSBzZWUgYSB+MiUgcmVkdWN0aW9uIGluIGF2ZXJhZ2UgcmVzcG9uc2UgdGltZXMg d2hlbiBjb21wYXJlZCBhZ2FpbnN0c3RhbmRhcmQgR0MgDQoofjclIHA5OSwgfjMlIHA5OS45IGFu ZCB+NCUgcDk5Ljk5KS4NCg0KPGltZyB3aWR0aD0iMTAwMCIgYWx0PSJTY3JlZW5zaG90IDIwMjQt MDQtMjMgYXQgMDkgMjcgMTciIHNyYz0iaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vYXNzZXRzLzMx ODY5LzcwZTgxZmE1LTc3YjItNDY5YS04OTQ1LTg4YmY4ZjhmZWZlOSI+DQoNClRoaXMgZHJvcHMg c2xpZ2h0bHkgdG8gYW4gYSB+MSUgcmVkdWN0aW9uIGluIGF2ZXJhZ2UgcmVzcG9uc2UgdGltZXMg d2hlbiBjb21wYXJlZA0KYWdhaW5zdCBvdXIgbm9ybWFsIE9PQkdDIGFwcHJvYWNoICAofjYlIHA5 OSwgfjIlIHA5OS45IGFuZCB+MyUgcDk5Ljk5KS4NCg0KPGltZyB3aWR0aD0iMTAwMCIgYWx0PSJT Y3JlZW5zaG90IDIwMjQtMDQtMjMgYXQgMDkgMjcgMjkiIHNyYz0iaHR0cHM6Ly9naXN0LmdpdGh1 Yi5jb20vYXNzZXRzLzMxODY5L2NiYWEzODA3LTBjZDEtNGRiYS1hNWU2LWI5ZGY5MTAyNGQ3MyI+ DQoNCg0KRURJVDogdG8gY29ycmVjdCBhIGZvcm11bGEgZXJyb3IgaW4gdGhlIG9yaWdpbmFsIEF2 ZXJhZ2UgY2hhcnRzLCBudW1iZXJzIHVwZGF0ZWQuIA0KDQotLS1GaWxlcy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQpDYXB0dXJlIGTigJllzIFjcmFuIDIwMjQtMDQtMjIgYcyAIDE4 LjQxLjUyLnBuZyAoMjc5IEtCKQ0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcv DQogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogcnVieS1j b3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5zdWJz Y3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9yZwog cnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL3Bvc3Rv cml1cy9saXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8=