> From: Fabrice Popineau <fabrice.popineau@...>
> Date: Sun, 19 Feb 2012 23:05:52 +0100
> Cc: AJMR <ajmr@...>, emacs-devel@... >
> Here is my Windows 64 bits patch. It is quite crude and only attempts to
> make it possible to compile a 64bits emacs with the MS Sdk.
I have a few questions about the patch (below).
> the heap allocation scheme should probably be reworked
Can you tell which parts of the current scheme need to be reworked,
and why do you think so?
This should go into w32term.h (it is already in xterm.h and nsterm.h).
> --- src/m/amdx86-64.h 2012-01-19 07:21:25 +0000
> +++ src/m/amdx86-64.h 2012-02-05 20:06:34 +0000
> @@ -17,7 +17,8 @@
> You should have received a copy of the GNU General Public License
> along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
> -#define BITS_PER_LONG 64
> +#define BITS_PER_LONG 32
Here Windows and Posix systems differ, so it's wrong to do this
unconditionally. Does the 64-bit Windows define _LLP64 or some such
somewhere on its headers? If so, perhaps we could condition the above
on that macro, vs _LP64 on Posix hosts.
> /* Define the type to use. */
> -#define EMACS_INT long
> -#define pI "l"
> -#define EMACS_UINT unsigned long
> +#define EMACS_INT __int64
> +#define EMACS_UINT unsigned __int64
> +#define pI "ll"
> +#define VIRT_ADDR_VARIES
> +#define DATA_START get_data_start ()