2011-06-18 62 views
5

Dưới đây là nội dung trong LLVM's doc "langref":LLVM cho GHC

"cc 10" - GHC ước

ước gọi này đã được thực hiện đặc biệt cho sử dụng bởi Glasgow Haskell Compiler (GHC). Nó vượt qua tất cả mọi thứ trong sổ đăng ký, đi đến cực đoan để đạt được điều này bằng cách vô hiệu hóa callee lưu sổ đăng ký. Quy ước gọi điện này không nên được sử dụng nhẹ nhưng chỉ cho các tình huống cụ thể chẳng hạn như thay thế cho thanh ghi đăng ký kỹ thuật hiệu suất thường được sử dụng khi triển khai ngôn ngữ lập trình chức năng.Thời điểm này chỉ hỗ trợ quy ước này và giới hạn sau:

  • Trên X86-32 chỉ hỗ trợ tối đa Thông số loại 4 bit. Không có loại điểm động nào được hỗ trợ.
  • Trên X86-64 chỉ hỗ trợ tối đa 10 tham số loại bit và 6 thông số dấu phẩy động.

Q:

  1. không "đăng ký ghim" có nghĩa là hoặc đề cập đến "đi tất cả mọi thứ trong thanh ghi", có khả năng.

  2. "Thông số loại 4 bit" là gì? Tôi vừa tìm trong cẩm nang IA của Intel, nhưng không tìm thấy gì cả. nó có phải là một tính năng của CPU của Intel không?

+2

Hm. Tôi đã đọc nó như là "tối đa 4 (bit type) tham số", không phải "(4 bit type) tham số" Tôi cược, điều này sẽ đề cập đến các giá trị số nguyên lên đến kích thước từ máy, mặc dù tôi chưa bao giờ nghe trước đây, hoặc là – Dirk

+0

@Dirk: Tôi nghĩ bạn đúng. Tôi nên cập nhật Lexer của tôi cho tiếng Anh trong não của tôi càng sớm càng tốt ... – Nybble

Trả lời