[ruby-core:117700] [Ruby master Feature#20443] Allow Major GC's to be disabled
From:
"byroot (Jean Boussier) via ruby-core" <ruby-core@...>
Date:
2024-04-25 06:15:39 UTC
List:
ruby-core #117700
SXNzdWUgIzIwNDQzIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYnlyb290IChKZWFuIEJvdXNzaWVyKS4N Cg0KDQo+IHdoYXQgaGFwcGVucyBvbiBvbGRnZW4tPnlvdW5nZ2VuIHJlZmVyZW5jZXM/IHBvaW50 cyBmcm9tIHRoZSByZW1lbWJlcnMgc2V0Pw0KDQpZZXMuDQoNCj4gSSB0aGluayB3ZSBjYW4gcHJv bW90ZSB0aGlzIGNhc2UgYmVjYXVzZSBpdCBtYWtlcyBtaW5vciBnYyBmYXN0ZXIgKHRoZSBwcm9t b3RlZCBvYmplY3RzIGNhbiBub3QgYmUgZnJlZWQgdW50aWwgbWFqb3IgZ2MsIHNvIHRoZSBudW1i ZXIgb2YgbGl2aW5nIG9iamVjdHMgaXMgc2FtZSkuDQoNCkkgdW5kZXJzdGFuZCB5b3VyIHBvaW50 LCBidXQgSSBmZWFyIGl0IGNvdWxkIGJlIGNvdW50ZXItcHJvZHVjdGl2ZS4gV2Ugc3BlY2lmaWNh bGx5IHN0b3BwZWQgZG9pbmcgdGhhdCBpbiBbRmVhdHVyZSAjMTk2NzhdIGJlY2F1c2UgdGhlcmUg aXMgbWFueSBwYXR0ZXJucyBpbiBjb21tb24gUnVieSBjb2RlIGJhc2VzIHRoYXQgYXJlIGNhdXNp bmcgcHJvbW90aW9uLg0KDQpJJ2QgcmF0aGVyIHJ1biAqKm1pbm9yIEdDKiogb3V0IG9mIGJhbmQg ZnJlcXVlbnRseSwgYW5kICoqbWFqb3IgR0MqKiBvdXQgb2YgYmFuZCB2ZXJ5IHJhcmVseSwgYmVj YXVzZSB0aGUgcmF0aW8gb2YgZWZmZWN0aXZlbHkgcGVybWFuZW50IG9iamVjdHMgdG8gZXBoZW1l cmFsIG9uZXMgdGVuZCB0byBiZSBsYXJnZSBpbiBsb25nIHJ1bm5pbmcgYXBwbGljYXRpb25zLg0K DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJlICMyMDQ0 MzogQWxsb3cgTWFqb3IgR0MncyB0byBiZSBkaXNhYmxlZA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFu Zy5vcmcvaXNzdWVzLzIwNDQzI2NoYW5nZS0xMDgxMTANCg0KKiBBdXRob3I6IGVpZ2h0Yml0cmFw dG9yIChNYXR0aGV3IFZhbGVudGluZS1Ib3VzZSkNCiogU3RhdHVzOiBPcGVuDQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpbW0dpdGh1YiBQUiAjMTA1OThdXShodHRw czovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L3B1bGwvMTA1OTgpDQoNCiMjIEJhY2tncm91bmQNCg0K UnVieSdzIEdDIHJ1bm5pbmcgZHVyaW5nIFJhaWxzIHJlcXVlc3RzIGNhbiBoYXZlIG5lZ2F0aXZl IGltcGFjdHMgb24gY3VycmVudGx5DQpydW5uaW5nIHJlcXVlc3RzLCBjYXVzaW5nIGFwcGxpY2F0 aW9ucyB0byBoYXZlIGhpZ2ggdGFpbC1sYXRlbmN5Lg0KDQpBIHRlY2huaXF1ZSB0byBtaXRpZ2F0 ZSB0aGlzIGhpZ2ggdGFpbC1sYXRlbmN5IGlzIE91dC1vZi1iYW5kIEdDIChPT0JHQykuIFRoaXMN CmlzIGJhc2ljYWxseSB3aGVyZSB0aGUgYXBwbGljYXRpb24gaXMgcnVuIHdpdGggR0MgZGlzYWJs ZWQsIGFuZCB0aGVuIEdDIGlzDQpleHBsaWNpdGx5IHN0YXJ0ZWQgYWZ0ZXIgZWFjaCByZXF1ZXN0 LCBvciB3aGVuIG5vIHJlcXVlc3RzIGFyZSBpbiBwcm9ncmVzcy4NCg0KVGhpcyBjYW4gcmVkdWNl IHRoZSB0YWlsIGxhdGVuY3ksIGJ1dCBhbHNvIGludHJvZHVjZXMgcHJvYmxlbXMgb2YgaXRzIG93 bi4gTG9uZw0KR0MgcGF1c2VzIGFmdGVyIGVhY2ggcmVxdWVzdCByZWR1Y2UgdGhyb3VnaHB1dC4g VGhpcyBpcyBtb3JlIHByb25vdW5jZWQgb24NCnRocmVhZGluZyBzZXJ2ZXJzIGxpa2UgUHVtYSBi ZWNhdXNlIGFsbCB0aGUgdGhyZWFkcyBoYXZlIHRvIGZpbmlzaCBwcm9jZXNzaW5nDQp1c2VyIHJl cXVlc3RzIGFuZCBiZSAicGF1c2VkIiBiZWZvcmUgT09CR0MgY2FuIGJlIHRyaWdnZXJlZC4NCg0K VGhpcyB0aHJvdWdocHV0IGRlY3JlYXNlIGhhcHBlbnMgZm9yIGEgY291cGxlIG9mIHJlYXNvbnM6 DQoNCjEuIFRoZXJlIGFyZSBmZXcgaGV1cmlzdGljcyBhdmFpbGFibGUgZm9yIHVzZXJzIHRvIGRl dGVybWluZSB3aGVuIEdDIHNob3VsZCBydW4sDQp0aGlzIG1lYW5zIHRoYXQgaW4gT09CR0Mgc2Nl bmFyaW9zLCBpdCdzIHBvc3NpYmxlIHRoYXQgbWFqb3IgR0MncyBhcmUgYmVpbmcgcnVuDQptb3Jl IHRoYW4gbmVjZXNzYXJ5LiAgMi4gVGhlIGxhY2sgb2YgYW55IEdDIGR1cmluZyBhIHJlcXVlc3Qg bWVhbnMgdGhhdCBsb3RzIG9mDQpnYXJiYWdlIG9iamVjdHMgaGF2ZSBiZWVuIGNyZWF0ZWQgYW5k IG5vdCBjbGVhbmVkIHVwLCBzbyB0aGUgcHJvY2VzcyBpcyB1c2luZw0KbW9yZSBtZW1vcnkgdGhh biBpdCBzaG91bGQgLSByZXF1aXJpbmcgbWFqb3IgR0MncyBydW4gYXMgcGFydCBvZiBPT0JHQyB0 byBkbw0KbW9yZSB3b3JrIGFuZCB0aGVyZWZvcmUgdGFrZSBtb3JlIHRpbWUuDQoNClRoaXMgdGlj a2V0IGF0dGVtcHRzIHRvIGFkZHJlc3MgdGhlc2UgaXNzdWVzIGJ5Og0KDQoxLiBQcm92aWRlIGBH Qy5kaXNhYmxlX21ham9yYCBhbmQgaXRzIGFudG9ueW0gYEdDLmVuYWJsZV9tYWpvcmAgdG8gZGlz YWJsZSBhbmQNCmVuYWJsZSBvbmx5IG1ham9yIEdDIDIuIFByb3ZpZGUgYEdDLm5lZWRzX21ham9y P2AgYXMgYSBiYXNpYyBoZXVyaXN0aWMgYWxsb3dpbmcNCnVzZXJzIHRvIHRlbGwgd2hlbiBSdWJ5 IHNob3VsZCBydW4gYSBNYWpvciBHQy4NCg0KVGhlc2UgaWRlYXMgd2VyZSBvcmlnaW5hbGx5IHBy b3Bvc2VkIGJ5IEBrbzEgYW5kIEBieXJvb3QgaW4gW3RoaXMgcmFpbHMNCmlzc3VlXShodHRwczov L2dpdGh1Yi5jb20vcmFpbHMvcmFpbHMvaXNzdWVzLzUwNDQ5KQ0KDQpEaXNhYmxpbmcgR0MgbWFq b3IncyB3b3VsZCBzdGlsbCBhbGxvdyBtaW5vciBHQydzIHRvIHJ1biBkdXJpbmcgdGhlIHJlcXVl c3QsDQphdm9pZGluZyB0aGUgYmFsbG9vbmluZyBtZW1vcnkgdXNhZ2UgY2F1c2VkIGJ5IG5vdCBy dW5uaW5nIEdDIGF0IGFsbCwgYW5kDQpyZWR1Y2luZyB0aGUgdGltZSB0aGF0IGEgbWFqb3IgdGFr ZXMgd2hlbiB3ZSBkbyBydW4gaXQsIGJlY2F1c2UgdGhlIG51cnNlcnkNCm9iamVjdHMgaGF2ZSBi ZWVuIGNsZWFuZWQgdXAgZHVyaW5nIHRoZSByZXF1ZXN0IGFscmVhZHkgc28gdGhlcmUgaXMgbGVz cyB3b3JrDQpmb3IgYSBtYWpvciBHQyB0byBkby4NCg0KVGhpcyBjYW4gYmUgdXNlZCBpbiBjb21i aW5hdGlvbiB3aXRoIGBHQy5uZWVkc19tYWpvcj9gIHRvIHNlbGVjdGl2ZWx5IHJ1biBhbg0KT09C R0Mgb25seSB3aGVuIG5lY2Vzc2FyeQ0KDQojIyBJbXBsZW1lbnRhdGlvbg0KDQpUaGlzIFBSIGFk ZHMgMyBuZXcgbWV0aG9kcyB0byB0aGUgYEdDYCBtb2R1bGUNCg0KLSBgR0MuZGlzYWJsZV9tYWpv cmAgVGhpcyBwcmV2ZW50cyBtYWpvciBHQydzIGZyb20gcnVubmluZyBhdXRvbWF0aWNhbGx5LiBJ dA0KICBkb2VzIG5vdCByZXN0cmljdCBtaW5vcnMuIFdoZW4gYG9ianNwYWNlLT5yZ2VuZ2MubmVl ZF9tYWpvcl9nY2AgaXMgc2V0IGFuZCBhDQogIEdDIGlzIHJ1biwgaW5zdGVhZCBvZiBydW5uaW5n IGEgbWFqb3IsIG5ldyBoZWFwIHBhZ2VzIHdpbGwgYmUgYWxsb2NhdGVkIGFuZCBhDQogIG1pbm9y IHJ1biBpbnN0ZWFkLiBgb2Jqc3BhY2UtPnJnZW5nYy5uZWVkX21ham9yX2djYCB3aWxsIHJlbWFp biBzZXQgdW50aWwgYQ0KICBtYWpvciBpcyBtYW51YWxseSBydW4uIElmIGEgbWFqb3IgaXMgbm90 IG1hbnVhbGx5IHJ1biB0aGVuIHRoZSBwcm9jZXNzIHdpbGwNCiAgZXZlbnR1YWxseSBydW4gb3V0 IG9mIG1lbW9yeS4NCiAgDQogIFdoZW4gbWFqb3IgR0MncyBhcmUgZGlzYWJsZWQsIG9iamVjdCBw cm9tb3Rpb24gaXMgZGlzYWJsZWQuIFRoYXQgaXMsIG5vDQogIG9iamVjdHMgd2lsbCBpbmNyZW1l bnQgdGhlaXIgYWdlcyBkdXJpbmcgYSBtaW5vciBHQy4gVGhpcyBpcyB0byBhdHRlbXB0IHRvDQog IG1pbmltaXNlIGhlYXAgZ3Jvd3RoIGR1cmluZyB0aGUgcGVyaW9kIGJldHdlZW4gbWFqb3IgR0Mn cywgYnkgcmVzdHJpY3RpbmcgdGhlDQogIG51bWJlciBvZiBvbGQtZ2VuIG9iamVjdHMgdGhhdCB3 aWxsIHJlbWFpbiB1bmNvbnNpZGVyZWQgYnkgdGhlIEdDIHVudGlsIHRoZQ0KICBuZXh0IG1ham9y Lg0KICANCiAgV2hlbiBgR0Muc3RhcnRgIGlzIHJ1biwgdGhlbiBtYWpvciBHQydzIHdpbGwgYmUg ZW5hYmxlZCwgYSBHQyB0cmlnZ2VyZWQgd2l0aA0KICB0aGUgb3B0aW9ucyBwYXNzZWQgdG8gYEdD LnN0YXJ0YCwgYW5kIHRoZW4gYGRpc2FibGVfbWFqb3JgIHdpbGwgYmUgc2V0IHRvIHRoZQ0KICBz dGF0ZSBpdCB3YXMgaW4gYmVmb3JlIGBHQy5zdGFydGAgd2FzIGNhbGxlZC4NCiAgDQotIGBHQy5l bmFibGVfbWFqb3JgIFRoaXMgc2ltcGx5IHVuc2V0cyB0aGUgYml0IHByZXZlbnRpbmcgbWFqb3Ig R0Mncy4gVGhpcyB3aWxsDQogIHJldmVydCB0aGUgR0MgdG8gbm9ybWFsIGdlbmVyYXRpb25hbCBi ZWhhdmlvdXIuIEV2ZXJ5dGhpbmcgYmVoYXZlcyBhcyBkZWZhdWx0DQogIGFnYWluLg0KDQotIGBH Qy5uZWVkc19tYWpvcj9gIFRoaXMgZXhwb3NlcyB0aGUgdmFsdWUgb2YgYG9ianNwYWNlLT5yZ2Vu Z2MubmVlZF9tYWpvcl9nY2ANCiAgdG8gdGhlIHVzZXIgbGV2ZWwgQVBJLiBUaGlzIGlzIGFscmVh ZHkgZXhwb3NlZCBpbg0KICBgR0MubGF0ZXN0X2djX2luZm9bOm5lZWRfbWFqb3JfYnldYCBidXQg SSBmZWx0IHRoYXQgYSBzaW1wbGVyIGludGVyZmFjZSB3b3VsZA0KICBtYWtlIHRoaXMgZWFzaWVy IHRvIHVzZSBhbmQgcmVzdWx0IGluIG1vcmUgcmVhZGFibGUgY29kZS4gZWcuDQogIA0KYGBgDQpv dXRfb2ZfYmFuZCBkbyANCiAgR0Muc3RhcnQgaWYgR0MubmVlZHNfbWFqb3I/ICANCmVuZCANCmBg YA0KDQpCZWNhdXNlIG9iamVjdCBhZ2luZyBpcyBkaXNhYmxlZCB3aGVuIG1ham9ycyBhcmUgZGlz YWJsZWQgaXQgaXMgcmVjb21tZW5kZWQgdG8NCnVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGgg YFByb2Nlc3Mud2FybXVwYCwgd2hpY2ggd2lsbCBwcmVwYXJlIHRoZSBoZWFwIGJ5DQpydW5uaW5n IGEgbWFqb3IgR0MsIGNvbXBhY3RpbmcgdGhlIGhlYXAsIGFuZCBwcm9tb3RpbmcgZXZlcnkgcmVt YWluaW5nIG9iamVjdCB0bw0Kb2xkLWdlbi4gVGhpcyBlbnN1cmVzIHRoYXQgbWlub3IgR0MncyBh cmUgcnVubmluZyBvdmVyIHRoZSBzbWFsbGV0cyBwb3NzaWJsZSBzZXQNCm9mIHlvdW5nIG9iamVj dHMgd2hlbiBgR0MuZGlzYWJsZV9tYWpvcmAgaXMgdHJ1ZS4NCg0KIyMgQmVuY2htYXJrcw0KDQpX ZSByYW4gc29tZSB0ZXN0cyBpbiBwcm9kdWN0aW9uIG9uIFNob3BpZnkncyBjb3JlIG1vbm9saXRo IG92ZXIgYSB3ZWVrZW5kIGFuZA0KZm91bmQgdGhhdDoNCg0KKipNZWFuIHRpbWUgc3BlbnQgaW4g R0MsIGFzIHdlbGwgYXMgcDk5LjkgYW5kIHA5OS45OSBHQyB0aW1lcyBhcmUgYWxsDQppbXByb3Zl ZC4qKiANCg0KPGltZyB3aWR0aD0iMTAwMCIgYWx0PSJTY3JlZW5zaG90IDIwMjQtMDQtMjIgYXQg MTYgNDEgNDkiDQpzcmM9Imh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvYXNzZXRzLzMxODY5 LzZjZmY1YjExLTJlMjEtNDBjMS1iYjg0LWQ5OTRlMGUxNzk4ZCI+DQoNCioqcDk5IEdDIHRpbWUg aXMgc2xpZ2h0bHkgaGlnaGVyLioqIA0KDQo8aW1nIHdpZHRoPSIxMDAwIiBhbHQ9IlNjcmVlbnNo b3QgMjAyNC0wNC0yMiBhdCAxNiA0NCA1NSINCnNyYz0iaHR0cHM6Ly9naXRodWIuY29tL3J1Ynkv cnVieS9hc3NldHMvMzE4NjkvZGM2NDVjYmUtOTQ5NS00NmYwLTg0ODUtMjRlNzkwYzQyZjMyIj4N Cg0KV2UncmUgcnVubmluZyBmYXIgZmV3ZXIgT09CR0MgbWFqb3IgR0MncyBub3cgdGhhdCB3ZSBo YXZlIGBHQy5uZWVkc19tYWpvcj9gIHRoYW4NCndlIHdlcmUgYmVmb3JlLCBhbmQgd2UgYmVsaWV2 ZSB0aGF0IHRoaXMgaXMgY29udHJpYnV0aW5nIHRvIGEgc2xpZ2h0bHkgaW5jcmVhc2VkDQpudW1i ZXIgb2YgbWlub3IgR0Mncy4gcmFpc2luZyB0aGUgcDk5IHNsaWdodGx5Lg0KDQoqKkFwcCByZXNw b25zZSB0aW1lcyBhcmUgYWxsIGltcHJvdmVkKioNCg0KV2Ugc2VlIGEgfjIlIHJlZHVjdGlvbiBp biBhdmVyYWdlIHJlc3BvbnNlIHRpbWVzIHdoZW4gY29tcGFyZWQgYWdhaW5zdHN0YW5kYXJkIEdD IA0KKH43JSBwOTksIH4zJSBwOTkuOSBhbmQgfjQlIHA5OS45OSkuDQoNCjxpbWcgd2lkdGg9IjEw MDAiIGFsdD0iU2NyZWVuc2hvdCAyMDI0LTA0LTIzIGF0IDA5IDI3IDE3IiBzcmM9Imh0dHBzOi8v Z2lzdC5naXRodWIuY29tL2Fzc2V0cy8zMTg2OS83MGU4MWZhNS03N2IyLTQ2OWEtODk0NS04OGJm OGY4ZmVmZTkiPg0KDQpUaGlzIGRyb3BzIHNsaWdodGx5IHRvIGFuIGEgfjElIHJlZHVjdGlvbiBp biBhdmVyYWdlIHJlc3BvbnNlIHRpbWVzIHdoZW4gY29tcGFyZWQNCmFnYWluc3Qgb3VyIG5vcm1h bCBPT0JHQyBhcHByb2FjaCAgKH42JSBwOTksIH4yJSBwOTkuOSBhbmQgfjMlIHA5OS45OSkuDQoN CjxpbWcgd2lkdGg9IjEwMDAiIGFsdD0iU2NyZWVuc2hvdCAyMDI0LTA0LTIzIGF0IDA5IDI3IDI5 IiBzcmM9Imh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2Fzc2V0cy8zMTg2OS9jYmFhMzgwNy0wY2Qx LTRkYmEtYTVlNi1iOWRmOTEwMjRkNzMiPg0KDQoNCkVESVQ6IHRvIGNvcnJlY3QgYSBmb3JtdWxh IGVycm9yIGluIHRoZSBvcmlnaW5hbCBBdmVyYWdlIGNoYXJ0cywgbnVtYmVycyB1cGRhdGVkLiAN Cg0KLS0tRmlsZXMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KQ2FwdHVyZSBk4oCZ ZcyBY3JhbiAyMDI0LTA0LTIyIGHMgCAxOC40MS41Mi5wbmcgKDI3OSBLQikNCg0KDQotLSANCmh0 dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0KIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1s LnJ1YnktbGFuZy5vcmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3Jl LWxlYXZlQG1sLnJ1YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVi eS1sYW5nLm9yZy9tYWlsbWFuMy9wb3N0b3JpdXMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1YnktbGFu Zy5vcmcv