תרגול יצירת קוד וחוזה המכונה¶
מריצים את התוכנית ובודקים ששתי התוצאות תקינות. פותחים disassembly ומסמנים את הטווח של כל הוראה מול bytes המקור. מסבירים למה הcontext המדומה מצביע לoffset 6 ולא לאמצע הוראה.
מחליפים את פעולת החיבור בXOR, מעדכנים interpreter מקביל ומריצים ערכי קצה. משאירים את prologue והepilogue ללא שינוי ומסבירים מדוע תיאור הunwind עדיין מתאים.
מתכננים גרסה שמפרסמת function pointer לכמה threadים. מציינים מה מונע שימוש לפני סיום ההכנה, מה מונע שחרור בזמן קריאה ומה מונע שימוש בכתובת של גרסה ישנה אחרי החלפה.
קוראים את חוזה הABI של ARM64 ומגישים מפת שינויים: הוראות, registers, alignment, unwind וcache maintenance. אין להפעיל את bytes של x64 על ARM64 בתור ניסוי ניידות.