|
|
a80b73 |
From 5b2bfe99c7ef70ea75731c88b43d9036be11d236 Mon Sep 17 00:00:00 2001
|
|
|
a80b73 |
From: Colin Walters <walters@verbum.org>
|
|
|
a80b73 |
Date: Tue, 18 Mar 2014 11:46:05 -0400
|
|
|
a80b73 |
Subject: [PATCH] Move JS_BYTES_PER_WORD out of config.h
|
|
|
a80b73 |
|
|
|
a80b73 |
Instead define it in terms of the already extant GNU C extension
|
|
|
a80b73 |
__SIZEOF_POINTER__. This avoids multiarch conflicts when 32 and 64
|
|
|
a80b73 |
bit packages of js are co-installed.
|
|
|
a80b73 |
---
|
|
|
a80b73 |
js/src/configure.in | 9 ---------
|
|
|
a80b73 |
js/src/js-config.h.in | 1 -
|
|
|
a80b73 |
js/src/jstypes.h | 12 ++++++++++++
|
|
|
a80b73 |
3 files changed, 12 insertions(+), 10 deletions(-)
|
|
|
a80b73 |
|
|
|
a80b73 |
diff --git a/js/src/configure.in b/js/src/configure.in
|
|
|
a80b73 |
index 19fd704..0673aca 100644
|
|
|
a80b73 |
--- a/js/src/configure.in
|
|
|
a80b73 |
+++ b/js/src/configure.in
|
|
|
a80b73 |
@@ -2349,15 +2349,6 @@ else
|
|
|
a80b73 |
AC_MSG_RESULT(no)
|
|
|
a80b73 |
fi
|
|
|
a80b73 |
|
|
|
a80b73 |
-MOZ_SIZE_OF_TYPE(JS_BYTES_PER_WORD, void*, 4 8)
|
|
|
a80b73 |
-if test "$moz_cv_size_of_JS_BYTES_PER_WORD" -eq "4"; then
|
|
|
a80b73 |
- AC_DEFINE(JS_BITS_PER_WORD_LOG2, 5)
|
|
|
a80b73 |
-elif test "$moz_cv_size_of_JS_BYTES_PER_WORD" -eq "8"; then
|
|
|
a80b73 |
- AC_DEFINE(JS_BITS_PER_WORD_LOG2, 6)
|
|
|
a80b73 |
-else
|
|
|
a80b73 |
- AC_MSG_ERROR([Unexpected JS_BYTES_PER_WORD])
|
|
|
a80b73 |
-fi
|
|
|
a80b73 |
-
|
|
|
a80b73 |
MOZ_ALIGN_OF_TYPE(JS_ALIGN_OF_POINTER, void*, 2 4 8 16)
|
|
|
a80b73 |
MOZ_SIZE_OF_TYPE(JS_BYTES_PER_DOUBLE, double, 6 8 10 12 14)
|
|
|
a80b73 |
|
|
|
a80b73 |
diff --git a/js/src/js-config.h.in b/js/src/js-config.h.in
|
|
|
a80b73 |
index 6889e00..4775420 100644
|
|
|
a80b73 |
--- a/js/src/js-config.h.in
|
|
|
a80b73 |
+++ b/js/src/js-config.h.in
|
|
|
a80b73 |
@@ -56,7 +56,6 @@
|
|
|
a80b73 |
#undef JS_INT32_TYPE
|
|
|
a80b73 |
#undef JS_INT64_TYPE
|
|
|
a80b73 |
#undef JS_INTPTR_TYPE
|
|
|
a80b73 |
-#undef JS_BYTES_PER_WORD
|
|
|
a80b73 |
|
|
|
a80b73 |
/* Some mozilla code uses JS-friend APIs that depend on JS_METHODJIT being
|
|
|
a80b73 |
correct. */
|
|
|
a80b73 |
diff --git a/js/src/jstypes.h b/js/src/jstypes.h
|
|
|
a80b73 |
index d0cf183..3e7928f 100644
|
|
|
a80b73 |
--- a/js/src/jstypes.h
|
|
|
a80b73 |
+++ b/js/src/jstypes.h
|
|
|
a80b73 |
@@ -24,6 +24,18 @@
|
|
|
a80b73 |
#include "mozilla/Util.h"
|
|
|
a80b73 |
|
|
|
a80b73 |
#include "js-config.h"
|
|
|
a80b73 |
+#ifndef JS_BYTES_PER_WORD
|
|
|
a80b73 |
+#define JS_BYTES_PER_WORD __SIZEOF_POINTER__
|
|
|
a80b73 |
+#endif
|
|
|
a80b73 |
+#ifndef JS_BITS_PER_WORD_LOG2
|
|
|
a80b73 |
+#if JS_BYTES_PER_WORD == 8
|
|
|
a80b73 |
+#define JS_BITS_PER_WORD_LOG2 6
|
|
|
a80b73 |
+#elif JS_BYTES_PER_WORD == 4
|
|
|
a80b73 |
+#define JS_BITS_PER_WORD_LOG2 5
|
|
|
a80b73 |
+#else
|
|
|
a80b73 |
+#error Unhandled JS_BYTES_PER_WORD
|
|
|
a80b73 |
+#endif
|
|
|
a80b73 |
+#endif
|
|
|
a80b73 |
|
|
|
a80b73 |
/***********************************************************************
|
|
|
a80b73 |
** MACROS: JS_EXTERN_API
|
|
|
a80b73 |
--
|
|
|
a80b73 |
1.8.3.1
|
|
|
a80b73 |
|