[ruby-core:118489] [Ruby master Feature#20443] Allow Major GC's to be disabled
From:
"ko1 (Koichi Sasada) via ruby-core" <ruby-core@...>
Date:
2024-07-08 17:47:18 UTC
List:
ruby-core #118489
SXNzdWUgIzIwNDQzIGhhcyBiZWVuIHVwZGF0ZWQgYnkga28xIChLb2ljaGkgU2FzYWRhKS4NCg0K DQo+IEludHJvZHVjZSBHQy5jb25maWcsIGN1cnJlbnRseSB3aXRoIGEgc2luZ2xlIGtleSBmdWxs X21hcmsuDQoNCkknbSBva2F5IHRvIGludHJvZHVjZSBpdCBidXQgbm90IHN1cmUgYGNvbmZpZ2Ag b3IgYGNvbmZpZ3VyZWAgb3Igb3RoZXIgd29yZD8gKEVuZ2xpc2ggaXNzdWUpLg0KDQotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJlICMyMDQ0MzogQWxsb3cg TWFqb3IgR0MncyB0byBiZSBkaXNhYmxlZA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNz dWVzLzIwNDQzI2NoYW5nZS0xMDkwMDkNCg0KKiBBdXRob3I6IGVpZ2h0Yml0cmFwdG9yIChNYXR0 aGV3IFZhbGVudGluZS1Ib3VzZSkNCiogU3RhdHVzOiBPcGVuDQotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpbW0dpdGh1YiBQUiAjMTA1OThdXShodHRwczovL2dpdGh1 Yi5jb20vcnVieS9ydWJ5L3B1bGwvMTA1OTgpDQoNCiMjIEJhY2tncm91bmQNCg0KUnVieSdzIEdD IHJ1bm5pbmcgZHVyaW5nIFJhaWxzIHJlcXVlc3RzIGNhbiBoYXZlIG5lZ2F0aXZlIGltcGFjdHMg b24gY3VycmVudGx5DQpydW5uaW5nIHJlcXVlc3RzLCBjYXVzaW5nIGFwcGxpY2F0aW9ucyB0byBo YXZlIGhpZ2ggdGFpbC1sYXRlbmN5Lg0KDQpBIHRlY2huaXF1ZSB0byBtaXRpZ2F0ZSB0aGlzIGhp Z2ggdGFpbC1sYXRlbmN5IGlzIE91dC1vZi1iYW5kIEdDIChPT0JHQykuIFRoaXMNCmlzIGJhc2lj YWxseSB3aGVyZSB0aGUgYXBwbGljYXRpb24gaXMgcnVuIHdpdGggR0MgZGlzYWJsZWQsIGFuZCB0 aGVuIEdDIGlzDQpleHBsaWNpdGx5IHN0YXJ0ZWQgYWZ0ZXIgZWFjaCByZXF1ZXN0LCBvciB3aGVu IG5vIHJlcXVlc3RzIGFyZSBpbiBwcm9ncmVzcy4NCg0KVGhpcyBjYW4gcmVkdWNlIHRoZSB0YWls IGxhdGVuY3ksIGJ1dCBhbHNvIGludHJvZHVjZXMgcHJvYmxlbXMgb2YgaXRzIG93bi4gTG9uZw0K R0MgcGF1c2VzIGFmdGVyIGVhY2ggcmVxdWVzdCByZWR1Y2UgdGhyb3VnaHB1dC4gVGhpcyBpcyBt b3JlIHByb25vdW5jZWQgb24NCnRocmVhZGluZyBzZXJ2ZXJzIGxpa2UgUHVtYSBiZWNhdXNlIGFs bCB0aGUgdGhyZWFkcyBoYXZlIHRvIGZpbmlzaCBwcm9jZXNzaW5nDQp1c2VyIHJlcXVlc3RzIGFu ZCBiZSAicGF1c2VkIiBiZWZvcmUgT09CR0MgY2FuIGJlIHRyaWdnZXJlZC4NCg0KVGhpcyB0aHJv dWdocHV0IGRlY3JlYXNlIGhhcHBlbnMgZm9yIGEgY291cGxlIG9mIHJlYXNvbnM6DQoNCjEuIFRo ZXJlIGFyZSBmZXcgaGV1cmlzdGljcyBhdmFpbGFibGUgZm9yIHVzZXJzIHRvIGRldGVybWluZSB3 aGVuIEdDIHNob3VsZCBydW4sDQp0aGlzIG1lYW5zIHRoYXQgaW4gT09CR0Mgc2NlbmFyaW9zLCBp dCdzIHBvc3NpYmxlIHRoYXQgbWFqb3IgR0MncyBhcmUgYmVpbmcgcnVuDQptb3JlIHRoYW4gbmVj ZXNzYXJ5LiAgMi4gVGhlIGxhY2sgb2YgYW55IEdDIGR1cmluZyBhIHJlcXVlc3QgbWVhbnMgdGhh dCBsb3RzIG9mDQpnYXJiYWdlIG9iamVjdHMgaGF2ZSBiZWVuIGNyZWF0ZWQgYW5kIG5vdCBjbGVh bmVkIHVwLCBzbyB0aGUgcHJvY2VzcyBpcyB1c2luZw0KbW9yZSBtZW1vcnkgdGhhbiBpdCBzaG91 bGQgLSByZXF1aXJpbmcgbWFqb3IgR0MncyBydW4gYXMgcGFydCBvZiBPT0JHQyB0byBkbw0KbW9y ZSB3b3JrIGFuZCB0aGVyZWZvcmUgdGFrZSBtb3JlIHRpbWUuDQoNClRoaXMgdGlja2V0IGF0dGVt cHRzIHRvIGFkZHJlc3MgdGhlc2UgaXNzdWVzIGJ5Og0KDQoxLiBQcm92aWRlIGBHQy5kaXNhYmxl X21ham9yYCBhbmQgaXRzIGFudG9ueW0gYEdDLmVuYWJsZV9tYWpvcmAgdG8gZGlzYWJsZSBhbmQN CmVuYWJsZSBvbmx5IG1ham9yIEdDIDIuIFByb3ZpZGUgYEdDLm5lZWRzX21ham9yP2AgYXMgYSBi YXNpYyBoZXVyaXN0aWMgYWxsb3dpbmcNCnVzZXJzIHRvIHRlbGwgd2hlbiBSdWJ5IHNob3VsZCBy dW4gYSBNYWpvciBHQy4NCg0KVGhlc2UgaWRlYXMgd2VyZSBvcmlnaW5hbGx5IHByb3Bvc2VkIGJ5 IEBrbzEgYW5kIEBieXJvb3QgaW4gW3RoaXMgcmFpbHMNCmlzc3VlXShodHRwczovL2dpdGh1Yi5j b20vcmFpbHMvcmFpbHMvaXNzdWVzLzUwNDQ5KQ0KDQpEaXNhYmxpbmcgR0MgbWFqb3IncyB3b3Vs ZCBzdGlsbCBhbGxvdyBtaW5vciBHQydzIHRvIHJ1biBkdXJpbmcgdGhlIHJlcXVlc3QsDQphdm9p ZGluZyB0aGUgYmFsbG9vbmluZyBtZW1vcnkgdXNhZ2UgY2F1c2VkIGJ5IG5vdCBydW5uaW5nIEdD IGF0IGFsbCwgYW5kDQpyZWR1Y2luZyB0aGUgdGltZSB0aGF0IGEgbWFqb3IgdGFrZXMgd2hlbiB3 ZSBkbyBydW4gaXQsIGJlY2F1c2UgdGhlIG51cnNlcnkNCm9iamVjdHMgaGF2ZSBiZWVuIGNsZWFu ZWQgdXAgZHVyaW5nIHRoZSByZXF1ZXN0IGFscmVhZHkgc28gdGhlcmUgaXMgbGVzcyB3b3JrDQpm b3IgYSBtYWpvciBHQyB0byBkby4NCg0KVGhpcyBjYW4gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3 aXRoIGBHQy5uZWVkc19tYWpvcj9gIHRvIHNlbGVjdGl2ZWx5IHJ1biBhbg0KT09CR0Mgb25seSB3 aGVuIG5lY2Vzc2FyeQ0KDQojIyBJbXBsZW1lbnRhdGlvbg0KDQpUaGlzIFBSIGFkZHMgMyBuZXcg bWV0aG9kcyB0byB0aGUgYEdDYCBtb2R1bGUNCg0KLSBgR0MuZGlzYWJsZV9tYWpvcmAgVGhpcyBw cmV2ZW50cyBtYWpvciBHQydzIGZyb20gcnVubmluZyBhdXRvbWF0aWNhbGx5LiBJdA0KICBkb2Vz IG5vdCByZXN0cmljdCBtaW5vcnMuIFdoZW4gYG9ianNwYWNlLT5yZ2VuZ2MubmVlZF9tYWpvcl9n Y2AgaXMgc2V0IGFuZCBhDQogIEdDIGlzIHJ1biwgaW5zdGVhZCBvZiBydW5uaW5nIGEgbWFqb3Is IG5ldyBoZWFwIHBhZ2VzIHdpbGwgYmUgYWxsb2NhdGVkIGFuZCBhDQogIG1pbm9yIHJ1biBpbnN0 ZWFkLiBgb2Jqc3BhY2UtPnJnZW5nYy5uZWVkX21ham9yX2djYCB3aWxsIHJlbWFpbiBzZXQgdW50 aWwgYQ0KICBtYWpvciBpcyBtYW51YWxseSBydW4uIElmIGEgbWFqb3IgaXMgbm90IG1hbnVhbGx5 IHJ1biB0aGVuIHRoZSBwcm9jZXNzIHdpbGwNCiAgZXZlbnR1YWxseSBydW4gb3V0IG9mIG1lbW9y eS4NCiAgDQogIFdoZW4gbWFqb3IgR0MncyBhcmUgZGlzYWJsZWQsIG9iamVjdCBwcm9tb3Rpb24g aXMgZGlzYWJsZWQuIFRoYXQgaXMsIG5vDQogIG9iamVjdHMgd2lsbCBpbmNyZW1lbnQgdGhlaXIg YWdlcyBkdXJpbmcgYSBtaW5vciBHQy4gVGhpcyBpcyB0byBhdHRlbXB0IHRvDQogIG1pbmltaXNl IGhlYXAgZ3Jvd3RoIGR1cmluZyB0aGUgcGVyaW9kIGJldHdlZW4gbWFqb3IgR0MncywgYnkgcmVz dHJpY3RpbmcgdGhlDQogIG51bWJlciBvZiBvbGQtZ2VuIG9iamVjdHMgdGhhdCB3aWxsIHJlbWFp biB1bmNvbnNpZGVyZWQgYnkgdGhlIEdDIHVudGlsIHRoZQ0KICBuZXh0IG1ham9yLg0KICANCiAg V2hlbiBgR0Muc3RhcnRgIGlzIHJ1biwgdGhlbiBtYWpvciBHQydzIHdpbGwgYmUgZW5hYmxlZCwg YSBHQyB0cmlnZ2VyZWQgd2l0aA0KICB0aGUgb3B0aW9ucyBwYXNzZWQgdG8gYEdDLnN0YXJ0YCwg YW5kIHRoZW4gYGRpc2FibGVfbWFqb3JgIHdpbGwgYmUgc2V0IHRvIHRoZQ0KICBzdGF0ZSBpdCB3 YXMgaW4gYmVmb3JlIGBHQy5zdGFydGAgd2FzIGNhbGxlZC4NCiAgDQotIGBHQy5lbmFibGVfbWFq b3JgIFRoaXMgc2ltcGx5IHVuc2V0cyB0aGUgYml0IHByZXZlbnRpbmcgbWFqb3IgR0Mncy4gVGhp cyB3aWxsDQogIHJldmVydCB0aGUgR0MgdG8gbm9ybWFsIGdlbmVyYXRpb25hbCBiZWhhdmlvdXIu IEV2ZXJ5dGhpbmcgYmVoYXZlcyBhcyBkZWZhdWx0DQogIGFnYWluLg0KDQotIGBHQy5uZWVkc19t YWpvcj9gIFRoaXMgZXhwb3NlcyB0aGUgdmFsdWUgb2YgYG9ianNwYWNlLT5yZ2VuZ2MubmVlZF9t YWpvcl9nY2ANCiAgdG8gdGhlIHVzZXIgbGV2ZWwgQVBJLiBUaGlzIGlzIGFscmVhZHkgZXhwb3Nl ZCBpbg0KICBgR0MubGF0ZXN0X2djX2luZm9bOm5lZWRfbWFqb3JfYnldYCBidXQgSSBmZWx0IHRo YXQgYSBzaW1wbGVyIGludGVyZmFjZSB3b3VsZA0KICBtYWtlIHRoaXMgZWFzaWVyIHRvIHVzZSBh bmQgcmVzdWx0IGluIG1vcmUgcmVhZGFibGUgY29kZS4gZWcuDQogIA0KYGBgDQpvdXRfb2ZfYmFu ZCBkbyANCiAgR0Muc3RhcnQgaWYgR0MubmVlZHNfbWFqb3I/ICANCmVuZCANCmBgYA0KDQpCZWNh dXNlIG9iamVjdCBhZ2luZyBpcyBkaXNhYmxlZCB3aGVuIG1ham9ycyBhcmUgZGlzYWJsZWQgaXQg aXMgcmVjb21tZW5kZWQgdG8NCnVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYFByb2Nlc3Mu d2FybXVwYCwgd2hpY2ggd2lsbCBwcmVwYXJlIHRoZSBoZWFwIGJ5DQpydW5uaW5nIGEgbWFqb3Ig R0MsIGNvbXBhY3RpbmcgdGhlIGhlYXAsIGFuZCBwcm9tb3RpbmcgZXZlcnkgcmVtYWluaW5nIG9i amVjdCB0bw0Kb2xkLWdlbi4gVGhpcyBlbnN1cmVzIHRoYXQgbWlub3IgR0MncyBhcmUgcnVubmlu ZyBvdmVyIHRoZSBzbWFsbGV0cyBwb3NzaWJsZSBzZXQNCm9mIHlvdW5nIG9iamVjdHMgd2hlbiBg R0MuZGlzYWJsZV9tYWpvcmAgaXMgdHJ1ZS4NCg0KIyMgQmVuY2htYXJrcw0KDQpXZSByYW4gc29t ZSB0ZXN0cyBpbiBwcm9kdWN0aW9uIG9uIFNob3BpZnkncyBjb3JlIG1vbm9saXRoIG92ZXIgYSB3 ZWVrZW5kIGFuZA0KZm91bmQgdGhhdDoNCg0KKipNZWFuIHRpbWUgc3BlbnQgaW4gR0MsIGFzIHdl bGwgYXMgcDk5LjkgYW5kIHA5OS45OSBHQyB0aW1lcyBhcmUgYWxsDQppbXByb3ZlZC4qKiANCg0K PGltZyB3aWR0aD0iMTAwMCIgYWx0PSJTY3JlZW5zaG90IDIwMjQtMDQtMjIgYXQgMTYgNDEgNDki DQpzcmM9Imh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvYXNzZXRzLzMxODY5LzZjZmY1YjEx LTJlMjEtNDBjMS1iYjg0LWQ5OTRlMGUxNzk4ZCI+DQoNCioqcDk5IEdDIHRpbWUgaXMgc2xpZ2h0 bHkgaGlnaGVyLioqIA0KDQo8aW1nIHdpZHRoPSIxMDAwIiBhbHQ9IlNjcmVlbnNob3QgMjAyNC0w NC0yMiBhdCAxNiA0NCA1NSINCnNyYz0iaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9hc3Nl dHMvMzE4NjkvZGM2NDVjYmUtOTQ5NS00NmYwLTg0ODUtMjRlNzkwYzQyZjMyIj4NCg0KV2UncmUg cnVubmluZyBmYXIgZmV3ZXIgT09CR0MgbWFqb3IgR0MncyBub3cgdGhhdCB3ZSBoYXZlIGBHQy5u ZWVkc19tYWpvcj9gIHRoYW4NCndlIHdlcmUgYmVmb3JlLCBhbmQgd2UgYmVsaWV2ZSB0aGF0IHRo aXMgaXMgY29udHJpYnV0aW5nIHRvIGEgc2xpZ2h0bHkgaW5jcmVhc2VkDQpudW1iZXIgb2YgbWlu b3IgR0Mncy4gcmFpc2luZyB0aGUgcDk5IHNsaWdodGx5Lg0KDQoqKkFwcCByZXNwb25zZSB0aW1l cyBhcmUgYWxsIGltcHJvdmVkKioNCg0KV2Ugc2VlIGEgfjIlIHJlZHVjdGlvbiBpbiBhdmVyYWdl IHJlc3BvbnNlIHRpbWVzIHdoZW4gY29tcGFyZWQgYWdhaW5zdHN0YW5kYXJkIEdDIA0KKH43JSBw OTksIH4zJSBwOTkuOSBhbmQgfjQlIHA5OS45OSkuDQoNCjxpbWcgd2lkdGg9IjEwMDAiIGFsdD0i U2NyZWVuc2hvdCAyMDI0LTA0LTIzIGF0IDA5IDI3IDE3IiBzcmM9Imh0dHBzOi8vZ2lzdC5naXRo dWIuY29tL2Fzc2V0cy8zMTg2OS83MGU4MWZhNS03N2IyLTQ2OWEtODk0NS04OGJmOGY4ZmVmZTki Pg0KDQpUaGlzIGRyb3BzIHNsaWdodGx5IHRvIGFuIGEgfjElIHJlZHVjdGlvbiBpbiBhdmVyYWdl IHJlc3BvbnNlIHRpbWVzIHdoZW4gY29tcGFyZWQNCmFnYWluc3Qgb3VyIG5vcm1hbCBPT0JHQyBh cHByb2FjaCAgKH42JSBwOTksIH4yJSBwOTkuOSBhbmQgfjMlIHA5OS45OSkuDQoNCjxpbWcgd2lk dGg9IjEwMDAiIGFsdD0iU2NyZWVuc2hvdCAyMDI0LTA0LTIzIGF0IDA5IDI3IDI5IiBzcmM9Imh0 dHBzOi8vZ2lzdC5naXRodWIuY29tL2Fzc2V0cy8zMTg2OS9jYmFhMzgwNy0wY2QxLTRkYmEtYTVl Ni1iOWRmOTEwMjRkNzMiPg0KDQoNCkVESVQ6IHRvIGNvcnJlY3QgYSBmb3JtdWxhIGVycm9yIGlu IHRoZSBvcmlnaW5hbCBBdmVyYWdlIGNoYXJ0cywgbnVtYmVycyB1cGRhdGVkLiANCg0KLS0tRmls ZXMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KQ2FwdHVyZSBk4oCZZcyBY3JhbiAy MDI0LTA0LTIyIGHMgCAxOC40MS41Mi5wbmcgKDI3OSBLQikNCg0KDQotLSANCmh0dHBzOi8vYnVn cy5ydWJ5LWxhbmcub3JnLw0KIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1YnktbGFu Zy5vcmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxlYXZlQG1s LnJ1YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1sYW5nLm9y Zy9tYWlsbWFuMy9saXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8=