2011-06-18 18 views
5

Aquí está el texto en LLVM's doc "langref":de LLVM para GHC

"cc 10" - GHC convención

Esta convención de llamada se ha implementado específicamente para su uso por el Haskell Compiler Glasgow (GHC). Pasa todo en registros, llegando a los extremos para lograr esto al deshabilitar los registros de guardado de llamadas. Esta convención de llamadas no se debe usar a la ligera, sino solo para situaciones específicas, como una alternativa al registro que fija la técnica de rendimiento de uso frecuente cuando se implementan lenguajes de programación funcionales. En este momento solo X86 admite esta convención y tiene las siguientes limitaciones:

  • En X86-32 solo admite hasta parámetros de tipo de 4 bits. No se admiten tipos de coma flotante.
  • En X86-64 solo admite hasta parámetros de tipo de 10 bits y 6 parámetros de coma flotante.

Q:

  1. significa "registrarse" fijando medios o se refiere a "todo lo que pasa en los registros", probable.

  2. lo que es "4 parámetros de tipo" bit? Acabo de buscar en el manual de IA de Intel, pero no encontré nada. ¿Es una característica de la CPU de Intel?

+2

Hm. Lo había leído como "hasta 4 (tipo de bit) parámetros", no "(tipo de 4 bits) parámetros" Apostaría, esto se referiría a valores enteros hasta el tamaño de la palabra máquina, aunque nunca escuché el término anterior, ya sea – Dirk

+0

@Dirk: creo que tienes razón. Debería actualizar mi Lexer para inglés en mi cerebro lo antes posible ... – Nybble

Respuesta