compiler: hack to make XCreateIC() work on x86-64

db4
Slava Pestov 2010-05-16 04:49:53 -04:00
parent 8ebecac4d2
commit a7b5957f6d
5 changed files with 10 additions and 1 deletions

View File

@ -108,7 +108,7 @@ M: #alien-invoke emit-node
[
{
[ caller-parameters ]
[ alien-invoke-dlsym ##alien-invoke ]
[ ##prepare-var-args alien-invoke-dlsym ##alien-invoke ]
[ emit-stack-frame ]
[ box-return* ]
} cleave

View File

@ -671,6 +671,8 @@ INSN: ##allot-byte-array
def: dst/tagged-rep
literal: size ;
INSN: ##prepare-var-args ;
INSN: ##alien-invoke
literal: symbols dll ;

View File

@ -294,6 +294,7 @@ CODEGEN: ##prepare-struct-caller %prepare-struct-caller
CODEGEN: ##box %box
CODEGEN: ##box-long-long %box-long-long
CODEGEN: ##allot-byte-array %allot-byte-array
CODEGEN: ##prepare-var-args %prepare-var-args
CODEGEN: ##alien-invoke %alien-invoke
CODEGEN: ##cleanup %cleanup
CODEGEN: ##alien-indirect %alien-indirect

View File

@ -589,6 +589,10 @@ HOOK: %restore-context cpu ( temp1 temp2 -- )
HOOK: %save-context cpu ( temp1 temp2 -- )
HOOK: %prepare-var-args cpu ( -- )
M: object %prepare-var-args ;
HOOK: %alien-invoke cpu ( function library -- )
HOOK: %cleanup cpu ( n -- )

View File

@ -46,3 +46,5 @@ M: x86.64 dummy-int-params? f ;
M: x86.64 dummy-fp-params? f ;
M: x86.64 temp-reg R8 ;
M: x86.64 %prepare-var-args RAX RAX XOR ;