summaryrefslogtreecommitdiff
path: root/llimits.h
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2000-11-24 15:39:56 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2000-11-24 15:39:56 -0200
commit96253ed8ceb38afa50887ccb5500442b5b220f08 (patch)
tree4b42b80f781b0cbe95782f8e8ebec06d85e80ae4 /llimits.h
parent35d6b1505702b0f4a2eee0e6d2f8dfc50943a1a7 (diff)
downloadlua-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.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/llimits.h b/llimits.h
index ca1619ba..4a53fc7b 100644
--- a/llimits.h
+++ b/llimits.h
@@ -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
53typedef unsigned long lint32; /* unsigned int with at least 32 bits */ 53typedef unsigned long luint32; /* unsigned int with at least 32 bits */
54typedef long lint32; /* signed int with at least 32 bits */
55
56/* an unsigned integer big enough to count the total memory used by Lua */
57typedef 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*/
90typedef unsigned long Instruction; 94typedef luint32 Instruction;
91 95
92 96
93/* 97/*