2011-06-18 18 views
5

Oto tekst w LLVM's doc "langref":LLVM dla GHC

"cc 10" - GHC konwencja

Ta konwencja wywołujący został zrealizowany specjalnie do użytku przez Glasgow Haskell Compiler (GHC). Przekazuje wszystko w rejestrach, przechodząc do skrajności, aby to osiągnąć, wyłączając rejestry zapisu callee. Ta konwencja wywoływania nie powinna być używana lekko, ale tylko w specyficznych sytuacjach, takich jak alternatywa dla rejestru techniki wykonywania często używanych podczas wdrażania funkcjonalnych języków programowania. W chwili obecnej tylko X86 obsługuje tę konwencję i ma następujące ograniczenia:

  • Na X86-32 obsługuje tylko do parametrów typu 4-bitowego. Nie są obsługiwane żadne typy zmiennoprzecinkowe.
  • Na X86-64 obsługuje tylko do parametrów typu 10 bitów i 6 parametrów zmiennoprzecinkowych.

P:

  1. nie "rejestru przypinanie" oznacza i odnosi się do "wszystko przebiega w rejestrach" prawdopodobne.

  2. co to są "parametry typu 4-bitowego"? Właśnie szukałem w podręczniku IA Intela, ale niczego nie znalazłem. czy jest to funkcja procesora Intela?

+2

Hm. Czytałem to jako "parametry do 4 (typ bitowy)", a nie "(typ 4-bitowy)" Zakładałem, to by odnosiło się do wartości całkowitych do wielkości słowa maszynowego, choć nigdy nie słyszałem termin wcześniej, albo – Dirk

+0

@Dirk: Myślę, że masz rację. Powinienem zaktualizować mój Lexer na angielski w moim mózgu jak najszybciej ... – Nybble

Odpowiedz