Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 1 | From d4a15ad82292ff6d772dcc631df98754d20be31b Mon Sep 17 00:00:00 2001 |
| 2 | From: Colin Walters <walters@verbum.org> |
| 3 | Date: Tue, 18 Mar 2014 11:46:05 -0400 |
| 4 | Subject: [PATCH 2/5] Move JS_BYTES_PER_WORD out of config.h |
| 5 | |
| 6 | Instead define it in terms of the already extant GNU C extension |
| 7 | __SIZEOF_POINTER__. This avoids multiarch conflicts when 32 and 64 |
| 8 | bit packages of js are co-installed. |
| 9 | --- |
| 10 | |
| 11 | Upstream-status: Pending |
| 12 | |
| 13 | js/src/configure.in | 9 --------- |
| 14 | js/src/js-config.h.in | 1 - |
| 15 | js/src/jstypes.h | 12 ++++++++++++ |
| 16 | 3 files changed, 12 insertions(+), 10 deletions(-) |
| 17 | |
| 18 | diff --git a/js/src/configure.in b/js/src/configure.in |
| 19 | index 15605b2..64c7606 100644 |
| 20 | --- a/js/src/configure.in |
| 21 | +++ b/js/src/configure.in |
| 22 | @@ -2345,15 +2345,6 @@ else |
| 23 | AC_MSG_RESULT(no) |
| 24 | fi |
| 25 | |
| 26 | -MOZ_SIZE_OF_TYPE(JS_BYTES_PER_WORD, void*, 4 8) |
| 27 | -if test "$moz_cv_size_of_JS_BYTES_PER_WORD" -eq "4"; then |
| 28 | - AC_DEFINE(JS_BITS_PER_WORD_LOG2, 5) |
| 29 | -elif test "$moz_cv_size_of_JS_BYTES_PER_WORD" -eq "8"; then |
| 30 | - AC_DEFINE(JS_BITS_PER_WORD_LOG2, 6) |
| 31 | -else |
| 32 | - AC_MSG_ERROR([Unexpected JS_BYTES_PER_WORD]) |
| 33 | -fi |
| 34 | - |
| 35 | MOZ_ALIGN_OF_TYPE(JS_ALIGN_OF_POINTER, void*, 2 4 8 16) |
| 36 | MOZ_SIZE_OF_TYPE(JS_BYTES_PER_DOUBLE, double, 6 8 10 12 14) |
| 37 | |
| 38 | diff --git a/js/src/js-config.h.in b/js/src/js-config.h.in |
| 39 | index 6889e00..4775420 100644 |
| 40 | --- a/js/src/js-config.h.in |
| 41 | +++ b/js/src/js-config.h.in |
| 42 | @@ -56,7 +56,6 @@ |
| 43 | #undef JS_INT32_TYPE |
| 44 | #undef JS_INT64_TYPE |
| 45 | #undef JS_INTPTR_TYPE |
| 46 | -#undef JS_BYTES_PER_WORD |
| 47 | |
| 48 | /* Some mozilla code uses JS-friend APIs that depend on JS_METHODJIT being |
| 49 | correct. */ |
| 50 | diff --git a/js/src/jstypes.h b/js/src/jstypes.h |
| 51 | index d0cf183..3e7928f 100644 |
| 52 | --- a/js/src/jstypes.h |
| 53 | +++ b/js/src/jstypes.h |
| 54 | @@ -24,6 +24,18 @@ |
| 55 | #include "mozilla/Util.h" |
| 56 | |
| 57 | #include "js-config.h" |
| 58 | +#ifndef JS_BYTES_PER_WORD |
| 59 | +#define JS_BYTES_PER_WORD __SIZEOF_POINTER__ |
| 60 | +#endif |
| 61 | +#ifndef JS_BITS_PER_WORD_LOG2 |
| 62 | +#if JS_BYTES_PER_WORD == 8 |
| 63 | +#define JS_BITS_PER_WORD_LOG2 6 |
| 64 | +#elif JS_BYTES_PER_WORD == 4 |
| 65 | +#define JS_BITS_PER_WORD_LOG2 5 |
| 66 | +#else |
| 67 | +#error Unhandled JS_BYTES_PER_WORD |
| 68 | +#endif |
| 69 | +#endif |
| 70 | |
| 71 | /*********************************************************************** |
| 72 | ** MACROS: JS_EXTERN_API |
| 73 | -- |
| 74 | 1.9.3 |
| 75 | |