]> gitweb.factorcode.org Git - factor.git/commitdiff
Fix VM code to export the right symbols on Windows
authorSlava Pestov <slava@factorcode.org>
Tue, 5 May 2009 20:55:41 +0000 (15:55 -0500)
committerSlava Pestov <slava@factorcode.org>
Tue, 5 May 2009 20:55:41 +0000 (15:55 -0500)
vm/cpu-x86.32.hpp
vm/cpu-x86.64.hpp [changed mode: 0644->0755]
vm/write_barrier.hpp [changed mode: 0644->0755]

index 6b6328aa4f308c0b701d0b034c176091c1c1efae..902b33b0b4371cdbf5617c6243ea956d6cae12f4 100755 (executable)
@@ -6,6 +6,6 @@ namespace factor
 register cell ds asm("esi");
 register cell rs asm("edi");
 
-#define VM_ASM_API extern "C" __attribute__ ((regparm (2)))
+#define VM_ASM_API VM_C_API __attribute__ ((regparm (2)))
 
 }
old mode 100644 (file)
new mode 100755 (executable)
index be71a78..679c301
@@ -6,6 +6,6 @@ namespace factor
 register cell ds asm("r14");
 register cell rs asm("r15");
 
-#define VM_ASM_API extern "C"
+#define VM_ASM_API VM_C_API
 
 }
old mode 100644 (file)
new mode 100755 (executable)
index ae7fbb2..e656b66
@@ -6,6 +6,9 @@ card has a slot written to.
 
 the offset of the first object is set by the allocator. */
 
+VM_C_API factor::cell cards_offset;
+VM_C_API factor::cell decks_offset;
+
 namespace factor
 {
 
@@ -19,8 +22,6 @@ typedef u8 card;
 #define CARD_SIZE (1<<CARD_BITS)
 #define ADDR_CARD_MASK (CARD_SIZE-1)
 
-VM_C_API cell cards_offset;
-
 inline static card *addr_to_card(cell a)
 {
        return (card*)(((cell)(a) >> CARD_BITS) + cards_offset);
@@ -42,8 +43,6 @@ typedef u8 card_deck;
 #define DECK_SIZE (1<<DECK_BITS)
 #define ADDR_DECK_MASK (DECK_SIZE-1)
 
-VM_C_API cell decks_offset;
-
 inline static card_deck *addr_to_deck(cell a)
 {
        return (card_deck *)(((cell)a >> DECK_BITS) + decks_offset);
@@ -61,7 +60,7 @@ inline static card *deck_to_card(card_deck *d)
 
 #define INVALID_ALLOT_MARKER 0xff
 
-VM_C_API cell allot_markers_offset;
+cell allot_markers_offset;
 
 inline static card *addr_to_allot_marker(object *a)
 {