Поскольку psyco - это компилятор, он должен знать базовый язык ассемблера, чтобы генерировать полезный код. Это означало бы, что он должен знать о 8 новых регистрах, новых кодах операций для 64-битного кода и т. Д.
Кроме того, для взаимодействия с существующим кодом необходимо будет использовать те же соглашения о вызовах, что и для 64-битного кода. Соглашение о вызовах AMD-64 аналогично старым соглашениям о быстрых вызовах тем, что некоторые параметры передаются в регистрах (в 64-битном случае rcx, rdx, r8, r9 для указателей и Xmm0-Xmm3 для плавающей запятой), а остальные толкнул на место разлива на стеке. В отличие от x86, это дополнительное пространство обычно выделяется один раз для всех возможных вызовов. Соглашения IA64 и язык ассемблера еще различны.
Короче говоря, я думаю, что это не так просто, как кажется.