Defines | |
| #define | hycomp_h |
| #define | HY_PLATFORM_DOUBLE_ORDER |
| USE_PROTOTYPES: Use full ANSI prototypes. | |
| #define | NO_LVALUE_CASTING |
| #define | VMAPICALL _stdcall |
| #define | VMCALL _cdecl |
| #define | EXE_EXTENSION_CHAR '.' |
| #define | DIR_SEPARATOR '\\' |
| #define | DIR_SEPARATOR_STR "\\" |
| #define | HY_PRIORITY_MAP |
| #define | GLOBAL_DATA(symbol) ((void*)&(symbol)) |
| #define | GLOBAL_TABLE(symbol) GLOBAL_DATA(symbol) |
| #define | PVMCALL VMCALL * |
| #define | HYCONST64(x) x##L |
| #define | HY_DEFAULT_SCHED SCHED_OTHER |
By default, pthreads platforms use the SCHED_OTHER thread scheduling policy. | |
| #define | FALSE ((BOOLEAN) 0) |
| #define | TRUE ((BOOLEAN) (!FALSE)) |
| #define | NULL ((void *)0) |
| #define | USE_PROTOTYPES |
| #define | PROTOTYPE(x) x |
| #define | VARARGS , ... |
| #define | PLATFORM_LINE_DELIMITER "\015\012" |
| Assign the default line delimiter, if it was not set. | |
| #define | MAX_IMAGE_PATH_LENGTH (2048) |
| Set the max path length, if it was not set. | |
| #define | CLEAR_U64(u64) (u64 = (U_64)0) |
| Helpers for U_64s. | |
| #define | LOW_LONG(l) (*((U_32 *) &(l))) |
| #define | HIGH_LONG(l) (*(((U_32 *) &(l)) + 1)) |
| #define | I8(x) ((I_8) (x)) |
| #define | I8P(x) ((I_8 *) (x)) |
| #define | U16(x) ((U_16) (x)) |
| #define | I16(x) ((I_16) (x)) |
| #define | I16P(x) ((I_16 *) (x)) |
| #define | U32(x) ((U_32) (x)) |
| #define | I32(x) ((I_32) (x)) |
| #define | I32P(x) ((I_32 *) (x)) |
| #define | U16P(x) ((U_16 *) (x)) |
| #define | U32P(x) ((U_32 *) (x)) |
| #define | OBJP(x) ((HyObject *) (x)) |
| #define | OBJPP(x) ((HyObject **) (x)) |
| #define | OBJPPP(x) ((HyObject ***) (x)) |
| #define | CLASSP(x) ((Class *) (x)) |
| #define | CLASSPP(x) ((Class **) (x)) |
| #define | BYTEP(x) ((BYTE *) (x)) |
| #define | ESCHAR(x) ((CHARACTER) (x)) |
| Test - was conflicting with OS2.h. | |
| #define | FLT(x) ((FLOAT) x) |
| #define | FLTP(x) ((FLOAT *) (x)) |
| #define | LI8(x) (*((I_8 *) &(x))) |
| #define | LI8P(x) (*((I_8 **) &(x))) |
| #define | LU16(x) (*((U_16 *) &(x))) |
| #define | LI16(x) (*((I_16 *) &(x))) |
| #define | LU32(x) (*((U_32 *) &(x))) |
| #define | LI32(x) (*((I_32 *) &(x))) |
| #define | LI32P(x) (*((I_32 **) &(x))) |
| #define | LU16P(x) (*((U_16 **) &(x))) |
| #define | LU32P(x) (*((U_32 **) &(x))) |
| #define | LOBJP(x) (*((HyObject **) &(x))) |
| #define | LOBJPP(x) (*((HyObject ***) &(x))) |
| #define | LOBJPPP(x) (*((HyObject ****) &(x)) |
| #define | LCLASSP(x) (*((Class **) &(x))) |
| #define | LBYTEP(x) (*((BYTE **) &(x))) |
| #define | LCHAR(x) (*((CHARACTER) &(x))) |
| #define | LFLT(x) (*((FLOAT) &x)) |
| #define | LFLTP(x) (*((FLOAT *) &(x))) |
| #define | HIGH_WORD(x) U16(U32((x)) >> 16) |
| Macros for converting between words and longs and accessing bits. | |
| #define | LOW_WORD(x) U16(U32((x)) & 0xFFFF) |
| #define | LOW_BIT(o) (U32((o)) & 1) |
| #define | LOW_2_BITS(o) (U32((o)) & 3) |
| #define | LOW_3_BITS(o) (U32((o)) & 7) |
| #define | LOW_4_BITS(o) (U32((o)) & 15) |
| #define | MAKE_32(h, l) ((U32((h)) << 16) | U32((l))) |
| #define | MAKE_64(h, l) ((((I_64)(h)) << 32) | (l)) |
| #define | HY_CFUNC |
| #define | HY_CDATA |
| #define | READSVMTHREAD |
| Macros for tagging functions which read/write the vm thread. | |
| #define | WRITESVMTHREAD |
| #define | REQUIRESSTACKFRAME |
| #define | NORETURN |
| Macro for tagging functions, which never return. | |
| #define | PTR_LONG_STORE(dstPtr, aLongPtr) (*(dstPtr) = *(aLongPtr)) |
| Macros for accessing I_64 values. | |
| #define | PTR_LONG_VALUE(dstPtr, aLongPtr) (*(aLongPtr) = *(dstPtr)) |
| #define | HYCONST_TABLE const |
| Macro used when declaring tables which require relocations. | |
| #define | HY_SORT(base, nmemb, size, compare) qsort((base), (nmemb), (size), (compare)) |
| ANSI qsort is not always available. | |
Typedefs | |
| typedef __int64 | I_64 |
| Provide some reasonable defaults for the VM types:. | |
| typedef unsigned __int64 | U_64 |
| typedef double | SYS_FLOAT |
| typedef unsigned int | UDATA |
| typedef unsigned int | U_32 |
| typedef unsigned short | U_16 |
| typedef unsigned char | U_8 |
| typedef int | IDATA |
| typedef int | I_32 |
| typedef short | I_16 |
| typedef char | I_8 |
| typedef double | ESDOUBLE |
| typedef float | ESSINGLE |
| #define hycomp_h |
| #define HY_PLATFORM_DOUBLE_ORDER |
USE_PROTOTYPES: Use full ANSI prototypes.
CLOCK_PRIMS: We want the timer/clock prims to be used
LITTLE_ENDIAN: This is for the intel machines or other little endian processors. Defaults to big endian.
NO_LVALUE_CASTING: This is for compilers that don't like the left side of assigns to be cast. It hacks around to do the right thing.
ATOMIC_FLOAT_ACCESS: So that float operations will work.
LINKED_USER_PRIMITIVES: Indicates that user primitives are statically linked with the VM executeable.
OLD_SPACE_SIZE_DIFF: The 68k uses a different amount of old space. This "legitimizes" the change.
SIMPLE_SIGNAL: For machines that don't use real signals in C. (eg: PC, 68k)
OS_NAME_LOOKUP: Use nlist to lookup user primitive addresses.
VMCALL: Tag for all functions called by the VM.
VMAPICALL: Tag for all functions called via the PlatformFunction callWith: mechanism.
SYS_FLOAT: For some math functions where extended types (80 or 96 bits) are returned Most platforms return as a double
FLOAT_EXTENDED: If defined, the type name for extended precision floats.
PLATFORM_IS_ASCII: Must be defined if the platform is ASCII
EXE_EXTENSION_CHAR: the executable has a delimiter that we want to stop at as part of argv[0].
By default order doubles in the native (that is big/little endian) ordering.
| #define NO_LVALUE_CASTING |
| #define VMAPICALL _stdcall |
| #define VMCALL _cdecl |
| #define EXE_EXTENSION_CHAR '.' |
| #define DIR_SEPARATOR '\\' |
| #define DIR_SEPARATOR_STR "\\" |
| #define HY_PRIORITY_MAP |
Value:
{ \
THREAD_PRIORITY_IDLE, /* 0 */\
THREAD_PRIORITY_LOWEST, /* 1 */\
THREAD_PRIORITY_BELOW_NORMAL, /* 2 */\
THREAD_PRIORITY_BELOW_NORMAL, /* 3 */\
THREAD_PRIORITY_BELOW_NORMAL, /* 4 */\
THREAD_PRIORITY_NORMAL, /* 5 */\
THREAD_PRIORITY_ABOVE_NORMAL, /* 6 */\
THREAD_PRIORITY_ABOVE_NORMAL, /* 7 */\
THREAD_PRIORITY_ABOVE_NORMAL, /* 8 */\
THREAD_PRIORITY_ABOVE_NORMAL, /* 9 */\
THREAD_PRIORITY_HIGHEST, /*10 */\
THREAD_PRIORITY_TIME_CRITICAL /*11 */}
| #define GLOBAL_DATA | ( | symbol | ) | ((void*)&(symbol)) |
| #define GLOBAL_TABLE | ( | symbol | ) | GLOBAL_DATA(symbol) |
| #define PVMCALL VMCALL * |
| #define HYCONST64 | ( | x | ) | x##L |
| #define HY_DEFAULT_SCHED SCHED_OTHER |
By default, pthreads platforms use the SCHED_OTHER thread scheduling policy.
| #define FALSE ((BOOLEAN) 0) |
| #define TRUE ((BOOLEAN) (!FALSE)) |
| #define NULL ((void *)0) |
| #define USE_PROTOTYPES |
| #define PROTOTYPE | ( | x | ) | x |
| #define VARARGS , ... |
| #define PLATFORM_LINE_DELIMITER "\015\012" |
Assign the default line delimiter, if it was not set.
| #define MAX_IMAGE_PATH_LENGTH (2048) |
Set the max path length, if it was not set.
| #define CLEAR_U64 | ( | u64 | ) | (u64 = (U_64)0) |
Helpers for U_64s.
| #define LOW_LONG | ( | l | ) | (*((U_32 *) &(l))) |
| #define HIGH_LONG | ( | l | ) | (*(((U_32 *) &(l)) + 1)) |
| #define I8 | ( | x | ) | ((I_8) (x)) |
| #define I8P | ( | x | ) | ((I_8 *) (x)) |
| #define U16 | ( | x | ) | ((U_16) (x)) |
| #define I16 | ( | x | ) | ((I_16) (x)) |
| #define I16P | ( | x | ) | ((I_16 *) (x)) |
| #define U32 | ( | x | ) | ((U_32) (x)) |
| #define I32 | ( | x | ) | ((I_32) (x)) |
| #define I32P | ( | x | ) | ((I_32 *) (x)) |
| #define U16P | ( | x | ) | ((U_16 *) (x)) |
| #define U32P | ( | x | ) | ((U_32 *) (x)) |
| #define OBJP | ( | x | ) | ((HyObject *) (x)) |
| #define OBJPP | ( | x | ) | ((HyObject **) (x)) |
| #define OBJPPP | ( | x | ) | ((HyObject ***) (x)) |
| #define CLASSP | ( | x | ) | ((Class *) (x)) |
| #define CLASSPP | ( | x | ) | ((Class **) (x)) |
| #define BYTEP | ( | x | ) | ((BYTE *) (x)) |
| #define ESCHAR | ( | x | ) | ((CHARACTER) (x)) |
Test - was conflicting with OS2.h.
| #define FLT | ( | x | ) | ((FLOAT) x) |
| #define FLTP | ( | x | ) | ((FLOAT *) (x)) |
| #define LI8 | ( | x | ) | (*((I_8 *) &(x))) |
| #define LI8P | ( | x | ) | (*((I_8 **) &(x))) |
| #define LU16 | ( | x | ) | (*((U_16 *) &(x))) |
| #define LI16 | ( | x | ) | (*((I_16 *) &(x))) |
| #define LU32 | ( | x | ) | (*((U_32 *) &(x))) |
| #define LI32 | ( | x | ) | (*((I_32 *) &(x))) |
| #define LI32P | ( | x | ) | (*((I_32 **) &(x))) |
| #define LU16P | ( | x | ) | (*((U_16 **) &(x))) |
| #define LU32P | ( | x | ) | (*((U_32 **) &(x))) |
| #define LOBJP | ( | x | ) | (*((HyObject **) &(x))) |
| #define LOBJPP | ( | x | ) | (*((HyObject ***) &(x))) |
| #define LOBJPPP | ( | x | ) | (*((HyObject ****) &(x)) |
| #define LCLASSP | ( | x | ) | (*((Class **) &(x))) |
| #define LBYTEP | ( | x | ) | (*((BYTE **) &(x))) |
| #define LCHAR | ( | x | ) | (*((CHARACTER) &(x))) |
| #define LFLT | ( | x | ) | (*((FLOAT) &x)) |
| #define LFLTP | ( | x | ) | (*((FLOAT *) &(x))) |
| #define HIGH_WORD | ( | x | ) | U16(U32((x)) >> 16) |
Macros for converting between words and longs and accessing bits.
| #define LOW_WORD | ( | x | ) | U16(U32((x)) & 0xFFFF) |
| #define LOW_BIT | ( | o | ) | (U32((o)) & 1) |
| #define LOW_2_BITS | ( | o | ) | (U32((o)) & 3) |
| #define LOW_3_BITS | ( | o | ) | (U32((o)) & 7) |
| #define LOW_4_BITS | ( | o | ) | (U32((o)) & 15) |
| #define MAKE_32 | ( | h, | |||
| l | ) | ((U32((h)) << 16) | U32((l))) |
| #define MAKE_64 | ( | h, | |||
| l | ) | ((((I_64)(h)) << 32) | (l)) |
| #define HY_CFUNC |
| #define HY_CDATA |
| #define READSVMTHREAD |
Macros for tagging functions which read/write the vm thread.
| #define WRITESVMTHREAD |
| #define REQUIRESSTACKFRAME |
| #define NORETURN |
Macro for tagging functions, which never return.
| #define PTR_LONG_STORE | ( | dstPtr, | |||
| aLongPtr | ) | (*(dstPtr) = *(aLongPtr)) |
Macros for accessing I_64 values.
| #define PTR_LONG_VALUE | ( | dstPtr, | |||
| aLongPtr | ) | (*(aLongPtr) = *(dstPtr)) |
| #define HYCONST_TABLE const |
Macro used when declaring tables which require relocations.
ANSI qsort is not always available.
| typedef __int64 I_64 |
Provide some reasonable defaults for the VM types:.
UDATA - unsigned data, can be used as an integer or pointer storage IDATA - signed data, can be used as an integer or pointer storage U_64 / I_64 - unsigned/signed 64 bits U_32 / I_32 - unsigned/signed 32 bits U_16 / I_16 - unsigned/signed 16 bits U_8 / I_8 - unsigned/signed 8 bits (bytes -- not to be confused with char) BOOLEAN - something that can be zero or non-zero | typedef unsigned __int64 U_64 |
| typedef double SYS_FLOAT |
| typedef unsigned int UDATA |
| typedef unsigned int U_32 |
| typedef unsigned short U_16 |
| typedef unsigned char U_8 |
| typedef int IDATA |
| typedef int I_32 |
| typedef short I_16 |
| typedef char I_8 |
| typedef double ESDOUBLE |
| typedef float ESSINGLE |
Genereated on Tue Mar 11 19:25:22 2008 by Doxygen.
(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable.