all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* mmap(2)-like allocation of buffer text on MS-Windows
@ 2014-05-27 17:48 Eli Zaretskii
  2014-05-27 19:09 ` Fabrice Popineau
  2014-05-27 19:51 ` Stefan Monnier
  0 siblings, 2 replies; 9+ messages in thread
From: Eli Zaretskii @ 2014-05-27 17:48 UTC (permalink / raw)
  To: emacs-devel; +Cc: Juanma Barranquero, Fabrice Popineau

Starting with trunk revision 117168, the MS-Windows build uses mmap(2)
emulation code, written by Fabrice Popineau, for allocating buffer
text.  This allows to stop using gmalloc.c and ralloc.c on this
platform, and thus get rid of the nasty problems with buffer text
relocation when large chunks of memory are allocated.  (There are
still a few other platforms that use ralloc.c, though.)

As a nice side-effect (due to changes in how dumped Lisp data is now
recorded on MS-Windows), the produced binary can now be stripped, so
that "make install-strip" should work.

I'd like to take this opportunity to thank Fabrice for his efforts,
and his endurance and perseverance during the long time this project
required.  Special thanks to Juanma for helping test the first
versions of the code.

Enjoy.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mmap(2)-like allocation of buffer text on MS-Windows
  2014-05-27 17:48 mmap(2)-like allocation of buffer text on MS-Windows Eli Zaretskii
@ 2014-05-27 19:09 ` Fabrice Popineau
  2014-05-27 19:51 ` Stefan Monnier
  1 sibling, 0 replies; 9+ messages in thread
From: Fabrice Popineau @ 2014-05-27 19:09 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Juanma Barranquero, Emacs developers

[-- Attachment #1: Type: text/plain, Size: 80 bytes --]

And many thanks to Eli for his (as always) valuable comments and help.

Fabrice

[-- Attachment #2: Type: text/html, Size: 180 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mmap(2)-like allocation of buffer text on MS-Windows
  2014-05-27 17:48 mmap(2)-like allocation of buffer text on MS-Windows Eli Zaretskii
  2014-05-27 19:09 ` Fabrice Popineau
@ 2014-05-27 19:51 ` Stefan Monnier
  2014-05-27 21:02   ` Paul Eggert
  1 sibling, 1 reply; 9+ messages in thread
From: Stefan Monnier @ 2014-05-27 19:51 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Juanma Barranquero, Fabrice Popineau, emacs-devel

> Starting with trunk revision 117168, the MS-Windows build uses mmap(2)
> emulation code, written by Fabrice Popineau, for allocating buffer
> text.  This allows to stop using gmalloc.c and ralloc.c on this
> platform, and thus get rid of the nasty problems with buffer text
> relocation when large chunks of memory are allocated.

Yay!  Thanks Fabrice et.al!

> (There are still a few other platforms that use ralloc.c, though.)

Which ones would that be?


        Stefan



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mmap(2)-like allocation of buffer text on MS-Windows
  2014-05-27 19:51 ` Stefan Monnier
@ 2014-05-27 21:02   ` Paul Eggert
  2014-05-28  2:45     ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Paul Eggert @ 2014-05-27 21:02 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

On 05/27/2014 12:51 PM, Stefan Monnier wrote:
>> (There are still a few other platforms that use ralloc.c, though.)
> Which ones would that be?

If I'm reading the latest configure.ac correctly, no platform uses 
ralloc.c in the trunk, and we can remove ralloc.c.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mmap(2)-like allocation of buffer text on MS-Windows
  2014-05-27 21:02   ` Paul Eggert
@ 2014-05-28  2:45     ` Eli Zaretskii
  2014-05-28  3:39       ` Paul Eggert
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2014-05-28  2:45 UTC (permalink / raw)
  To: Paul Eggert; +Cc: monnier, emacs-devel

> Date: Tue, 27 May 2014 14:02:25 -0700
> From: Paul Eggert <eggert@cs.ucla.edu>
> Cc: emacs-devel@gnu.org
> 
> On 05/27/2014 12:51 PM, Stefan Monnier wrote:
> >> (There are still a few other platforms that use ralloc.c, though.)
> > Which ones would that be?
> 
> If I'm reading the latest configure.ac correctly, no platform uses 
> ralloc.c in the trunk, and we can remove ralloc.c.

I thought the *BSD systems did, don't they?

Anyway, the MS-DOS build certainly does, so ralloc.c shouldn't be
removed yet.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mmap(2)-like allocation of buffer text on MS-Windows
  2014-05-28  2:45     ` Eli Zaretskii
@ 2014-05-28  3:39       ` Paul Eggert
  2014-05-28 14:14         ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Paul Eggert @ 2014-05-28  3:39 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Eli Zaretskii wrote:
>> If I'm reading the latest configure.ac correctly, no platform uses
>> >ralloc.c in the trunk, and we can remove ralloc.c.
> I thought the *BSD systems did, don't they?

Sorry, I was too hasty in reading configure.ac.  On rereading it, it 
appears that ralloc.c is used on DragonFly, NetBSD, OpenBSD, HP-UX, AIX, 
Solaris 9-and-earlier, and Unixware.  ralloc.c is not used on FreeBSD, 
though, as that uses mmap for buffers.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mmap(2)-like allocation of buffer text on MS-Windows
  2014-05-28  3:39       ` Paul Eggert
@ 2014-05-28 14:14         ` Eli Zaretskii
  2014-05-28 17:41           ` Stefan Monnier
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2014-05-28 14:14 UTC (permalink / raw)
  To: Paul Eggert; +Cc: emacs-devel

> Date: Tue, 27 May 2014 20:39:01 -0700
> From: Paul Eggert <eggert@cs.ucla.edu>
> CC: emacs-devel@gnu.org
> 
> ralloc.c is not used on FreeBSD, though, as that uses mmap for
> buffers.

That figures: Gerd Moellmann, who implemented the mmap allocation,
used FreeBSD at the time, AFAIR.



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mmap(2)-like allocation of buffer text on MS-Windows
  2014-05-28 14:14         ` Eli Zaretskii
@ 2014-05-28 17:41           ` Stefan Monnier
  2014-05-28 17:51             ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Monnier @ 2014-05-28 17:41 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Paul Eggert, emacs-devel

> That figures: Gerd Moellmann, who implemented the mmap allocation,
> used FreeBSD at the time, AFAIR.

Any good reason not to use mmap on the other BSDs?


        Stefan



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mmap(2)-like allocation of buffer text on MS-Windows
  2014-05-28 17:41           ` Stefan Monnier
@ 2014-05-28 17:51             ` Eli Zaretskii
  0 siblings, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2014-05-28 17:51 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: eggert, emacs-devel

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Paul Eggert <eggert@cs.ucla.edu>,  emacs-devel@gnu.org
> Date: Wed, 28 May 2014 13:41:21 -0400
> 
> > That figures: Gerd Moellmann, who implemented the mmap allocation,
> > used FreeBSD at the time, AFAIR.
> 
> Any good reason not to use mmap on the other BSDs?

No clue here.  I'm not familiar with these systems, I just remembered
that during some past pretest (23.4, perhaps?) some *BSD user reported
a crash that involved ralloc.c.



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-05-28 17:51 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-27 17:48 mmap(2)-like allocation of buffer text on MS-Windows Eli Zaretskii
2014-05-27 19:09 ` Fabrice Popineau
2014-05-27 19:51 ` Stefan Monnier
2014-05-27 21:02   ` Paul Eggert
2014-05-28  2:45     ` Eli Zaretskii
2014-05-28  3:39       ` Paul Eggert
2014-05-28 14:14         ` Eli Zaretskii
2014-05-28 17:41           ` Stefan Monnier
2014-05-28 17:51             ` Eli Zaretskii

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.