diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2000-11-24 15:39:56 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2000-11-24 15:39:56 -0200 |
commit | 96253ed8ceb38afa50887ccb5500442b5b220f08 (patch) | |
tree | 4b42b80f781b0cbe95782f8e8ebec06d85e80ae4 /llimits.h | |
parent | 35d6b1505702b0f4a2eee0e6d2f8dfc50943a1a7 (diff) | |
download | lua-96253ed8ceb38afa50887ccb5500442b5b220f08.tar.gz lua-96253ed8ceb38afa50887ccb5500442b5b220f08.tar.bz2 lua-96253ed8ceb38afa50887ccb5500442b5b220f08.zip |
better support for 64-bit machines (avoid excessive use of longs)
Diffstat (limited to 'llimits.h')
-rw-r--r-- | llimits.h | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: llimits.h,v 1.18 2000/10/09 13:47:32 roberto Exp roberto $ | 2 | ** $Id: llimits.h,v 1.19 2000/10/26 12:47:05 roberto Exp roberto $ |
3 | ** Limits, basic types, and some other "installation-dependent" definitions | 3 | ** Limits, basic types, and some other "installation-dependent" definitions |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -50,7 +50,11 @@ typedef LUA_NUM_TYPE Number; | |||
50 | 50 | ||
51 | 51 | ||
52 | 52 | ||
53 | typedef unsigned long lint32; /* unsigned int with at least 32 bits */ | 53 | typedef unsigned long luint32; /* unsigned int with at least 32 bits */ |
54 | typedef long lint32; /* signed int with at least 32 bits */ | ||
55 | |||
56 | /* an unsigned integer big enough to count the total memory used by Lua */ | ||
57 | typedef unsigned long mem_int; | ||
54 | 58 | ||
55 | 59 | ||
56 | #define MAX_SIZET ((size_t)(~(size_t)0)-2) | 60 | #define MAX_SIZET ((size_t)(~(size_t)0)-2) |
@@ -62,7 +66,7 @@ typedef unsigned long lint32; /* unsigned int with at least 32 bits */ | |||
62 | ** conversion of pointer to int (for hashing only) | 66 | ** conversion of pointer to int (for hashing only) |
63 | ** (the shift removes bits that are usually 0 because of alignment) | 67 | ** (the shift removes bits that are usually 0 because of alignment) |
64 | */ | 68 | */ |
65 | #define IntPoint(p) (((unsigned long)(p)) >> 3) | 69 | #define IntPoint(p) (((luint32)(p)) >> 3) |
66 | 70 | ||
67 | 71 | ||
68 | 72 | ||
@@ -87,7 +91,7 @@ union L_Umaxalign { double d; char *s; long l; }; | |||
87 | ** For a very small machine, you may change that to 2 bytes (and adjust | 91 | ** For a very small machine, you may change that to 2 bytes (and adjust |
88 | ** the following limits accordingly) | 92 | ** the following limits accordingly) |
89 | */ | 93 | */ |
90 | typedef unsigned long Instruction; | 94 | typedef luint32 Instruction; |
91 | 95 | ||
92 | 96 | ||
93 | /* | 97 | /* |