Le wiki officieux du moteur Go

Diagramme mémoire: une tranche Go et son tableau sous-jacent
Crédit image: Andrew Gerrand

Le wiki Go internals unofficial wiki précédemment publié sur goin.wikispot.org était une resource de valeur pour les développeurs intéressés par le fonctionnement interne du runtime Go.

Il a malheureusement disparu lorsque le domaine wikispot.org a été abandonné en avril 2014.

J’ai passé quelques heures ce matin à restaurer et reformater son contenu, qui est dorénavant disponible sur la section Go du wiki Audean.

À apprécier… mais avec modération: son contenu était d’actualité en 2014, pas la semaine dernière !

Au programme:

  • Informations sur l’assembleur Go
  • Le registre FS dans l’assembleur Go
  • La variable g et le type G pour les goroutines
  • La macro assembleur get_tls(r)
  • La variable m et le type M pour les threads
  • Une collection d’informations sur le contenu de certains fichiers sources
  • Le mécanisme de piles segmentées, abandonné en Go 1.4 https://tip.golang.org/doc/go1.4#runtime
  • La convention d’appel stdcall sur x86 et les autres conventions d’appel x86
  • Le drapeau textflag 7 et l’éditeur de liens
  • Une collection d’articles sur d’autres sites, également relatifs au fonctionnement interne de Go
  • Le fonctionnement du stockage par thread (thread local storage)