1 dépôt
Techniques for handling high-level language types, such as slices and strings, within low-level assembly code.
Distinct from Go Library Interoperability: Candidates focus on library imports or visualization; this is about the raw decomposition of Go types in assembly.
Explore 1 awesome GitHub repository matching operating systems & systems programming · Assembly Type Interoperability. Refine with filters or upvote what's useful.
Ce projet est une référence technique et une collection de notes d'analyse interne axées sur le runtime et le compilateur du langage Go. Il fournit une analyse détaillée des rouages internes du langage, couvrant la gestion de la mémoire, le ramasse-miettes (garbage collection) et le modèle d'exécution du planificateur. Le matériel se distingue en fournissant des plongées approfondies dans les détails système de bas niveau, incluant une référence pour les instructions d'assemblage Go, l'utilisation des registres et l'interfaçage des appels système. Il analyse spécifiquement l'implémentation interne des primitives de concurrence, telles que le mécanisme de planification des goroutines, les opérations sur les canaux et les implémentations de verrous mutex. La couverture s'étend à la théorie de la construction des compilateurs, incluant l'analyse lexicale et syntaxique, ainsi que la mécanique du système de types et la gestion des interfaces. Il détaille également diverses techniques d'optimisation des performances, des utilitaires de diagnostic du runtime pour le traçage de la pile et des primitives d'E/S réseau.
Describes how Go assembly handles slices and strings by decomposing them into their raw components.