انتشار الثوابت الشرطية المتفرقة
في علوم الحاسوب ، يُعدّ نشر الثوابت الشرطية المتفرقة (SCCP) أسلوبًا تحسينيًا يُستخدم بكثرة في المترجمات بعد التحويل إلى صيغة التعيين الفردي الثابت (SSA). يقوم هذا الأسلوب بنشر الثوابت ، أي حساب القيم الثابتة التي يمكن حسابها أثناء الترجمة. علاوة على ذلك، يُمكنه إيجاد عدد أكبر من قيم الثوابت، وبالتالي فرصًا أكبر للتحسين، مقارنةً بتطبيق حذف التعليمات البرمجية غير المستخدمة ونشر الثوابت بشكل منفصل ، بأي ترتيب أو عدد من التكرارات. [ 1 ] [ 2 ]
تعمل الخوارزمية من خلال تفسير مجرد للكود بصيغة SSA. أثناء التفسير المجرد، تستخدم عادةً شبكة مسطحة من الثوابت للقيم وبيئة عامة تربط متغيرات SSA بالقيم في هذه الشبكة. يكمن جوهر الخوارزمية في كيفية تعاملها مع تفسير تعليمات التفرع . عند مصادفة شرط التفرع، يتم تقييمه على النحو الأمثل بناءً على دقة القيم المجردة المرتبطة بالمتغيرات في الشرط. قد تكون القيم دقيقة تمامًا (لا هي القيمة العليا ولا الدنيا)، وبالتالي، يمكن للتنفيذ المجرد تحديد اتجاه التفرع. أما إذا لم تكن القيم ثابتة، أو كان أحد المتغيرات في الشرط غير مُعرَّف، فيجب اتخاذ كلا اتجاهي التفرع للحفاظ على سلامة العملية.
بعد الانتهاء من التفسير المجرد، تُصنّف التعليمات التي لم يتم الوصول إليها على أنها تعليمات برمجية غير مستخدمة. ويمكن بعد ذلك تضمين متغيرات SSA التي وُجد أنها ذات قيم ثابتة في (نشرها إلى) نقطة استخدامها.
ملحوظات
- ↑ ويغمان، مارك ن. وزاديك، ف. كينيث. " نشر الثوابت مع الفروع الشرطية ". معاملات ACM في لغات البرمجة والأنظمة ، 13(2)، أبريل 1991، الصفحات 181-210.
- ↑ كليك، كليفورد وكوبر، كيث. " دمج التحليلات، دمج التحسينات "، معاملات ACM في لغات البرمجة والأنظمة ، 17(2)، مارس 1995، الصفحات 181-196
مراجع
- كوبر، كيث د. وتوركزون، ليندا. هندسة المترجم . مورغان كوفمان. 2005.
- تحسينات المُترجم
