2011-06-18 27 views
5

調用約定這裏是LLVM's doc "langref"文:LLVM對GHC

「CC 10」 - GHC約定專門爲格拉斯哥Haskell編譯(GHC)使用

這調用約定已經實施。它通過寄存器中的所有內容,通過禁用被調用保存寄存器達到極限。這種調用約定不應該被輕率使用,而只能用於特定情況下,例如寄存器的替代品,在執行函數式編程語言時經常使用的性能技術。目前只有X86支持這種約定,並且它具有以下限制:

  • 在X86-32上最多隻支持4位類型參數。不支持浮點類型。
  • 在X86-64上最多隻支持10位類型參數和6個浮點參數

問:

  1. 不 「寄存器釘住」 裝置或指 「在寄存器通過一切」,可能的。

  2. 什麼是「4位類型參數」?我剛剛在英特爾的IA手冊中搜索,但沒有找到任何東西。它是英特爾CPU的一項功能嗎?

+2

嗯。我認爲這是「最多4個(位型)參數」,而不是「(4位型)參數」我敢打賭,這是指整數值直到機器字大小,儘管我從未聽說過任期 – Dirk

+0

@Dirk:我認爲你是對的。我應該儘快將我的Lexer升級爲英語...... – Nybble

回答