[ruby-core:117695] [Ruby master Feature#20443] Allow Major GC's to be disabled
From:
"ko1 (Koichi Sasada) via ruby-core" <ruby-core@...>
Date:
2024-04-25 00:59:11 UTC
List:
ruby-core #117695
SXNzdWUgIzIwNDQzIGhhcyBiZWVuIHVwZGF0ZWQgYnkga28xIChLb2ljaGkgU2FzYWRhKS4NCg0K DQpCYXNpY2FsbHkgSSBsaWtlIHRoaXMgaWRlYS4gU29tZSBwb2ludHMuDQoNCiogc2hvdWxkIG5v dCB1c2UgIm1ham9yIiBhcyBhICJtYWpvciBnYyIsIHNvIGBHQy5kaXNhYmxlX21ham9yYCBzaG91 bGQgYmUgYEdDLmRpc2FibGVfbWFqb3JfZ2NgIGFuZCBzbyBvbi4NCiogSSBkb24ndCBoYXZlIHN0 cm9uZyBvcGluaW9uIGFib3V0IGBHQy5kaXNhYmxlKG1ham9yX2djOiB0cnVlKWAgb3IgYEdDLmRp c2FibGVfbWFqb3JfZ2NgDQoqICJXaGVuIG1ham9yIEdDJ3MgYXJlIGRpc2FibGVkLCBvYmplY3Qg cHJvbW90aW9uIGlzIGRpc2FibGVkIiB3aGF0IGhhcHBlbnMgb24gb2xkZ2VuLT55b3VuZ2dlbiBy ZWZlcmVuY2VzPyBwb2ludHMgZnJvbSB0aGUgcmVtZW1iZXJzIHNldD8gSSB0aGluayB3ZSBjYW4g cHJvbW90ZSB0aGlzIGNhc2UgYmVjYXVzZSBpdCBtYWtlcyBtaW5vciBnYyBmYXN0ZXIgKHRoZSBw cm9tb3RlZCBvYmplY3RzIGNhbiBub3QgYmUgZnJlZWQgdW50aWwgbWFqb3IgZ2MsIHNvIHRoZSBu dW1iZXIgb2YgbGl2aW5nIG9iamVjdHMgaXMgc2FtZSkuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzIwNDQzOiBBbGxvdyBNYWpvciBHQydzIHRv IGJlIGRpc2FibGVkDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjA0NDMjY2hh bmdlLTEwODEwNA0KDQoqIEF1dGhvcjogZWlnaHRiaXRyYXB0b3IgKE1hdHRoZXcgVmFsZW50aW5l LUhvdXNlKQ0KKiBTdGF0dXM6IE9wZW4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCltbR2l0aHViIFBSICMxMDU5OF1dKGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1 YnkvcHVsbC8xMDU5OCkNCg0KIyMgQmFja2dyb3VuZA0KDQpSdWJ5J3MgR0MgcnVubmluZyBkdXJp bmcgUmFpbHMgcmVxdWVzdHMgY2FuIGhhdmUgbmVnYXRpdmUgaW1wYWN0cyBvbiBjdXJyZW50bHkN CnJ1bm5pbmcgcmVxdWVzdHMsIGNhdXNpbmcgYXBwbGljYXRpb25zIHRvIGhhdmUgaGlnaCB0YWls LWxhdGVuY3kuDQoNCkEgdGVjaG5pcXVlIHRvIG1pdGlnYXRlIHRoaXMgaGlnaCB0YWlsLWxhdGVu Y3kgaXMgT3V0LW9mLWJhbmQgR0MgKE9PQkdDKS4gVGhpcw0KaXMgYmFzaWNhbGx5IHdoZXJlIHRo ZSBhcHBsaWNhdGlvbiBpcyBydW4gd2l0aCBHQyBkaXNhYmxlZCwgYW5kIHRoZW4gR0MgaXMNCmV4 cGxpY2l0bHkgc3RhcnRlZCBhZnRlciBlYWNoIHJlcXVlc3QsIG9yIHdoZW4gbm8gcmVxdWVzdHMg YXJlIGluIHByb2dyZXNzLg0KDQpUaGlzIGNhbiByZWR1Y2UgdGhlIHRhaWwgbGF0ZW5jeSwgYnV0 IGFsc28gaW50cm9kdWNlcyBwcm9ibGVtcyBvZiBpdHMgb3duLiBMb25nDQpHQyBwYXVzZXMgYWZ0 ZXIgZWFjaCByZXF1ZXN0IHJlZHVjZSB0aHJvdWdocHV0LiBUaGlzIGlzIG1vcmUgcHJvbm91bmNl ZCBvbg0KdGhyZWFkaW5nIHNlcnZlcnMgbGlrZSBQdW1hIGJlY2F1c2UgYWxsIHRoZSB0aHJlYWRz IGhhdmUgdG8gZmluaXNoIHByb2Nlc3NpbmcNCnVzZXIgcmVxdWVzdHMgYW5kIGJlICJwYXVzZWQi IGJlZm9yZSBPT0JHQyBjYW4gYmUgdHJpZ2dlcmVkLg0KDQpUaGlzIHRocm91Z2hwdXQgZGVjcmVh c2UgaGFwcGVucyBmb3IgYSBjb3VwbGUgb2YgcmVhc29uczoNCg0KMS4gVGhlcmUgYXJlIGZldyBo ZXVyaXN0aWNzIGF2YWlsYWJsZSBmb3IgdXNlcnMgdG8gZGV0ZXJtaW5lIHdoZW4gR0Mgc2hvdWxk IHJ1biwNCnRoaXMgbWVhbnMgdGhhdCBpbiBPT0JHQyBzY2VuYXJpb3MsIGl0J3MgcG9zc2libGUg dGhhdCBtYWpvciBHQydzIGFyZSBiZWluZyBydW4NCm1vcmUgdGhhbiBuZWNlc3NhcnkuICAyLiBU aGUgbGFjayBvZiBhbnkgR0MgZHVyaW5nIGEgcmVxdWVzdCBtZWFucyB0aGF0IGxvdHMgb2YNCmdh cmJhZ2Ugb2JqZWN0cyBoYXZlIGJlZW4gY3JlYXRlZCBhbmQgbm90IGNsZWFuZWQgdXAsIHNvIHRo ZSBwcm9jZXNzIGlzIHVzaW5nDQptb3JlIG1lbW9yeSB0aGFuIGl0IHNob3VsZCAtIHJlcXVpcmlu ZyBtYWpvciBHQydzIHJ1biBhcyBwYXJ0IG9mIE9PQkdDIHRvIGRvDQptb3JlIHdvcmsgYW5kIHRo ZXJlZm9yZSB0YWtlIG1vcmUgdGltZS4NCg0KVGhpcyB0aWNrZXQgYXR0ZW1wdHMgdG8gYWRkcmVz cyB0aGVzZSBpc3N1ZXMgYnk6DQoNCjEuIFByb3ZpZGUgYEdDLmRpc2FibGVfbWFqb3JgIGFuZCBp dHMgYW50b255bSBgR0MuZW5hYmxlX21ham9yYCB0byBkaXNhYmxlIGFuZA0KZW5hYmxlIG9ubHkg bWFqb3IgR0MgMi4gUHJvdmlkZSBgR0MubmVlZHNfbWFqb3I/YCBhcyBhIGJhc2ljIGhldXJpc3Rp YyBhbGxvd2luZw0KdXNlcnMgdG8gdGVsbCB3aGVuIFJ1Ynkgc2hvdWxkIHJ1biBhIE1ham9yIEdD Lg0KDQpUaGVzZSBpZGVhcyB3ZXJlIG9yaWdpbmFsbHkgcHJvcG9zZWQgYnkgQGtvMSBhbmQgQGJ5 cm9vdCBpbiBbdGhpcyByYWlscw0KaXNzdWVdKGh0dHBzOi8vZ2l0aHViLmNvbS9yYWlscy9yYWls cy9pc3N1ZXMvNTA0NDkpDQoNCkRpc2FibGluZyBHQyBtYWpvcidzIHdvdWxkIHN0aWxsIGFsbG93 IG1pbm9yIEdDJ3MgdG8gcnVuIGR1cmluZyB0aGUgcmVxdWVzdCwNCmF2b2lkaW5nIHRoZSBiYWxs b29uaW5nIG1lbW9yeSB1c2FnZSBjYXVzZWQgYnkgbm90IHJ1bm5pbmcgR0MgYXQgYWxsLCBhbmQN CnJlZHVjaW5nIHRoZSB0aW1lIHRoYXQgYSBtYWpvciB0YWtlcyB3aGVuIHdlIGRvIHJ1biBpdCwg YmVjYXVzZSB0aGUgbnVyc2VyeQ0Kb2JqZWN0cyBoYXZlIGJlZW4gY2xlYW5lZCB1cCBkdXJpbmcg dGhlIHJlcXVlc3QgYWxyZWFkeSBzbyB0aGVyZSBpcyBsZXNzIHdvcmsNCmZvciBhIG1ham9yIEdD IHRvIGRvLg0KDQpUaGlzIGNhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYEdDLm5lZWRz X21ham9yP2AgdG8gc2VsZWN0aXZlbHkgcnVuIGFuDQpPT0JHQyBvbmx5IHdoZW4gbmVjZXNzYXJ5 DQoNCiMjIEltcGxlbWVudGF0aW9uDQoNClRoaXMgUFIgYWRkcyAzIG5ldyBtZXRob2RzIHRvIHRo ZSBgR0NgIG1vZHVsZQ0KDQotIGBHQy5kaXNhYmxlX21ham9yYCBUaGlzIHByZXZlbnRzIG1ham9y IEdDJ3MgZnJvbSBydW5uaW5nIGF1dG9tYXRpY2FsbHkuIEl0DQogIGRvZXMgbm90IHJlc3RyaWN0 IG1pbm9ycy4gV2hlbiBgb2Jqc3BhY2UtPnJnZW5nYy5uZWVkX21ham9yX2djYCBpcyBzZXQgYW5k IGENCiAgR0MgaXMgcnVuLCBpbnN0ZWFkIG9mIHJ1bm5pbmcgYSBtYWpvciwgbmV3IGhlYXAgcGFn ZXMgd2lsbCBiZSBhbGxvY2F0ZWQgYW5kIGENCiAgbWlub3IgcnVuIGluc3RlYWQuIGBvYmpzcGFj ZS0+cmdlbmdjLm5lZWRfbWFqb3JfZ2NgIHdpbGwgcmVtYWluIHNldCB1bnRpbCBhDQogIG1ham9y IGlzIG1hbnVhbGx5IHJ1bi4gSWYgYSBtYWpvciBpcyBub3QgbWFudWFsbHkgcnVuIHRoZW4gdGhl IHByb2Nlc3Mgd2lsbA0KICBldmVudHVhbGx5IHJ1biBvdXQgb2YgbWVtb3J5Lg0KICANCiAgV2hl biBtYWpvciBHQydzIGFyZSBkaXNhYmxlZCwgb2JqZWN0IHByb21vdGlvbiBpcyBkaXNhYmxlZC4g VGhhdCBpcywgbm8NCiAgb2JqZWN0cyB3aWxsIGluY3JlbWVudCB0aGVpciBhZ2VzIGR1cmluZyBh IG1pbm9yIEdDLiBUaGlzIGlzIHRvIGF0dGVtcHQgdG8NCiAgbWluaW1pc2UgaGVhcCBncm93dGgg ZHVyaW5nIHRoZSBwZXJpb2QgYmV0d2VlbiBtYWpvciBHQydzLCBieSByZXN0cmljdGluZyB0aGUN CiAgbnVtYmVyIG9mIG9sZC1nZW4gb2JqZWN0cyB0aGF0IHdpbGwgcmVtYWluIHVuY29uc2lkZXJl ZCBieSB0aGUgR0MgdW50aWwgdGhlDQogIG5leHQgbWFqb3IuDQogIA0KICBXaGVuIGBHQy5zdGFy dGAgaXMgcnVuLCB0aGVuIG1ham9yIEdDJ3Mgd2lsbCBiZSBlbmFibGVkLCBhIEdDIHRyaWdnZXJl ZCB3aXRoDQogIHRoZSBvcHRpb25zIHBhc3NlZCB0byBgR0Muc3RhcnRgLCBhbmQgdGhlbiBgZGlz YWJsZV9tYWpvcmAgd2lsbCBiZSBzZXQgdG8gdGhlDQogIHN0YXRlIGl0IHdhcyBpbiBiZWZvcmUg YEdDLnN0YXJ0YCB3YXMgY2FsbGVkLg0KICANCi0gYEdDLmVuYWJsZV9tYWpvcmAgVGhpcyBzaW1w bHkgdW5zZXRzIHRoZSBiaXQgcHJldmVudGluZyBtYWpvciBHQydzLiBUaGlzIHdpbGwNCiAgcmV2 ZXJ0IHRoZSBHQyB0byBub3JtYWwgZ2VuZXJhdGlvbmFsIGJlaGF2aW91ci4gRXZlcnl0aGluZyBi ZWhhdmVzIGFzIGRlZmF1bHQNCiAgYWdhaW4uDQoNCi0gYEdDLm5lZWRzX21ham9yP2AgVGhpcyBl eHBvc2VzIHRoZSB2YWx1ZSBvZiBgb2Jqc3BhY2UtPnJnZW5nYy5uZWVkX21ham9yX2djYA0KICB0 byB0aGUgdXNlciBsZXZlbCBBUEkuIFRoaXMgaXMgYWxyZWFkeSBleHBvc2VkIGluDQogIGBHQy5s YXRlc3RfZ2NfaW5mb1s6bmVlZF9tYWpvcl9ieV1gIGJ1dCBJIGZlbHQgdGhhdCBhIHNpbXBsZXIg aW50ZXJmYWNlIHdvdWxkDQogIG1ha2UgdGhpcyBlYXNpZXIgdG8gdXNlIGFuZCByZXN1bHQgaW4g bW9yZSByZWFkYWJsZSBjb2RlLiBlZy4NCiAgDQpgYGANCm91dF9vZl9iYW5kIGRvIA0KICBHQy5z dGFydCBpZiBHQy5uZWVkc19tYWpvcj8gIA0KZW5kIA0KYGBgDQoNCkJlY2F1c2Ugb2JqZWN0IGFn aW5nIGlzIGRpc2FibGVkIHdoZW4gbWFqb3JzIGFyZSBkaXNhYmxlZCBpdCBpcyByZWNvbW1lbmRl ZCB0bw0KdXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgUHJvY2Vzcy53YXJtdXBgLCB3aGlj aCB3aWxsIHByZXBhcmUgdGhlIGhlYXAgYnkNCnJ1bm5pbmcgYSBtYWpvciBHQywgY29tcGFjdGlu ZyB0aGUgaGVhcCwgYW5kIHByb21vdGluZyBldmVyeSByZW1haW5pbmcgb2JqZWN0IHRvDQpvbGQt Z2VuLiBUaGlzIGVuc3VyZXMgdGhhdCBtaW5vciBHQydzIGFyZSBydW5uaW5nIG92ZXIgdGhlIHNt YWxsZXRzIHBvc3NpYmxlIHNldA0Kb2YgeW91bmcgb2JqZWN0cyB3aGVuIGBHQy5kaXNhYmxlX21h am9yYCBpcyB0cnVlLg0KDQojIyBCZW5jaG1hcmtzDQoNCldlIHJhbiBzb21lIHRlc3RzIGluIHBy b2R1Y3Rpb24gb24gU2hvcGlmeSdzIGNvcmUgbW9ub2xpdGggb3ZlciBhIHdlZWtlbmQgYW5kDQpm b3VuZCB0aGF0Og0KDQoqKk1lYW4gdGltZSBzcGVudCBpbiBHQywgYXMgd2VsbCBhcyBwOTkuOSBh bmQgcDk5Ljk5IEdDIHRpbWVzIGFyZSBhbGwNCmltcHJvdmVkLioqIA0KDQo8aW1nIHdpZHRoPSIx MDAwIiBhbHQ9IlNjcmVlbnNob3QgMjAyNC0wNC0yMiBhdCAxNiA0MSA0OSINCnNyYz0iaHR0cHM6 Ly9naXRodWIuY29tL3J1YnkvcnVieS9hc3NldHMvMzE4NjkvNmNmZjViMTEtMmUyMS00MGMxLWJi ODQtZDk5NGUwZTE3OThkIj4NCg0KKipwOTkgR0MgdGltZSBpcyBzbGlnaHRseSBoaWdoZXIuKiog DQoNCjxpbWcgd2lkdGg9IjEwMDAiIGFsdD0iU2NyZWVuc2hvdCAyMDI0LTA0LTIyIGF0IDE2IDQ0 IDU1Ig0Kc3JjPSJodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L2Fzc2V0cy8zMTg2OS9kYzY0 NWNiZS05NDk1LTQ2ZjAtODQ4NS0yNGU3OTBjNDJmMzIiPg0KDQpXZSdyZSBydW5uaW5nIGZhciBm ZXdlciBPT0JHQyBtYWpvciBHQydzIG5vdyB0aGF0IHdlIGhhdmUgYEdDLm5lZWRzX21ham9yP2Ag dGhhbg0Kd2Ugd2VyZSBiZWZvcmUsIGFuZCB3ZSBiZWxpZXZlIHRoYXQgdGhpcyBpcyBjb250cmli dXRpbmcgdG8gYSBzbGlnaHRseSBpbmNyZWFzZWQNCm51bWJlciBvZiBtaW5vciBHQydzLiByYWlz aW5nIHRoZSBwOTkgc2xpZ2h0bHkuDQoNCioqQXBwIHJlc3BvbnNlIHRpbWVzIGFyZSBhbGwgaW1w cm92ZWQqKg0KDQpXZSBzZWUgYSB+MiUgcmVkdWN0aW9uIGluIGF2ZXJhZ2UgcmVzcG9uc2UgdGlt ZXMgd2hlbiBjb21wYXJlZCBhZ2FpbnN0c3RhbmRhcmQgR0MgDQoofjclIHA5OSwgfjMlIHA5OS45 IGFuZCB+NCUgcDk5Ljk5KS4NCg0KPGltZyB3aWR0aD0iMTAwMCIgYWx0PSJTY3JlZW5zaG90IDIw MjQtMDQtMjMgYXQgMDkgMjcgMTciIHNyYz0iaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vYXNzZXRz LzMxODY5LzcwZTgxZmE1LTc3YjItNDY5YS04OTQ1LTg4YmY4ZjhmZWZlOSI+DQoNClRoaXMgZHJv cHMgc2xpZ2h0bHkgdG8gYW4gYSB+MSUgcmVkdWN0aW9uIGluIGF2ZXJhZ2UgcmVzcG9uc2UgdGlt ZXMgd2hlbiBjb21wYXJlZA0KYWdhaW5zdCBvdXIgbm9ybWFsIE9PQkdDIGFwcHJvYWNoICAofjYl IHA5OSwgfjIlIHA5OS45IGFuZCB+MyUgcDk5Ljk5KS4NCg0KPGltZyB3aWR0aD0iMTAwMCIgYWx0 PSJTY3JlZW5zaG90IDIwMjQtMDQtMjMgYXQgMDkgMjcgMjkiIHNyYz0iaHR0cHM6Ly9naXN0Lmdp dGh1Yi5jb20vYXNzZXRzLzMxODY5L2NiYWEzODA3LTBjZDEtNGRiYS1hNWU2LWI5ZGY5MTAyNGQ3 MyI+DQoNCg0KRURJVDogdG8gY29ycmVjdCBhIGZvcm11bGEgZXJyb3IgaW4gdGhlIG9yaWdpbmFs IEF2ZXJhZ2UgY2hhcnRzLCBudW1iZXJzIHVwZGF0ZWQuIA0KDQotLS1GaWxlcy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpDYXB0dXJlIGTigJllzIFjcmFuIDIwMjQtMDQtMjIgYcyA IDE4LjQxLjUyLnBuZyAoMjc5IEtCKQ0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5v cmcvDQogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogcnVi eS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5z dWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9y ZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL3Bv c3Rvcml1cy9saXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8=