Skip to content

خلفيّة سياديّة: هدف ثانٍ AArch64 (fixed32) — يُبرهِن عموميّة مخطّطات م٠ - #319

Merged
SalehKadah merged 1 commit into
devfrom
feat/native-backend-arm64-tables
Jul 30, 2026
Merged

خلفيّة سياديّة: هدف ثانٍ AArch64 (fixed32) — يُبرهِن عموميّة مخطّطات م٠#319
SalehKadah merged 1 commit into
devfrom
feat/native-backend-arm64-tables

Conversation

@SalehKadah

Copy link
Copy Markdown
Collaborator

الغرض

توسيعُ جداول م٠ (المدموجة في #318) بهدفٍ ثانٍ مختلفِ الصنفAArch64 (RISC، عرضٌ ثابت ٣٢-بت، عائلة fixed32) — قبل كتابة المحرّك. تطبيقٌ لانضباط «الهدف الثاني المبكّر» في RFC الخلفيّة السياديّة: إثباتُ أنّ المخطّطات عامّةٌ لا مشبعةٌ بافتراضات x86 — ببياناتٍ فقط، دون تعديل أيّ مخطّط أو كود مشترك.

المُضاف (بيانات فقط)

الملفّ المحتوى
backend/arm64/instructions.yaml fixed32 بحقول بتّات: MOVZ/ADD/SVC/RET
backend/arm64/registers.yaml x0..x30 + xzr/sp (num=31)، x18 platform محجوز
backend/arm64/isel.yaml ثلاثيّة المعاملات (add d,a,b — لا تدمير الوجهة)
backend/abi/aarch64-linux.yaml svc، x8 رقم النداء، e_machine=183، AAPCS64 بلا منطقة حمراء

التحقّق

  • الترميزات مُتحقَّقة بايتًا ببايت ضدّ المرجع المعروف: MOVZ X0,#0=0xD2800000، ADD X0,X0,X0=0x8B000000، SVC #0=0xD4000001، RET=0xD65F03C0.
  • نفسُ backend_encoding.schema.json يستوعب variable (x86) وfixed32 (arm64) بلا تغيير ⇒ عموميّةُ التجريد مُبرهَنة قبل المحرّك.
  • test_schema_validation.py: +٤ أزواج arm64 + test_both_encoding_families_present١٦/١٦ PASS.
  • أميليا CLEAR: كلّ بتٍّ محسوبٌ يدويًّا، صفرُ تلويثٍ للمشترك (بيانات فقط)، أرقام النداء/e_machine صحيحة.
  • صفر انحدار: الإخفاقات الثلاثة الأخرى سابقةٌ وغير متعلّقة.

🤖 Generated with Claude Code

توسيعُ جداول م٠ بهدفٍ ثانٍ مختلفِ الصنف (AArch64: RISC ثابت ٣٢-بت) قبل كتابة المحرّك
— تطبيقٌ لانضباط «الهدف الثاني المبكّر» في RFC الخلفيّة السياديّة (rfcs #57): إثباتُ أنّ
المخطّطات عامّةٌ لا مشبعةٌ بافتراضات x86، ببياناتٍ فقط دون تعديل أيّ مخطّط أو كود مشترك.

المُضاف (بيانات فقط):
• backend/arm64/instructions.yaml (fixed32، حقول بتّات): MOVZ/ADD/SVC/RET — الترميزات
  مُتحقَّقة بايتًا ببايت ضدّ المرجع المعروف (0xD2800000/0x8B000000/0xD4000001/0xD65F03C0).
• backend/arm64/registers.yaml (x0..x30 + xzr/sp num=31، x18 platform محجوز).
• backend/arm64/isel.yaml (ثلاثيّة المعاملات: add d,a,b — لا تدمير الوجهة).
• backend/abi/aarch64-linux.yaml (svc، x8 رقم النداء، e_machine=183، write=64/exit=93/
  exit_group=94 asm-generic، AAPCS64 بلا منطقة حمراء).
• test_schema_validation.py: +٤ أزواج arm64 + test_both_encoding_families_present.

نفسُ backend_encoding.schema.json يستوعب variable (x86) وfixed32 (arm64) بلا تغيير ⇒
عموميّةُ التجريد مُبرهَنة قبل المحرّك. ١٦/١٦ PASS. أميليا CLEAR (كلّ بت محسوب، صفر تلويث
للمشترك). صفر انحدار (الإخفاقات الثلاثة السابقة غير متعلّقة).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

📚 تذكير مزامنة دليل المطوّرين

هذا الـPR يلمس مصادر موثَّقة في دليل المطوّرين. راجع الفصول الآتية وحدّثها إن تغيّر سلوكها، ثم ثبّت البصمات هناك (python scripts/check_sync.py --update):

بندٌ في معيار الإنجاز. تذكيرٌ آليّ — لا يحجب الدمج.

@SalehKadah
SalehKadah merged commit 7ada42e into dev Jul 30, 2026
16 checks passed
@SalehKadah
SalehKadah deleted the feat/native-backend-arm64-tables branch July 30, 2026 09:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant