--- sbbs/include/mozilla/js/jscpucfg.h 2018/04/24 16:41:23 1.1 +++ sbbs/include/mozilla/js/jscpucfg.h 2018/04/24 16:41:55 1.1.1.2 @@ -42,9 +42,13 @@ #include "jsosdep.h" -#ifdef XP_MAC -#undef IS_LITTLE_ENDIAN -#define IS_BIG_ENDIAN 1 +#if defined(XP_WIN) || defined(XP_OS2) || defined(WINCE) + +#if defined(_WIN64) + +#if defined(_M_X64) || defined(_M_AMD64) || defined(_AMD64_) +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN #define JS_BYTES_PER_BYTE 1L #define JS_BYTES_PER_SHORT 2L @@ -53,7 +57,7 @@ #define JS_BYTES_PER_LONG 4L #define JS_BYTES_PER_FLOAT 4L #define JS_BYTES_PER_DOUBLE 8L -#define JS_BYTES_PER_WORD 4L +#define JS_BYTES_PER_WORD 8L #define JS_BYTES_PER_DWORD 8L #define JS_BITS_PER_BYTE 8L @@ -63,7 +67,7 @@ #define JS_BITS_PER_LONG 32L #define JS_BITS_PER_FLOAT 32L #define JS_BITS_PER_DOUBLE 64L -#define JS_BITS_PER_WORD 32L +#define JS_BITS_PER_WORD 64L #define JS_BITS_PER_BYTE_LOG2 3L #define JS_BITS_PER_SHORT_LOG2 4L @@ -72,28 +76,30 @@ #define JS_BITS_PER_LONG_LOG2 5L #define JS_BITS_PER_FLOAT_LOG2 5L #define JS_BITS_PER_DOUBLE_LOG2 6L -#define JS_BITS_PER_WORD_LOG2 5L +#define JS_BITS_PER_WORD_LOG2 6L #define JS_ALIGN_OF_SHORT 2L #define JS_ALIGN_OF_INT 4L #define JS_ALIGN_OF_LONG 4L -#define JS_ALIGN_OF_INT64 2L +#define JS_ALIGN_OF_INT64 8L #define JS_ALIGN_OF_FLOAT 4L -#define JS_ALIGN_OF_DOUBLE 4L -#define JS_ALIGN_OF_POINTER 4L -#define JS_ALIGN_OF_WORD 4L +#define JS_ALIGN_OF_DOUBLE 8L +#define JS_ALIGN_OF_POINTER 8L +#define JS_ALIGN_OF_WORD 8L -#define JS_BYTES_PER_WORD_LOG2 2L +#define JS_BYTES_PER_WORD_LOG2 3L #define JS_BYTES_PER_DWORD_LOG2 3L -#define PR_WORDS_PER_DWORD_LOG2 1L +#define PR_WORDS_PER_DWORD_LOG2 0L +#else /* !(defined(_M_X64) || defined(_M_AMD64) || defined(_AMD64_)) */ +#error "CPU type is unknown" +#endif /* !(defined(_M_X64) || defined(_M_AMD64) || defined(_AMD64_)) */ -#elif defined(XP_WIN) || defined(XP_OS2) +#elif defined(_WIN32) || defined(XP_OS2) || defined(WINCE) #ifdef __WATCOMC__ #define HAVE_VA_LIST_AS_ARRAY #endif -#if defined( _WIN32) || defined(XP_OS2) #define IS_LITTLE_ENDIAN 1 #undef IS_BIG_ENDIAN @@ -137,9 +143,10 @@ #define JS_BYTES_PER_WORD_LOG2 2L #define JS_BYTES_PER_DWORD_LOG2 3L #define PR_WORDS_PER_DWORD_LOG2 1L -#endif /* _WIN32 || XP_OS2 */ +#endif /* _WIN32 || XP_OS2 || WINCE*/ #if defined(_WINDOWS) && !defined(_WIN32) /* WIN16 */ + #define IS_LITTLE_ENDIAN 1 #undef IS_BIG_ENDIAN @@ -183,6 +190,7 @@ #define JS_BYTES_PER_WORD_LOG2 2L #define JS_BYTES_PER_DWORD_LOG2 3L #define PR_WORDS_PER_DWORD_LOG2 1L + #endif /* defined(_WINDOWS) && !defined(_WIN32) */ #elif defined(XP_UNIX) || defined(XP_BEOS) @@ -193,7 +201,7 @@ #else -#error "Must define one of XP_BEOS, XP_MAC, XP_OS2, XP_WIN, or XP_UNIX" +#error "Must define one of XP_BEOS, XP_OS2, XP_WIN, or XP_UNIX" #endif