compiler: hack to make XCreateIC() work on x86-64
parent
8ebecac4d2
commit
a7b5957f6d
|
@ -108,7 +108,7 @@ M: #alien-invoke emit-node
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
[ caller-parameters ]
|
[ caller-parameters ]
|
||||||
[ alien-invoke-dlsym ##alien-invoke ]
|
[ ##prepare-var-args alien-invoke-dlsym ##alien-invoke ]
|
||||||
[ emit-stack-frame ]
|
[ emit-stack-frame ]
|
||||||
[ box-return* ]
|
[ box-return* ]
|
||||||
} cleave
|
} cleave
|
||||||
|
|
|
@ -671,6 +671,8 @@ INSN: ##allot-byte-array
|
||||||
def: dst/tagged-rep
|
def: dst/tagged-rep
|
||||||
literal: size ;
|
literal: size ;
|
||||||
|
|
||||||
|
INSN: ##prepare-var-args ;
|
||||||
|
|
||||||
INSN: ##alien-invoke
|
INSN: ##alien-invoke
|
||||||
literal: symbols dll ;
|
literal: symbols dll ;
|
||||||
|
|
||||||
|
|
|
@ -294,6 +294,7 @@ CODEGEN: ##prepare-struct-caller %prepare-struct-caller
|
||||||
CODEGEN: ##box %box
|
CODEGEN: ##box %box
|
||||||
CODEGEN: ##box-long-long %box-long-long
|
CODEGEN: ##box-long-long %box-long-long
|
||||||
CODEGEN: ##allot-byte-array %allot-byte-array
|
CODEGEN: ##allot-byte-array %allot-byte-array
|
||||||
|
CODEGEN: ##prepare-var-args %prepare-var-args
|
||||||
CODEGEN: ##alien-invoke %alien-invoke
|
CODEGEN: ##alien-invoke %alien-invoke
|
||||||
CODEGEN: ##cleanup %cleanup
|
CODEGEN: ##cleanup %cleanup
|
||||||
CODEGEN: ##alien-indirect %alien-indirect
|
CODEGEN: ##alien-indirect %alien-indirect
|
||||||
|
|
|
@ -589,6 +589,10 @@ HOOK: %restore-context cpu ( temp1 temp2 -- )
|
||||||
|
|
||||||
HOOK: %save-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: %alien-invoke cpu ( function library -- )
|
||||||
|
|
||||||
HOOK: %cleanup cpu ( n -- )
|
HOOK: %cleanup cpu ( n -- )
|
||||||
|
|
|
@ -46,3 +46,5 @@ M: x86.64 dummy-int-params? f ;
|
||||||
M: x86.64 dummy-fp-params? f ;
|
M: x86.64 dummy-fp-params? f ;
|
||||||
|
|
||||||
M: x86.64 temp-reg R8 ;
|
M: x86.64 temp-reg R8 ;
|
||||||
|
|
||||||
|
M: x86.64 %prepare-var-args RAX RAX XOR ;
|
||||||
|
|
Loading…
Reference in New Issue