converted box_* integer functions to use vm (x86 windows)
parent
e50ab40c78
commit
1f642ab303
|
@ -103,14 +103,12 @@ void *alien_pointer()
|
||||||
#define DEFINE_ALIEN_ACCESSOR(name,type,boxer,to) \
|
#define DEFINE_ALIEN_ACCESSOR(name,type,boxer,to) \
|
||||||
PRIMITIVE(alien_##name) \
|
PRIMITIVE(alien_##name) \
|
||||||
{ \
|
{ \
|
||||||
factorvm *myvm = PRIMITIVE_GETVM(); \
|
PRIMITIVE_GETVM()->boxer(*(type*)PRIMITIVE_GETVM()->alien_pointer()); \
|
||||||
myvm->boxer(*(type*)myvm->alien_pointer()); \
|
|
||||||
} \
|
} \
|
||||||
PRIMITIVE(set_alien_##name) \
|
PRIMITIVE(set_alien_##name) \
|
||||||
{ \
|
{ \
|
||||||
factorvm *myvm = PRIMITIVE_GETVM(); \
|
type *ptr = (type *)PRIMITIVE_GETVM()->alien_pointer(); \
|
||||||
type *ptr = (type *)myvm->alien_pointer(); \
|
type value = PRIMITIVE_GETVM()->to(dpop()); \
|
||||||
type value = myvm->to(dpop()); \
|
|
||||||
*ptr = value; \
|
*ptr = value; \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,4 @@ register cell ds asm("esi");
|
||||||
register cell rs asm("edi");
|
register cell rs asm("edi");
|
||||||
|
|
||||||
#define VM_ASM_API VM_C_API __attribute__ ((regparm (2)))
|
#define VM_ASM_API VM_C_API __attribute__ ((regparm (2)))
|
||||||
#undef VM_PTR
|
|
||||||
#define VM_PTR myvm
|
|
||||||
#undef ASSERTVM
|
|
||||||
#define ASSERTVM() assert(vm==myvm)
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue