RFC: تخزين ساكن مسمّى + سمات التخزين (@رمز/@متطاير/@محزوم/بايتات) — اللبنة 3.14 - #39
Open
SalehKadah wants to merge 1 commit into
Open
RFC: تخزين ساكن مسمّى + سمات التخزين (@رمز/@متطاير/@محزوم/بايتات) — اللبنة 3.14#39SalehKadah wants to merge 1 commit into
SalehKadah wants to merge 1 commit into
Conversation
…ضمَّنة
اللبنة 3.14 من إطفاء C. تمكّن ص من تعريف مخزن ساكن مسمّى برمز رابط مستقرّ مُصدَّر
في .bss/.rodata مع سمات: @رمز("اسم") رمز مُصدَّر، إصلاح @متطاير على التصريح،
@محزوم رصّ، وحرفيّة بايتات(...) كتلة .rodata. يكمّل عنوان_رمز (3.13): ص تعرّف
المخزن وتأخذ عنوانه بالاسم نفسه ⇒ تُملّك النواة عدّاداتها/خريطتها/أرشيفها بدل C.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ملخّص
تمكين ص من تعريف مخزن ساكن مسمّى برمز رابط مستقرّ ومُصدَّر في
.bss/.rodata،مع 4 بدائيّات متلازمة:
@رمز("اسم")(رمز مُصدَّر)، إصلاح@متطايرعلى التصريح(مكسور حاليًّا)،
@محزوم(رصّ)، وحرفيّةبايتات(...)(كتلة.rodata).السياق
اللبنة 3.14 من إطفاء C، تكمّل
عنوان_رمز(3.13، PR #224). بعد أن صارت ص تأخذعنوان الرمز، هذا المقترح يجعلها تعرّف المخزن نفسه — فتُملّك النواةَ عدّاداتها
(
bee_probe_hits…) وخريطتها البتّيّة وأرشيفها بدل مخازن C.غرض كلّ بدائيّة
@رمز("bee_x")— الرافعة الأمّ: رمز مُصدَّر ثابت يلتقي عليه أكعاب المقاطعة(C) +
عنوان_رمز+ عقد ABI. بدونه المخزن باسم داخليّ مُشوَّه لا يصلح أرضيّةً مشتركة.@متطاير(إصلاح) — صحّة: العدّادات يكتبها سياق مقاطعة ويقرؤها فحص في حلقة؛بلا volatile يُخبّئ المُحسِّن القراءة ⇒ حلقة أبديّة. العلم يُسقَط اليوم في
statement_advanced.cpp:159.@محزوم— مفتاح ترحيل الواصفات: تخطيط IDTR/GDTR/البوّابات يفرضه المعالج؛بلا رصّ يحشو المترجم ⇒ عطل.
isPackedمقيَّدfalseحاليًّا.بايتات(...)— جداول.rodataمملوكة: أرشيف SFA1 وخريطة set-1 كثابت حقيقيّبرمز مستقرّ، لا مصفوفة كومة.
النموذج القائم (من الاستكشاف)
ص تملك globals حقيقيّة (top-level
متغير⇒GlobalVariableفي.bss/.rodata)والبنية التحتيّة للأقسام (
LLVMCustomSections,setSection) وتمثيلConstantDataArray— لكنّها يتيمة/داخليّة بلا واجهة لغويّة مستقرّة. المقترح يصل هذه البنية بصياغة.
النطاق
الأربع بدائيّات كاملةً (الخيار الأقوى): حذف أيٍّ منها يُبقي صنفًا كاملًا من مخازن C.
@قسم(".name")الصريح والـstatics المحلّيّة والتهيئة الثابتة المحسوبة — مؤجَّلة.أسئلة للنقاش
بايتات: مدمجبايتات(...)أم مصفوفة ثابتة مكتوبة.@محزوم(أضعفها ترابطًا) أم يبقى ضمن الحزمة.@رمزعلى المستوى الأعلى فقط أم يشمل statics محلّيّة.🤖 Generated with Claude Code