7 أكتوبر 2026 — rat هو وظيفة خلفية مُصغّر للمُترجم تحتوي على واجهة C99 شبه مُعملة، وتستخدم مُنتج كود x86-64 الذي يُخرِج التسجيلات الافتراضية (vregs) إلى تسجيلات فيزيائية أو فتحات في المخزون. نموذج التسجيلات الخطّي القديم نمو إلى 1392 سطراً، مما دفع إلى كتابة مُرتبّب التس registrations ب优先级 في 584 سطراً فقط. يُ_visit هذا المُرتبّب النطاقات الحية حسب الأهمية ويضع كل واحد في أول تسجيل مناسب، يشبه مُرتبّب Greedy في LLVM لكنه أبسط. القيمة حية من كتابتها إلى آخر قراءتها؛ مُشتركان في تسجيل واحد فقط عند عدم تزامنهما. عند تزامن قيم كثيرة، تُ spill بعضها إلى ال memory. يُطلب الحفاظ على تسجيلات المُستدعي (rbx rbp r12-r15) بينما قد تُغطَّى تسجيلات المُستدعي. كما يُظهر، الدالة h تُحافظ على y عبر مكالمة بدون منطق مُ expressly ل placing callee-saved. يُشغّل المُرتبّب خمسة خطوات: النطاقات الحية، التسجيلات الثابتة، Coalescing،اختيار التسجيلات، وال spill. يُحتفظ كل bundle ب sac recording أو فتحة المخزون طوال حياته، لا يُ expel أو يُ片段 النطاقات.
المصدر: Hacker News · لخّصه HeadlinesBriefing