1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-28 08:11:05 -08:00
emacs/src
Paul Eggert dd0e4d4e16 Let the OS clear large new objects
Prefer calloc to malloc+memset when allocating large zeroed objects.
This avoids page thrashing when (make-vector 1000000000 nil)
allocates a large nil vector, as Emacs need not touch the
vector’s pages.  This wins on platforms like GNU/Linux where
calloc can fiddle with page tables to create a block of memory
that is lazily zeroed.
* src/alloc.c (lisp_malloc, lmalloc, allocate_vectorlike):
New arg CLEARIT to tell callee whether to use malloc or calloc.
All callers changed.
(allocate_clear_vector, allocate_nil_vector): New functions.
* src/alloc.c (xzalloc, make_vector):
* src/lisp.h (make_nil_vector):
Prefer calloc to malloc + memset(...,0,...).
2020-01-02 18:11:25 -08:00
..
bitmaps
.dbxinit
.gdbinit Update copyright year to 2020 2020-01-01 00:59:52 +00:00
alloc.c Let the OS clear large new objects 2020-01-02 18:11:25 -08:00
atimer.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
atimer.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
bidi.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
bignum.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
bignum.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
blockinput.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
buffer.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
buffer.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
bytecode.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
callint.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
callproc.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
casefiddle.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
casetab.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
category.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
category.h
ccl.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ccl.h
ChangeLog.1 Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ChangeLog.2 Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ChangeLog.3 Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ChangeLog.4 Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ChangeLog.5 Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ChangeLog.6 Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ChangeLog.7 Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ChangeLog.8 Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ChangeLog.9 Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ChangeLog.10 Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ChangeLog.11 Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ChangeLog.12 Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ChangeLog.13 Update copyright year to 2020 2020-01-01 00:59:52 +00:00
character.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
character.h Stop signaling an error when reading "smart quotes" in symbols 2019-11-28 18:03:42 -05:00
charset.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
charset.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
chartab.c Do not alter match data in Fcapitalize etc. 2019-07-09 13:11:45 -07:00
cm.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
cm.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
cmds.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
coding.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
coding.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
commands.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
composite.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
composite.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
conf_post.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
COPYING
cygw32.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
cygw32.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
data.c Assume C99-style ‘long long’ 2019-12-31 20:18:22 -08:00
dbusbind.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
decompress.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
deps.mk Update copyright year to 2020 2020-01-01 00:59:52 +00:00
dired.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
dispextern.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
dispnew.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
disptab.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
dmpstruct.awk Update copyright year to 2020 2020-01-01 00:59:52 +00:00
doc.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
doprnt.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
dosfns.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
dosfns.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
dynlib.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
dynlib.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
editfns.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
emacs-icon.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
emacs-module.c Merge from origin/emacs-27 2020-01-01 01:08:16 +00:00
emacs-module.h.in Merge from origin/emacs-27 2020-01-01 01:08:16 +00:00
emacs.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
emacsgtkfixed.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
emacsgtkfixed.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
epaths.in Update copyright year to 2020 2020-01-01 00:59:52 +00:00
eval.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
fileio.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
filelock.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
firstfile.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
floatfns.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
fns.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
font.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
font.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
fontset.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
fontset.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
frame.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
frame.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
fringe.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ftcrfont.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ftfont.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ftfont.h extern function cleanup 2019-08-24 15:55:08 -07:00
ftxfont.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
getpagesize.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
gfilenotify.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
gmalloc.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
gnutls.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
gnutls.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
gtkutil.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
gtkutil.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
hbfont.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
image.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
indent.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
indent.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
inotify.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
insdel.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
intervals.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
intervals.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
json.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
keyboard.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
keyboard.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
keymap.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
keymap.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
kqueue.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
lastfile.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
lcms.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
lisp.h Let the OS clear large new objects 2020-01-02 18:11:25 -08:00
lread.c Merge from origin/emacs-27 2020-01-01 01:08:16 +00:00
macfont.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
macfont.m Merge from origin/emacs-27 2020-01-01 01:08:16 +00:00
macros.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
macros.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
macuvs.h Bring macuvs.h back under Git control 2019-06-22 11:41:49 -07:00
Makefile.in Update copyright year to 2020 2020-01-01 00:59:52 +00:00
marker.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
menu.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
menu.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
mini-gmp-emacs.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
mini-gmp.c Fix duplicated words in comments 2019-10-15 14:28:59 +02:00
mini-gmp.h Update from GMP 2019-04-28 13:17:30 -07:00
minibuf.c Merge from origin/emacs-27 2020-01-01 01:08:16 +00:00
module-env-25.h Make argument names in module interface more consistent. 2019-12-23 17:16:10 +01:00
module-env-26.h
module-env-27.h Make argument names in module interface more consistent. 2019-12-23 17:16:10 +01:00
module-env-28.h Prepare module header generation for Emacs 28. 2019-12-24 01:08:16 +01:00
msdos.c Merge from origin/emacs-27 2020-01-01 01:08:16 +00:00
msdos.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
nsfns.m Merge from origin/emacs-27 2020-01-01 01:08:16 +00:00
nsfont.m Update copyright year to 2020 2020-01-01 00:59:52 +00:00
nsgui.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
nsimage.m Merge from origin/emacs-27 2020-01-01 01:08:16 +00:00
nsmenu.m Update copyright year to 2020 2020-01-01 00:59:52 +00:00
nsselect.m Update copyright year to 2020 2020-01-01 00:59:52 +00:00
nsterm.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
nsterm.m Merge from origin/emacs-27 2020-01-01 01:08:16 +00:00
pdumper.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
pdumper.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
print.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
process.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
process.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
profiler.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ptr-bounds.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
puresize.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
ralloc.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
README Update copyright year to 2020 2020-01-01 00:59:52 +00:00
regex-emacs.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
regex-emacs.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
region-cache.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
region-cache.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
scroll.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
search.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
sheap.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
sheap.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
sound.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
syntax.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
syntax.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
sysdep.c Assume C99-style ‘long long’ 2019-12-31 20:18:22 -08:00
sysselect.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
syssignal.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
sysstdio.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
systhread.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
systhread.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
systime.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
systty.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
syswait.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
term.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
termcap.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
termchar.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
termhooks.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
terminal.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
terminfo.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
termopts.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
textprop.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
thread.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
thread.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
timefns.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
tparam.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
tparam.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
undo.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
unexaix.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
unexcoff.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
unexcw.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
unexec.h
unexelf.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
unexhp9k800.c Use fewer locks when accessing stdio 2019-07-08 17:50:39 -07:00
unexmacosx.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
unexsol.c
unexw32.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
vm-limit.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w16select.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32common.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32console.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32cygwinx.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32fns.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32font.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32font.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32gui.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32heap.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32heap.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32inevt.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32inevt.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32menu.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32notify.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32proc.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32reg.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32select.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32select.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32term.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32term.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32uniscribe.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
w32xfns.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
widget.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
widget.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
widgetprv.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
window.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
window.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xdisp.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xfaces.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xfns.c Fix compilation with GTK versions older than 3 2020-01-01 19:55:35 +02:00
xfont.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xftfont.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xgselect.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xgselect.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xmenu.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xml.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xrdb.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xselect.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xsettings.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xsettings.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xsmfns.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xterm.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xterm.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xwidget.c Update copyright year to 2020 2020-01-01 00:59:52 +00:00
xwidget.h Update copyright year to 2020 2020-01-01 00:59:52 +00:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Copyright (C) 2001-2020 Free Software Foundation, Inc.
See the end of the file for license conditions.


This directory contains the source files for the C component of GNU Emacs.
Nothing in this directory is needed for using Emacs once it is built
and installed, if the dumped Emacs is copied elsewhere.

See the files ../README and then ../INSTALL for installation instructions.

The file 'Makefile.in' is used as a template by the script
'../configure' to produce 'Makefile'.  This is the file which actually
controls the compilation of Emacs C source files.  All of this should
work transparently; you should only need to change to the parent
directory, run './configure', and then run 'make'.

This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.