diff --git a/src/array.h b/src/array.h
index bab0f8bfed016ce3f46da87dd507d4a7637d1f7b..fa5e614b4ccb99c99f813fe6d5fadbd9fab7a113 100644
--- a/src/array.h
+++ b/src/array.h
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: array.h,v 1.22 2000/07/28 17:16:54 hubbe Exp $
+ * $Id: array.h,v 1.23 2000/08/03 17:55:50 grubba Exp $
  */
 #ifndef ARRAY_H
 #define ARRAY_H
@@ -14,7 +14,7 @@
 
 struct array
 {
-  INT32 refs;		/* Reference count */
+  ptrdiff_t refs;		/* Reference count */
 #ifdef PIKE_SECURITY
   struct object *prot;
 #endif
diff --git a/src/constants.h b/src/constants.h
index 97a6fcedf8572e133f99ac4c0479e2bd75ef336d..17c606d653dcdf92cd0424375e0d0ec2bb9e2271 100644
--- a/src/constants.h
+++ b/src/constants.h
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: constants.h,v 1.11 1999/12/13 12:08:12 mast Exp $
+ * $Id: constants.h,v 1.12 2000/08/03 17:55:50 grubba Exp $
  */
 #ifndef ADD_EFUN_H
 #define ADD_EFUN_H
@@ -20,7 +20,7 @@ typedef node *(*optimize_fun)(node *n);
 
 struct callable
 {
-  INT32 refs;
+  ptrdiff_t refs;
 #ifdef PIKE_SECURITY
   struct object *prot;
 #endif
diff --git a/src/gc.h b/src/gc.h
index b021e5dd78a3cf43a66471b1f555ec5dafdf3e3d..8fc7e4f53bf36a019b51a56958b7edbc5852d898 100644
--- a/src/gc.h
+++ b/src/gc.h
@@ -1,5 +1,5 @@
 /*
- * $Id: gc.h,v 1.57 2000/07/28 17:16:55 hubbe Exp $
+ * $Id: gc.h,v 1.58 2000/08/03 17:55:50 grubba Exp $
  */
 #ifndef GC_H
 #define GC_H
@@ -68,11 +68,11 @@ struct marker
   struct marker *next;
   struct gc_frame *frame;	/* Pointer into the cycle check stack. */
   void *data;
-  INT32 refs;			/* Internal references. */
-  INT32 weak_refs;		/* Weak (implying internal) references. */
+  ptrdiff_t refs;		/* Internal references. */
+  ptrdiff_t weak_refs;		/* Weak (implying internal) references. */
 #ifdef PIKE_DEBUG
-  INT32 xrefs;			/* Known external references. */
-  INT32 saved_refs;		/* Object refcount during check pass. */
+  ptrdiff_t xrefs;		/* Known external references. */
+  ptrdiff_t saved_refs;		/* Object refcount during check pass. */
 #endif
   unsigned INT16 flags;
 };
diff --git a/src/interpret.h b/src/interpret.h
index 9cc97a2015c9c547697d0ac02beb12bb94509b7c..4094f9691fb2e9267768218bdedcda82b3f108be 100644
--- a/src/interpret.h
+++ b/src/interpret.h
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: interpret.h,v 1.57 2000/08/03 16:21:59 grubba Exp $
+ * $Id: interpret.h,v 1.58 2000/08/03 17:55:50 grubba Exp $
  */
 #ifndef INTERPRET_H
 #define INTERPRET_H
@@ -47,7 +47,7 @@ struct Pike_interpreter {
 #endif
 struct pike_frame
 {
-  INT32 refs; /* must be first */
+  ptrdiff_t refs; /* must be first */
   INT32 args;
   unsigned INT16 fun;
   INT16 num_locals;
diff --git a/src/mapping.h b/src/mapping.h
index 0fc1f66352714fc97ecd45fa84a87981ccc57c18..023b7df019df39a1ab39d354bd5cbb6a427b6509 100644
--- a/src/mapping.h
+++ b/src/mapping.h
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: mapping.h,v 1.28 2000/07/28 17:16:55 hubbe Exp $
+ * $Id: mapping.h,v 1.29 2000/08/03 17:55:50 grubba Exp $
  */
 #ifndef MAPPING_H
 #define MAPPING_H
@@ -24,7 +24,7 @@ struct keypair
 
 struct mapping_data
 {
-  INT32 refs;
+  ptrdiff_t refs;
   INT32 valrefs; /* lock values too */
   INT32 hardlinks;
   INT32 size, hashsize;
@@ -37,7 +37,7 @@ struct mapping_data
 
 struct mapping
 {
-  INT32 refs;
+  ptrdiff_t refs;
 #ifdef PIKE_SECURITY
   struct object *prot;
 #endif
diff --git a/src/multiset.h b/src/multiset.h
index b7ee4a003d084bccc022dee3997bb5d82f258845..62f2aa63e17808796f654ba43a6ceabd1851f8f1 100644
--- a/src/multiset.h
+++ b/src/multiset.h
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: multiset.h,v 1.13 2000/07/18 05:48:20 mast Exp $
+ * $Id: multiset.h,v 1.14 2000/08/03 17:55:50 grubba Exp $
  */
 #ifndef MULTISET_H
 #define MULTISET_H
@@ -14,7 +14,7 @@
 
 struct multiset
 {
-  INT32 refs;
+  ptrdiff_t refs;
 #ifdef PIKE_SECURITY
   struct object *prot;
 #endif
diff --git a/src/object.h b/src/object.h
index b38d7467da74b7fe22ff2512ce5f8c490223d661..d403054c35675c6c142cddc91b95b568a94c9265 100644
--- a/src/object.h
+++ b/src/object.h
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: object.h,v 1.50 2000/07/28 17:16:55 hubbe Exp $
+ * $Id: object.h,v 1.51 2000/08/03 17:55:50 grubba Exp $
  */
 #ifndef OBJECT_H
 #define OBJECT_H
@@ -20,7 +20,7 @@
 #endif
 struct object
 {
-  INT32 refs;                    /* Reference count, must be first. */
+  ptrdiff_t refs;                    /* Reference count, must be first. */
 #ifdef PIKE_SECURITY
   struct object *prot;
 #endif
diff --git a/src/program.h b/src/program.h
index 8168f9ab6fe9b62b96fb14b5de78f387c2cf4d5c..436b5599c900e27f164bb94509cc1b751aa0391b 100644
--- a/src/program.h
+++ b/src/program.h
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: program.h,v 1.97 2000/07/28 17:16:55 hubbe Exp $
+ * $Id: program.h,v 1.98 2000/08/03 17:55:50 grubba Exp $
  */
 #ifndef PROGRAM_H
 #define PROGRAM_H
@@ -255,7 +255,7 @@ struct pike_trampoline
 
 struct program
 {
-  INT32 refs;
+  ptrdiff_t refs;
 #ifdef PIKE_SECURITY
   struct object *prot;
 #endif