[ruby-core:117843] [Ruby master Feature#20443] Allow Major GC's to be disabled
From:
"byroot (Jean Boussier) via ruby-core" <ruby-core@...>
Date:
2024-05-12 06:49:02 UTC
List:
ruby-core #117843
SXNzdWUgIzIwNDQzIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYnlyb290IChKZWFuIEJvdXNzaWVyKS4N Cg0KDQpJIHRoaW5rIHRoYXQgc2FtZSBjb25jZXJuIGFwcGxpZXMgdG8gc29tZSBleGlzdGluZyBg R0NgIG1ldGhvZHMgKGUuZy4gYEdDLmNvbXBhY3RgLCBgR0MudmVyaWZ5X2NvbXBhY3Rpb25fcmVm ZXJlbmNlYCkgZXRjLiBTbyBpdCB3b3VsZCBtYWtlIHNlbnNlIHRoYXQgcGx1Z2FibGUgR0Mgd291 bGQgb2ZmZXIgYSB3YXkgZm9yIHRoZSBHQ3MgdG8gcmVnaXN0ZXIgYmVoYXZpb3IgZm9yIHRoZXNl IG1ldGhvZHMsIGFuZCBpZiB0aGV5IGRvbid0IGl0IGVpdGhlciBub29wIG9yIGFjdHMgYXMgbm90 IGltcGxlbWVudGVkIChgcmVzcG9uZF90bz8gLT4gZmFsc2VgIGV0YykuDQoNCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzIwNDQzOiBBbGxvdyBNYWpv ciBHQydzIHRvIGJlIGRpc2FibGVkDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMv MjA0NDMjY2hhbmdlLTEwODI0OA0KDQoqIEF1dGhvcjogZWlnaHRiaXRyYXB0b3IgKE1hdHRoZXcg VmFsZW50aW5lLUhvdXNlKQ0KKiBTdGF0dXM6IE9wZW4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCltbR2l0aHViIFBSICMxMDU5OF1dKGh0dHBzOi8vZ2l0aHViLmNv bS9ydWJ5L3J1YnkvcHVsbC8xMDU5OCkNCg0KIyMgQmFja2dyb3VuZA0KDQpSdWJ5J3MgR0MgcnVu bmluZyBkdXJpbmcgUmFpbHMgcmVxdWVzdHMgY2FuIGhhdmUgbmVnYXRpdmUgaW1wYWN0cyBvbiBj dXJyZW50bHkNCnJ1bm5pbmcgcmVxdWVzdHMsIGNhdXNpbmcgYXBwbGljYXRpb25zIHRvIGhhdmUg aGlnaCB0YWlsLWxhdGVuY3kuDQoNCkEgdGVjaG5pcXVlIHRvIG1pdGlnYXRlIHRoaXMgaGlnaCB0 YWlsLWxhdGVuY3kgaXMgT3V0LW9mLWJhbmQgR0MgKE9PQkdDKS4gVGhpcw0KaXMgYmFzaWNhbGx5 IHdoZXJlIHRoZSBhcHBsaWNhdGlvbiBpcyBydW4gd2l0aCBHQyBkaXNhYmxlZCwgYW5kIHRoZW4g R0MgaXMNCmV4cGxpY2l0bHkgc3RhcnRlZCBhZnRlciBlYWNoIHJlcXVlc3QsIG9yIHdoZW4gbm8g cmVxdWVzdHMgYXJlIGluIHByb2dyZXNzLg0KDQpUaGlzIGNhbiByZWR1Y2UgdGhlIHRhaWwgbGF0 ZW5jeSwgYnV0IGFsc28gaW50cm9kdWNlcyBwcm9ibGVtcyBvZiBpdHMgb3duLiBMb25nDQpHQyBw YXVzZXMgYWZ0ZXIgZWFjaCByZXF1ZXN0IHJlZHVjZSB0aHJvdWdocHV0LiBUaGlzIGlzIG1vcmUg cHJvbm91bmNlZCBvbg0KdGhyZWFkaW5nIHNlcnZlcnMgbGlrZSBQdW1hIGJlY2F1c2UgYWxsIHRo ZSB0aHJlYWRzIGhhdmUgdG8gZmluaXNoIHByb2Nlc3NpbmcNCnVzZXIgcmVxdWVzdHMgYW5kIGJl ICJwYXVzZWQiIGJlZm9yZSBPT0JHQyBjYW4gYmUgdHJpZ2dlcmVkLg0KDQpUaGlzIHRocm91Z2hw dXQgZGVjcmVhc2UgaGFwcGVucyBmb3IgYSBjb3VwbGUgb2YgcmVhc29uczoNCg0KMS4gVGhlcmUg YXJlIGZldyBoZXVyaXN0aWNzIGF2YWlsYWJsZSBmb3IgdXNlcnMgdG8gZGV0ZXJtaW5lIHdoZW4g R0Mgc2hvdWxkIHJ1biwNCnRoaXMgbWVhbnMgdGhhdCBpbiBPT0JHQyBzY2VuYXJpb3MsIGl0J3Mg cG9zc2libGUgdGhhdCBtYWpvciBHQydzIGFyZSBiZWluZyBydW4NCm1vcmUgdGhhbiBuZWNlc3Nh cnkuICAyLiBUaGUgbGFjayBvZiBhbnkgR0MgZHVyaW5nIGEgcmVxdWVzdCBtZWFucyB0aGF0IGxv dHMgb2YNCmdhcmJhZ2Ugb2JqZWN0cyBoYXZlIGJlZW4gY3JlYXRlZCBhbmQgbm90IGNsZWFuZWQg dXAsIHNvIHRoZSBwcm9jZXNzIGlzIHVzaW5nDQptb3JlIG1lbW9yeSB0aGFuIGl0IHNob3VsZCAt IHJlcXVpcmluZyBtYWpvciBHQydzIHJ1biBhcyBwYXJ0IG9mIE9PQkdDIHRvIGRvDQptb3JlIHdv cmsgYW5kIHRoZXJlZm9yZSB0YWtlIG1vcmUgdGltZS4NCg0KVGhpcyB0aWNrZXQgYXR0ZW1wdHMg dG8gYWRkcmVzcyB0aGVzZSBpc3N1ZXMgYnk6DQoNCjEuIFByb3ZpZGUgYEdDLmRpc2FibGVfbWFq b3JgIGFuZCBpdHMgYW50b255bSBgR0MuZW5hYmxlX21ham9yYCB0byBkaXNhYmxlIGFuZA0KZW5h YmxlIG9ubHkgbWFqb3IgR0MgMi4gUHJvdmlkZSBgR0MubmVlZHNfbWFqb3I/YCBhcyBhIGJhc2lj IGhldXJpc3RpYyBhbGxvd2luZw0KdXNlcnMgdG8gdGVsbCB3aGVuIFJ1Ynkgc2hvdWxkIHJ1biBh IE1ham9yIEdDLg0KDQpUaGVzZSBpZGVhcyB3ZXJlIG9yaWdpbmFsbHkgcHJvcG9zZWQgYnkgQGtv MSBhbmQgQGJ5cm9vdCBpbiBbdGhpcyByYWlscw0KaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9y YWlscy9yYWlscy9pc3N1ZXMvNTA0NDkpDQoNCkRpc2FibGluZyBHQyBtYWpvcidzIHdvdWxkIHN0 aWxsIGFsbG93IG1pbm9yIEdDJ3MgdG8gcnVuIGR1cmluZyB0aGUgcmVxdWVzdCwNCmF2b2lkaW5n IHRoZSBiYWxsb29uaW5nIG1lbW9yeSB1c2FnZSBjYXVzZWQgYnkgbm90IHJ1bm5pbmcgR0MgYXQg YWxsLCBhbmQNCnJlZHVjaW5nIHRoZSB0aW1lIHRoYXQgYSBtYWpvciB0YWtlcyB3aGVuIHdlIGRv IHJ1biBpdCwgYmVjYXVzZSB0aGUgbnVyc2VyeQ0Kb2JqZWN0cyBoYXZlIGJlZW4gY2xlYW5lZCB1 cCBkdXJpbmcgdGhlIHJlcXVlc3QgYWxyZWFkeSBzbyB0aGVyZSBpcyBsZXNzIHdvcmsNCmZvciBh IG1ham9yIEdDIHRvIGRvLg0KDQpUaGlzIGNhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGgg YEdDLm5lZWRzX21ham9yP2AgdG8gc2VsZWN0aXZlbHkgcnVuIGFuDQpPT0JHQyBvbmx5IHdoZW4g bmVjZXNzYXJ5DQoNCiMjIEltcGxlbWVudGF0aW9uDQoNClRoaXMgUFIgYWRkcyAzIG5ldyBtZXRo b2RzIHRvIHRoZSBgR0NgIG1vZHVsZQ0KDQotIGBHQy5kaXNhYmxlX21ham9yYCBUaGlzIHByZXZl bnRzIG1ham9yIEdDJ3MgZnJvbSBydW5uaW5nIGF1dG9tYXRpY2FsbHkuIEl0DQogIGRvZXMgbm90 IHJlc3RyaWN0IG1pbm9ycy4gV2hlbiBgb2Jqc3BhY2UtPnJnZW5nYy5uZWVkX21ham9yX2djYCBp cyBzZXQgYW5kIGENCiAgR0MgaXMgcnVuLCBpbnN0ZWFkIG9mIHJ1bm5pbmcgYSBtYWpvciwgbmV3 IGhlYXAgcGFnZXMgd2lsbCBiZSBhbGxvY2F0ZWQgYW5kIGENCiAgbWlub3IgcnVuIGluc3RlYWQu IGBvYmpzcGFjZS0+cmdlbmdjLm5lZWRfbWFqb3JfZ2NgIHdpbGwgcmVtYWluIHNldCB1bnRpbCBh DQogIG1ham9yIGlzIG1hbnVhbGx5IHJ1bi4gSWYgYSBtYWpvciBpcyBub3QgbWFudWFsbHkgcnVu IHRoZW4gdGhlIHByb2Nlc3Mgd2lsbA0KICBldmVudHVhbGx5IHJ1biBvdXQgb2YgbWVtb3J5Lg0K ICANCiAgV2hlbiBtYWpvciBHQydzIGFyZSBkaXNhYmxlZCwgb2JqZWN0IHByb21vdGlvbiBpcyBk aXNhYmxlZC4gVGhhdCBpcywgbm8NCiAgb2JqZWN0cyB3aWxsIGluY3JlbWVudCB0aGVpciBhZ2Vz IGR1cmluZyBhIG1pbm9yIEdDLiBUaGlzIGlzIHRvIGF0dGVtcHQgdG8NCiAgbWluaW1pc2UgaGVh cCBncm93dGggZHVyaW5nIHRoZSBwZXJpb2QgYmV0d2VlbiBtYWpvciBHQydzLCBieSByZXN0cmlj dGluZyB0aGUNCiAgbnVtYmVyIG9mIG9sZC1nZW4gb2JqZWN0cyB0aGF0IHdpbGwgcmVtYWluIHVu Y29uc2lkZXJlZCBieSB0aGUgR0MgdW50aWwgdGhlDQogIG5leHQgbWFqb3IuDQogIA0KICBXaGVu IGBHQy5zdGFydGAgaXMgcnVuLCB0aGVuIG1ham9yIEdDJ3Mgd2lsbCBiZSBlbmFibGVkLCBhIEdD IHRyaWdnZXJlZCB3aXRoDQogIHRoZSBvcHRpb25zIHBhc3NlZCB0byBgR0Muc3RhcnRgLCBhbmQg dGhlbiBgZGlzYWJsZV9tYWpvcmAgd2lsbCBiZSBzZXQgdG8gdGhlDQogIHN0YXRlIGl0IHdhcyBp biBiZWZvcmUgYEdDLnN0YXJ0YCB3YXMgY2FsbGVkLg0KICANCi0gYEdDLmVuYWJsZV9tYWpvcmAg VGhpcyBzaW1wbHkgdW5zZXRzIHRoZSBiaXQgcHJldmVudGluZyBtYWpvciBHQydzLiBUaGlzIHdp bGwNCiAgcmV2ZXJ0IHRoZSBHQyB0byBub3JtYWwgZ2VuZXJhdGlvbmFsIGJlaGF2aW91ci4gRXZl cnl0aGluZyBiZWhhdmVzIGFzIGRlZmF1bHQNCiAgYWdhaW4uDQoNCi0gYEdDLm5lZWRzX21ham9y P2AgVGhpcyBleHBvc2VzIHRoZSB2YWx1ZSBvZiBgb2Jqc3BhY2UtPnJnZW5nYy5uZWVkX21ham9y X2djYA0KICB0byB0aGUgdXNlciBsZXZlbCBBUEkuIFRoaXMgaXMgYWxyZWFkeSBleHBvc2VkIGlu DQogIGBHQy5sYXRlc3RfZ2NfaW5mb1s6bmVlZF9tYWpvcl9ieV1gIGJ1dCBJIGZlbHQgdGhhdCBh IHNpbXBsZXIgaW50ZXJmYWNlIHdvdWxkDQogIG1ha2UgdGhpcyBlYXNpZXIgdG8gdXNlIGFuZCBy ZXN1bHQgaW4gbW9yZSByZWFkYWJsZSBjb2RlLiBlZy4NCiAgDQpgYGANCm91dF9vZl9iYW5kIGRv IA0KICBHQy5zdGFydCBpZiBHQy5uZWVkc19tYWpvcj8gIA0KZW5kIA0KYGBgDQoNCkJlY2F1c2Ug b2JqZWN0IGFnaW5nIGlzIGRpc2FibGVkIHdoZW4gbWFqb3JzIGFyZSBkaXNhYmxlZCBpdCBpcyBy ZWNvbW1lbmRlZCB0bw0KdXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgUHJvY2Vzcy53YXJt dXBgLCB3aGljaCB3aWxsIHByZXBhcmUgdGhlIGhlYXAgYnkNCnJ1bm5pbmcgYSBtYWpvciBHQywg Y29tcGFjdGluZyB0aGUgaGVhcCwgYW5kIHByb21vdGluZyBldmVyeSByZW1haW5pbmcgb2JqZWN0 IHRvDQpvbGQtZ2VuLiBUaGlzIGVuc3VyZXMgdGhhdCBtaW5vciBHQydzIGFyZSBydW5uaW5nIG92 ZXIgdGhlIHNtYWxsZXRzIHBvc3NpYmxlIHNldA0Kb2YgeW91bmcgb2JqZWN0cyB3aGVuIGBHQy5k aXNhYmxlX21ham9yYCBpcyB0cnVlLg0KDQojIyBCZW5jaG1hcmtzDQoNCldlIHJhbiBzb21lIHRl c3RzIGluIHByb2R1Y3Rpb24gb24gU2hvcGlmeSdzIGNvcmUgbW9ub2xpdGggb3ZlciBhIHdlZWtl bmQgYW5kDQpmb3VuZCB0aGF0Og0KDQoqKk1lYW4gdGltZSBzcGVudCBpbiBHQywgYXMgd2VsbCBh cyBwOTkuOSBhbmQgcDk5Ljk5IEdDIHRpbWVzIGFyZSBhbGwNCmltcHJvdmVkLioqIA0KDQo8aW1n IHdpZHRoPSIxMDAwIiBhbHQ9IlNjcmVlbnNob3QgMjAyNC0wNC0yMiBhdCAxNiA0MSA0OSINCnNy Yz0iaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9hc3NldHMvMzE4NjkvNmNmZjViMTEtMmUy MS00MGMxLWJiODQtZDk5NGUwZTE3OThkIj4NCg0KKipwOTkgR0MgdGltZSBpcyBzbGlnaHRseSBo aWdoZXIuKiogDQoNCjxpbWcgd2lkdGg9IjEwMDAiIGFsdD0iU2NyZWVuc2hvdCAyMDI0LTA0LTIy IGF0IDE2IDQ0IDU1Ig0Kc3JjPSJodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L2Fzc2V0cy8z MTg2OS9kYzY0NWNiZS05NDk1LTQ2ZjAtODQ4NS0yNGU3OTBjNDJmMzIiPg0KDQpXZSdyZSBydW5u aW5nIGZhciBmZXdlciBPT0JHQyBtYWpvciBHQydzIG5vdyB0aGF0IHdlIGhhdmUgYEdDLm5lZWRz X21ham9yP2AgdGhhbg0Kd2Ugd2VyZSBiZWZvcmUsIGFuZCB3ZSBiZWxpZXZlIHRoYXQgdGhpcyBp cyBjb250cmlidXRpbmcgdG8gYSBzbGlnaHRseSBpbmNyZWFzZWQNCm51bWJlciBvZiBtaW5vciBH QydzLiByYWlzaW5nIHRoZSBwOTkgc2xpZ2h0bHkuDQoNCioqQXBwIHJlc3BvbnNlIHRpbWVzIGFy ZSBhbGwgaW1wcm92ZWQqKg0KDQpXZSBzZWUgYSB+MiUgcmVkdWN0aW9uIGluIGF2ZXJhZ2UgcmVz cG9uc2UgdGltZXMgd2hlbiBjb21wYXJlZCBhZ2FpbnN0c3RhbmRhcmQgR0MgDQoofjclIHA5OSwg fjMlIHA5OS45IGFuZCB+NCUgcDk5Ljk5KS4NCg0KPGltZyB3aWR0aD0iMTAwMCIgYWx0PSJTY3Jl ZW5zaG90IDIwMjQtMDQtMjMgYXQgMDkgMjcgMTciIHNyYz0iaHR0cHM6Ly9naXN0LmdpdGh1Yi5j b20vYXNzZXRzLzMxODY5LzcwZTgxZmE1LTc3YjItNDY5YS04OTQ1LTg4YmY4ZjhmZWZlOSI+DQoN ClRoaXMgZHJvcHMgc2xpZ2h0bHkgdG8gYW4gYSB+MSUgcmVkdWN0aW9uIGluIGF2ZXJhZ2UgcmVz cG9uc2UgdGltZXMgd2hlbiBjb21wYXJlZA0KYWdhaW5zdCBvdXIgbm9ybWFsIE9PQkdDIGFwcHJv YWNoICAofjYlIHA5OSwgfjIlIHA5OS45IGFuZCB+MyUgcDk5Ljk5KS4NCg0KPGltZyB3aWR0aD0i MTAwMCIgYWx0PSJTY3JlZW5zaG90IDIwMjQtMDQtMjMgYXQgMDkgMjcgMjkiIHNyYz0iaHR0cHM6 Ly9naXN0LmdpdGh1Yi5jb20vYXNzZXRzLzMxODY5L2NiYWEzODA3LTBjZDEtNGRiYS1hNWU2LWI5 ZGY5MTAyNGQ3MyI+DQoNCg0KRURJVDogdG8gY29ycmVjdCBhIGZvcm11bGEgZXJyb3IgaW4gdGhl IG9yaWdpbmFsIEF2ZXJhZ2UgY2hhcnRzLCBudW1iZXJzIHVwZGF0ZWQuIA0KDQotLS1GaWxlcy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpDYXB0dXJlIGTigJllzIFjcmFuIDIwMjQt MDQtMjIgYcyAIDE4LjQxLjUyLnBuZyAoMjc5IEtCKQ0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1 YnktbGFuZy5vcmcvDQogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9y ZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVi eS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21h aWxtYW4zL3Bvc3Rvcml1cy9saXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8=