[ruby-core:118569] [Ruby master Misc#20630] Potential optimizations for `NODE_CONST` compilation
From:
"zack.ref@... (Zack Deveau) via ruby-core" <ruby-core@...>
Date:
2024-07-11 22:21:55 UTC
List:
ruby-core #118569
SXNzdWUgIzIwNjMwIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHphY2sucmVmQGdtYWlsLmNvbSAoWmFj ayBEZXZlYXUpLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpN aXNjICMyMDYzMDogUG90ZW50aWFsIG9wdGltaXphdGlvbnMgZm9yIGBOT0RFX0NPTlNUYCBjb21w aWxhdGlvbg0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIwNjMwDQoNCiogQXV0 aG9yOiB6YWNrLnJlZkBnbWFpbC5jb20gKFphY2sgRGV2ZWF1KQ0KKiBTdGF0dXM6IE9wZW4NCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMjIyBEZXNjcmlwdGlvbg0K DQpJIHdvdWxkIGxpa2UgdG8gcHJvcG9zZSB0d28gcG90ZW50aWFsIG9wdGltaXphdGlvbnMgdG8g dGhlIHdheSB3ZSBjdXJyZW50bHkgY29tcGlsZSBgTk9ERV9DT05TVGAgbm9kZXMgaW4gYGNvbXBp bGUuY2AuIEkndmUgaW5jbHVkZWQgY29tbWl0cyBmb3IgZWFjaCBvbiBhIHJlbGF0ZWQgUFIuDQoN Ci0gUFI6IGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC8xMTE1NA0KLSBgTk9ERV9D T05TVGAgY29tcGlsYXRpb246IFs5YjZkNjEzXShodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5 L2NvbW1pdC85YjZkNjEzZTE5YzExMzJhY2U2NDU4M2FjMjNjOTRmY2JjNzdmMWRmKQ0KLSBgb3B0 X2dldGNvbnN0YW50X3BhdGhgIHBlZXBob2xlIG9wdGltaXphdGlvbjogW2I4ZWNlOGNdKGh0dHBz Oi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvY29tbWl0L2I4ZWNlOGNhNmUyZDYwY2I3YzYyNzkyN2Fh ODljMWU4OTgwYWQwZWIpDQoNClRoZXNlIGNvbW1pdHMgcGFzcyBgdGVzdC1hbGxgIGxvY2FsbHku DQoNCiMjIyBgTk9ERV9DT05TVGAgQ29tcGlsYXRpb24NCg0KRnJvbSB3aGF0IEkgY2FuIHRlbGwg YE5PREVfQ09OU1RgIGRvZXNuJ3QgYXBwZWFyIHRvIGZvbGxvdyB0aGUgY29udmVudGlvbmFsIHVz ZSBvZiBgcG9wcGVkYCBmb3VuZCBpbiBvdGhlciBzaW1pbGFyIG5vZGVzLiBGb3IgZXhhbXBsZSBg Tk9ERV9JVkFSYCwgd2hlbiBgcG9wcGVkYCAocmV0dXJuIHZhbHVlIG5vdCB1c2VkKSwgd2lsbCBh dm9pZCBhZGRpbmcgdGhlIFlBUlYgaW5zdHJ1Y3Rpb24gYWx0b2dldGhlcjoNCmBgYEMNCiAgICAg IGNhc2UgTk9ERV9JVkFSOnsNCiAgICAgICAgZGVidWdpKCJuZF92aWQiLCBSTk9ERV9JVkFSKG5v ZGUpLT5uZF92aWQpOw0KICAgICAgICBpZiAoIXBvcHBlZCkgew0KICAgICAgICAgICAgQUREX0lO U04yKHJldCwgbm9kZSwgZ2V0aW5zdGFuY2V2YXJpYWJsZSwNCiAgICAgICAgICAgICAgICAgICAg ICBJRDJTWU0oUk5PREVfSVZBUihub2RlKS0+bmRfdmlkKSwNCiAgICAgICAgICAgICAgICAgICAg ICBnZXRfaXZhcl9pY192YWx1ZShpc2VxLCBSTk9ERV9JVkFSKG5vZGUpLT5uZF92aWQpKTsNCiAg ICAgICAgfQ0KICAgICAgICBicmVhazsNCiAgICAgIH0NCg0KYGBgDQoNCldoZW4gY29tcGlsaW5n IGEgYE5PREVfQ09OU1RgIHRoYXQgaXMgYHBvcHBlZGAsIHdlIGluc3RlYWQgYWRkIGVpdGhlciBg Z2V0X2NvbnN0YW50YCBvciB0aGUgb3B0aW1pemVkIGBvcHRfZ2V0Y29uc3RhbnRfcGF0aGAgaW5z dHJ1Y3Rpb24sIGZvbGxvd2VkIGJ5IGFkZGluZyBhIGBwb3BgLg0KDQpJJ3ZlIG1vZGlmaWVkIGl0 IHRvIGZvbGxvdyB0aGUgY29udmVudGlvbiBmb3VuZCBlbHNld2hlcmUgdG8gYXZvaWQgYWRkaW5n IGVpdGhlciBpbnN0cnVjdGlvbihzKSBpbiBjYXNlcyB3aGVyZSB3ZSBkb24ndCBuZWVkIHRoZSBy ZXR1cm4gdmFsdWUuIGB0ZXN0LWFsbGAgcGFzc2VzIGxvY2FsbHkgYW5kIEkgY2FuJ3QgdGhpbmsg b2YgbWVhbmluZ2Z1bCBzaWRlIGVmZmVjdHMgKG90aGVyIHRoYW4gd2UgYXZvaWQgZXhlcmNpc2lu ZyB0aGUgY2FjaGUpLiBQbGVhc2UgbGV0IG1lIGtub3cgaWYgSSdtIG1pc3NpbmcgYW55IQ0KDQoj IyMgYG9wdF9nZXRjb25zdGFudF9wYXRoYCBwZWVwaG9sZSBvcHRpbWl6YXRpb24NCg0KYGlzZXFf cGVlcGhvbGVfb3B0aW1pemVgIGluY2x1ZGVzIGFuIG9wdGltaXphdGlvbiBmb3IgYGluc24gLT4g cG9wYCBzZXF1ZW5jZXMuIE1vc3Qgb2YgdGhlIGBnZXRfeGAgaW5zdHJ1Y3Rpb25zIGFyZSBpbmNs dWRlZCBidXQgd2UgZG9uJ3QgYXBwZWFyIHRvIGluY2x1ZGUgYG9wdF9nZXRjb25zdGFudF9wYXRo YC4gKHBvdGVudGlhbGx5IHNpbmNlIGl0IHdhcyBvbmx5IHJlY2VudGx5IGFkZGVkIGluIDIwMjIg YnkgQGpoYXd0aG9ybiA/KQ0KDQpJJ3ZlIGluY2x1ZGVkIGl0IGFuZCBhdHRlbXB0ZWQgdG8gYWNj b3VudCBmb3IgYW55IG1lYW5pbmdmdWwgc2lkZSBlZmZlY3RzIChoZXJlIGFnYWluIEkgY2FuJ3Qg dGhpbmsgb2YgYW55IG90aGVyIHRoYW4gd2UgYXZvaWQgZXhlcmNpc2luZyB0aGUgY2FjaGUpLiBQ bGVhc2UgbGV0IG1lIGtub3cgaWYgSSBtaXNzZWQgYW55Lg0KDQoNCiMjIyBSZXN1bHRzDQoNCmB0 ZXN0LnJiYA0KYGBgUnVieQ0KTkVUU0NBUEUgPSAibmF2aWdhdG9yIg0KW05FVFNDQVBFLCBORVRT Q0FQRSwgTkVUU0NBUEUsIE5FVFNDQVBFXQ0KMQ0KYGBgDQoNCmBydWJ5IDMuNC4wZGV2ICgyMDI0 LTA3LTExVDE5OjQ5OjE0WiBtYXN0ZXIgNmZjODMxMThiYikgW2FybTY0LWRhcndpbjIzXWANCmBg YA0K8J+SviDinpwgICBydWJ5IC0tZHVtcCBpbnNuIC4vdGVzdC5yYg0KPT0gZGlzYXNtOiAjPElT ZXE6PG1haW4+QC4vdGVzdC5yYjoxICgxLDApLSgzLDEpPg0KMDAwMCBwdXRjaGlsbGVkc3RyaW5n ICAgICAgICAgICAgICAgICAgICAgICAibmF2aWdhdG9yIiAgICAgICAgICAgICAgICggICAxKVtM aV0NCjAwMDIgcHV0c3BlY2lhbG9iamVjdCAgICAgICAgICAgICAgICAgICAgICAgMw0KMDAwNCBz ZXRjb25zdGFudCAgICAgICAgICAgICAgICAgICAgICAgICAgICA6TkVUU0NBUEUNCjAwMDYgb3B0 X2dldGNvbnN0YW50X3BhdGggICAgICAgICAgICAgICAgICAgPGljOjAgTkVUU0NBUEU+ICAgICAg ICAgICAoICAgMilbTGldDQowMDA4IHBvcA0KMDAwOSBvcHRfZ2V0Y29uc3RhbnRfcGF0aCAgICAg ICAgICAgICAgICAgICA8aWM6MSBORVRTQ0FQRT4NCjAwMTEgcG9wDQowMDEyIG9wdF9nZXRjb25z dGFudF9wYXRoICAgICAgICAgICAgICAgICAgIDxpYzoyIE5FVFNDQVBFPg0KMDAxNCBwb3ANCjAw MTUgb3B0X2dldGNvbnN0YW50X3BhdGggICAgICAgICAgICAgICAgICAgPGljOjMgTkVUU0NBUEU+ DQowMDE3IHBvcA0KMDAxOCBwdXRvYmplY3RfSU5UMkZJWF8xXyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICggICAzKVtMaV0NCjAwMTkgbGVhdmUNCmBgYA0KDQoN CmB3aXRoIG9wdGltaXphdGlvbnNgDQpgYGANCvCfkr4g4p6cICAgLi9idWlsZC9taW5pcnVieSAt LWR1bXAgaW5zbiAuL3Rlc3QucmINCj09IGRpc2FzbTogIzxJU2VxOjxtYWluPkAuL3Rlc3QucmI6 MSAoMSwwKS0oMywxKT4NCjAwMDAgcHV0Y2hpbGxlZHN0cmluZyAgICAgICAgICAgICAgICAgICAg ICAgIm5hdmlnYXRvciIgICAgICAgICAgICAgICAoICAgMSlbTGldDQowMDAyIHB1dHNwZWNpYWxv YmplY3QgICAgICAgICAgICAgICAgICAgICAgIDMNCjAwMDQgc2V0Y29uc3RhbnQgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOk5FVFNDQVBFDQowMDA2IHB1dG9iamVjdF9JTlQyRklYXzFfICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCAgIDMpW0xpXQ0KMDAw NyBsZWF2ZQ0KYGBgDQoNCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQog X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogcnVieS1jb3Jl IG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3Jp YmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVi eS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL2xpc3RzL3J1 YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==