|
|
1
3
由于psyco是一个编译器,它需要知道底层的汇编语言才能生成有用的代码。这意味着它需要知道8个新寄存器,64位代码的新操作码,等等。 此外,为了与现有代码进行互操作,它需要使用与64位代码相同的调用约定。AMD-64调用约定与旧的快速调用约定类似,其中一些参数在寄存器中传递(在64位情况下,rcx、rdx、r8、r9用于指针,Xmm0-Xmm3用于浮点),其余参数被推送到堆栈上的溢出空间。与x86不同,这个额外的空间通常只为所有可能的调用分配一次。IA64约定和汇编语言是不同的。 简言之,我认为这可能不像听起来那么简单。 |
|
|
2
4
here ):
和 如果你想要更多的细节(公司内部的Psyco知识可能需要),我想你可以尝试问一个Psyco邮件列表。。。 |
|
|
3
3
干杯, 菲哈尔 |
|
|
4
1
+1代表“。。。有多难?”。 请看这里: http://codespeak.net/svn/psyco/dist/c/i386/iprocessor.c 所有这些ASM都必须进行移植,而且对底层处理器的假设无处不在。 我认为可以公平地说,如果移植是微不足道的(或者不是太难),那么就已经完成了。 |