وفقًا لهذه المشكلة التي قمت بإنشائها (https://github.com/dotnet/coreclr/issues/17294) ، فإن إنشاء واجهة خلفية جديدة لهندسة معمارية جديدة يعد مهمة معقدة ، فلماذا لا تنشئ واجهة خلفية جديدة تدعم العديد من البنى؟
نفذت Mono خلفية LLVM .
أقول هذا لأن بنية Power و s390x تعود بكثافة نسبية ...
قبل بضع سنوات عملنا على مولد أكواد LLVM لـ .Net: LLILC . واجهنا عددًا من المشكلات التي بدت أنه سيكون من الصعب معالجتها: دعم GC الدقيق ، والدعم الكامل لنموذج استثناء .Net ، والإنتاجية المنخفضة. يمكنك قراءة بعض التفاصيل هنا: LLILC في ستة أشهر .
يستخدم Mono عبر LLVM GC محافظًا (على الأقل في بعض الحالات) لا يتعامل مع النطاق الكامل لسلوكيات الاستثناء. هذا مقبول لأهداف تطبيق Mono ، لكنه ليس عامًا بما يكفي لأغراضنا.
قد يظل LLILC مثيرًا للاهتمام باعتباره طائرة من الدرجة الأولى (يومًا ما) أو كمركبة إحضار للحصول على كودجين أساسي يعمل على بنية جديدة.
مرحبًاAndyAyersMS
لقد أصلحت مشكلة إنشاء بسيطة لـ LLILC https://github.com/dotnet/llilc/issues/1097
يرجى مراجعته.
شكر،
ليزلي تشاي
سأغلق هذا الموضوع ، حيث تمت الإجابة على السؤال.
التعليق الأكثر فائدة
قبل بضع سنوات عملنا على مولد أكواد LLVM لـ .Net: LLILC . واجهنا عددًا من المشكلات التي بدت أنه سيكون من الصعب معالجتها: دعم GC الدقيق ، والدعم الكامل لنموذج استثناء .Net ، والإنتاجية المنخفضة. يمكنك قراءة بعض التفاصيل هنا: LLILC في ستة أشهر .
يستخدم Mono عبر LLVM GC محافظًا (على الأقل في بعض الحالات) لا يتعامل مع النطاق الكامل لسلوكيات الاستثناء. هذا مقبول لأهداف تطبيق Mono ، لكنه ليس عامًا بما يكفي لأغراضنا.
قد يظل LLILC مثيرًا للاهتمام باعتباره طائرة من الدرجة الأولى (يومًا ما) أو كمركبة إحضار للحصول على كودجين أساسي يعمل على بنية جديدة.