]> gitweb.factorcode.org Git - factor.git/commitdiff
removed some global functions from alien.cpp
authorPhil Dawes <phil@phildawes.net>
Mon, 17 Aug 2009 20:37:18 +0000 (21:37 +0100)
committerPhil Dawes <phil@phildawes.net>
Wed, 16 Sep 2009 07:16:28 +0000 (08:16 +0100)
vm/alien.cpp
vm/alien.hpp [changed mode: 0644->0755]

index ffd49f60b0b0bff58a23937b5e823a4b722961a4..41a1e8d5224435baea22962b9c16d1c4a08cde6e 100755 (executable)
@@ -24,11 +24,6 @@ char *factorvm::pinned_alien_offset(cell obj)
        }
 }
 
-char *pinned_alien_offset(cell obj)
-{
-       return vm->pinned_alien_offset(obj);
-}
-
 /* make an alien */
 cell factorvm::allot_alien(cell delegate_, cell displacement)
 {
@@ -50,11 +45,6 @@ cell factorvm::allot_alien(cell delegate_, cell displacement)
        return new_alien.value();
 }
 
-cell allot_alien(cell delegate_, cell displacement)
-{
-       return vm->allot_alien(delegate_,displacement);
-}
-
 /* make an alien pointing at an offset of another alien */
 inline void factorvm::vmprim_displaced_alien()
 {
@@ -108,15 +98,16 @@ void *alien_pointer()
        return vm->alien_pointer();
 }
 
+
 /* define words to read/write values at an alien address */
 #define DEFINE_ALIEN_ACCESSOR(name,type,boxer,to) \
        PRIMITIVE(alien_##name) \
        { \
-               boxer(*(type*)alien_pointer()); \
+               boxer(*(type*)PRIMITIVE_GETVM()->alien_pointer());      \
        } \
        PRIMITIVE(set_alien_##name) \
        { \
-               type *ptr = (type *)alien_pointer(); \
+               type *ptr = (type *)PRIMITIVE_GETVM()->alien_pointer(); \
                type value = to(dpop()); \
                *ptr = value; \
        }
@@ -133,7 +124,7 @@ DEFINE_ALIEN_ACCESSOR(signed_1,s8,box_signed_1,to_fixnum)
 DEFINE_ALIEN_ACCESSOR(unsigned_1,u8,box_unsigned_1,to_cell)
 DEFINE_ALIEN_ACCESSOR(float,float,box_float,to_float)
 DEFINE_ALIEN_ACCESSOR(double,double,box_double,to_double)
-DEFINE_ALIEN_ACCESSOR(cell,void *,box_alien,pinned_alien_offset)
+DEFINE_ALIEN_ACCESSOR(cell,void *,box_alien,PRIMITIVE_GETVM()->pinned_alien_offset)
 
 /* open a native library and push a handle */
 inline void factorvm::vmprim_dlopen()
old mode 100644 (file)
new mode 100755 (executable)
index 6235a2d..0a4f3a7
@@ -1,8 +1,6 @@
 namespace factor
 {
 
-cell allot_alien(cell delegate, cell displacement);
-
 PRIMITIVE(displaced_alien);
 PRIMITIVE(alien_address);