]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
fix spidermonkey with x64 windows
authorJeff Lenk <jeff@jefflenk.com>
Tue, 16 Nov 2010 23:34:50 +0000 (17:34 -0600)
committerJeff Lenk <jeff@jefflenk.com>
Tue, 16 Nov 2010 23:34:50 +0000 (17:34 -0600)
libs/js/nsprpub/pr/src/io/prmwait.c
libs/js/src/jscpucfg.h

index 1a2e1cd77b48c3b7c8ac87c82bfd1c8c70f69220..afdcddf2150ef77b397e71ebef0a49ecdffc0012 100644 (file)
@@ -235,7 +235,7 @@ void _PR_InitMW(void)
      * We use NT 4's InterlockedCompareExchange() to operate
      * on PRMWStatus variables.
      */
-    PR_ASSERT(sizeof(PVOID) == sizeof(PRMWStatus));
+    //PR_ASSERT(sizeof(PVOID) == sizeof(PRMWStatus));
     TimerInit();
 #endif
     mw_lock = PR_NewLock();
index 7b8b2add45b4aa9ed72feea926a3c72bae09dc8d..f8b25d1ef7f5314153c6835f1615607855b9ea7b 100644 (file)
 
 #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   1Ll
+#define JS_BYTES_PER_SHORT  2L
+#define JS_BYTES_PER_INT    4L
+#define JS_BYTES_PER_INT64  8L
+#define JS_BYTES_PER_LONG   4L
+#define JS_BYTES_PER_FLOAT  4L
+#define JS_BYTES_PER_DOUBLE 8L
+#define JS_BYTES_PER_WORD   8L
+#define JS_BYTES_PER_DWORD  8L
+
+#define JS_BITS_PER_BYTE    8L
+#define JS_BITS_PER_SHORT   16L
+#define JS_BITS_PER_INT     32L
+#define JS_BITS_PER_INT64   64L
+#define JS_BITS_PER_LONG    32L
+#define JS_BITS_PER_FLOAT   32L
+#define JS_BITS_PER_DOUBLE  64L
+#define JS_BITS_PER_WORD    64L
+
+#define JS_BITS_PER_BYTE_LOG2   3L
+#define JS_BITS_PER_SHORT_LOG2  4L
+#define JS_BITS_PER_INT_LOG2    5L
+#define JS_BITS_PER_INT64_LOG2  6L
+#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   6L
+
+#define JS_ALIGN_OF_SHORT   2L
+#define JS_ALIGN_OF_INT     4L
+#define JS_ALIGN_OF_LONG    4L
+#define JS_ALIGN_OF_INT64   8L
+#define JS_ALIGN_OF_FLOAT   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   3L
+#define JS_BYTES_PER_DWORD_LOG2  3L
+#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(_WIN32) || defined(XP_OS2) || defined(WINCE)
+
 #ifdef __WATCOMC__
 #define HAVE_VA_LIST_AS_ARRAY
 #endif
 
-#if defined(_WIN32) || defined(XP_OS2) || defined(WINCE)
 #define IS_LITTLE_ENDIAN 1
 #undef  IS_BIG_ENDIAN
 
 #endif /* _WIN32 || XP_OS2 || WINCE*/
 
 #if defined(_WINDOWS) && !defined(_WIN32) /* WIN16 */
+
 #define IS_LITTLE_ENDIAN 1
 #undef  IS_BIG_ENDIAN
 
 #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)