Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
0930c1a1
Commit
0930c1a1
authored
Sep 11, 2003
by
Stefan Monnier
Browse files
(init_intervals, init_symbol, init_marker): Don't preallocate anything.
(Fgarbage_collect, mark_object): Ignore the markbit.
parent
2a1c1d71
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
35 additions
and
72 deletions
+35
-72
src/ChangeLog
src/ChangeLog
+20
-17
src/alloc.c
src/alloc.c
+15
-55
No files found.
src/ChangeLog
View file @
0930c1a1
2003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
* alloc.c (init_intervals, init_symbol, init_marker):
Don't preallocate anything.
(Fgarbage_collect, mark_object): Ignore the markbit.
* bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
2003-09-08 Lute Kamstra <Lute.Kamstra@cwi.nl>
* xdisp.c (pint2hrstr): New function.
...
...
@@ -12,8 +20,7 @@
2003-09-07 Eli Zaretskii <eliz@elta.co.il>
* editfns.c (region_limit): Support any non-zero value of
BEGINNINGP.
* editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
2003-09-03 Kim F. Storm <storm@cua.dk>
...
...
@@ -54,9 +61,9 @@
2003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
* xdisp.c (redisplay_internal): Fix change of 2003-04-30.
Don't
tell redisplay display is accurate when it's actually been
paused
for pending input.
* xdisp.c (redisplay_internal): Fix change of 2003-04-30.
Don't
tell redisplay display is accurate when it's actually been
paused
for pending input.
2003-08-29 Richard M. Stallman <rms@gnu.org>
...
...
@@ -65,7 +72,7 @@
* data.c (Fmake_variable_buffer_local, Fmake_local_variable)
(Fkill_local_variable, Fmake_variable_frame_local)
(Flocal_variable_p, Flocal_variable_if_set_p):
(Flocal_variable_p, Flocal_variable_if_set_p):
Use indirect_variable to trace thru variable aliases.
* config.in: Updated.
...
...
@@ -82,7 +89,7 @@
2003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
* coding.c (decode_coding_iso2022): Initialize
d
local variable c2.
* coding.c (decode_coding_iso2022): Initialize local variable c2.
(decode_coding_sjis_big5): Likewise.
2003-08-27 Jason Rumney <jasonr@gnu.org>
...
...
@@ -100,13 +107,11 @@
2003-08-24 Eli Zaretskii <eliz@elta.co.il>
* term.c (term_init): Remove `const' from buffer_size's
declaration.
* term.c (term_init): Remove `const' from buffer_size's declaration.
* Makefile.in (msdos.o): Depend on intervals.h.
* msdos.c: Include intervals.h, since STRING_INTERVALS requires
that.
* msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
2003-08-21 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
...
...
@@ -146,7 +151,7 @@
(xmalloc, xfree): Declare.
(malloc): Don't declare.
* Makefile.in (LWLIB_OPTIONS): Remove
d
(unused).
* Makefile.in (LWLIB_OPTIONS): Remove (unused).
(alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
atimer.h, blockinput.h.
...
...
@@ -175,8 +180,7 @@
* puresize.h (BASE_PURESIZE): Increase to 1100000.
* buffer.c (Fmove_overlay): Set overlay's next pointer
unconditionally.
* buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
2003-08-16 Richard M. Stallman <rms@gnu.org>
...
...
@@ -190,7 +194,7 @@
2003-08-16 Juri Linkov <juri@jurta.org> (tiny change)
* syntax.c (Fforward_word): Argument changed to optional.
Set default value to 1.
Set default value to 1.
2003-08-15 Kenichi Handa <handa@m17n.org>
...
...
@@ -248,8 +252,7 @@
2003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp> (tiny change)
* xfns.c (xic_set_preeditarea): Add the left fringe width to
spot.x.
* xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
2003-07-22 Stefan Monnier <monnier@cs.yale.edu>
...
...
src/alloc.c
View file @
0930c1a1
...
...
@@ -1131,14 +1131,10 @@ int n_interval_blocks;
static
void
init_intervals
()
{
interval_block
=
(
struct
interval_block
*
)
lisp_malloc
(
sizeof
*
interval_block
,
MEM_TYPE_NON_LISP
);
interval_block
->
next
=
0
;
bzero
((
char
*
)
interval_block
->
intervals
,
sizeof
interval_block
->
intervals
);
interval_block_index
=
0
;
interval_block
=
NULL
;
interval_block_index
=
INTERVAL_BLOCK_SIZE
;
interval_free_list
=
0
;
n_interval_blocks
=
1
;
n_interval_blocks
=
0
;
}
...
...
@@ -2768,13 +2764,10 @@ int n_symbol_blocks;
void
init_symbol
()
{
symbol_block
=
(
struct
symbol_block
*
)
lisp_malloc
(
sizeof
*
symbol_block
,
MEM_TYPE_SYMBOL
);
symbol_block
->
next
=
0
;
bzero
((
char
*
)
symbol_block
->
symbols
,
sizeof
symbol_block
->
symbols
);
symbol_block_index
=
0
;
symbol_block
=
NULL
;
symbol_block_index
=
SYMBOL_BLOCK_SIZE
;
symbol_free_list
=
0
;
n_symbol_blocks
=
1
;
n_symbol_blocks
=
0
;
}
...
...
@@ -2854,13 +2847,11 @@ int n_marker_blocks;
void
init_marker
()
{
marker_block
=
(
struct
marker_block
*
)
lisp_malloc
(
sizeof
*
marker_block
,
MEM_TYPE_MISC
);
marker_block
->
next
=
0
;
bzero
((
char
*
)
marker_block
->
markers
,
sizeof
marker_block
->
markers
);
marker_block_index
=
0
;
marker_block
=
NULL
;
marker_block_index
=
MARKER_BLOCK_SIZE
;
marker_free_list
=
0
;
n_marker_blocks
=
1
;
n_marker_blocks
=
0
;
fprintf
(
stderr
,
"union Lisp_Misc = %d
\n
"
,
sizeof
(
union
Lisp_Misc
));
}
/* Return a newly allocated Lisp_Misc object, with no substructure. */
...
...
@@ -4395,12 +4386,7 @@ returns nil, because real GC can't be done. */)
/* clear_marks (); */
/* Mark all the special slots that serve as the roots of accessibility.
Usually the special slots to mark are contained in particular structures.
Then we know no slot is marked twice because the structures don't overlap.
In some cases, the structures point to the slots to be marked.
For these, we use MARKBIT to avoid double marking of the slot. */
/* Mark all the special slots that serve as the roots of accessibility. */
for
(
i
=
0
;
i
<
staticidx
;
i
++
)
mark_object
(
*
staticvec
[
i
]);
...
...
@@ -4413,11 +4399,7 @@ returns nil, because real GC can't be done. */)
register
struct
gcpro
*
tail
;
for
(
tail
=
gcprolist
;
tail
;
tail
=
tail
->
next
)
for
(
i
=
0
;
i
<
tail
->
nvars
;
i
++
)
if
(
!
XMARKBIT
(
tail
->
var
[
i
]))
{
mark_object
(
tail
->
var
[
i
]);
XMARK
(
tail
->
var
[
i
]);
}
mark_object
(
tail
->
var
[
i
]);
}
#endif
...
...
@@ -4439,21 +4421,14 @@ returns nil, because real GC can't be done. */)
}
for
(
backlist
=
backtrace_list
;
backlist
;
backlist
=
backlist
->
next
)
{
if
(
!
XMARKBIT
(
*
backlist
->
function
))
{
mark_object
(
*
backlist
->
function
);
XMARK
(
*
backlist
->
function
);
}
mark_object
(
*
backlist
->
function
);
if
(
backlist
->
nargs
==
UNEVALLED
||
backlist
->
nargs
==
MANY
)
i
=
0
;
else
i
=
backlist
->
nargs
-
1
;
for
(;
i
>=
0
;
i
--
)
if
(
!
XMARKBIT
(
backlist
->
args
[
i
]))
{
mark_object
(
backlist
->
args
[
i
]);
XMARK
(
backlist
->
args
[
i
]);
}
mark_object
(
backlist
->
args
[
i
]);
}
mark_kboards
();
...
...
@@ -4519,24 +4494,10 @@ returns nil, because real GC can't be done. */)
|| GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES)
{
register
struct
gcpro
*
tail
;
for
(
tail
=
gcprolist
;
tail
;
tail
=
tail
->
next
)
for
(
i
=
0
;
i
<
tail
->
nvars
;
i
++
)
XUNMARK
(
tail
->
var
[
i
]);
}
#endif
unmark_byte_stack
();
for
(
backlist
=
backtrace_list
;
backlist
;
backlist
=
backlist
->
next
)
{
XUNMARK
(
*
backlist
->
function
);
if
(
backlist
->
nargs
==
UNEVALLED
||
backlist
->
nargs
==
MANY
)
i
=
0
;
else
i
=
backlist
->
nargs
-
1
;
for
(;
i
>=
0
;
i
--
)
XUNMARK
(
backlist
->
args
[
i
]);
}
VECTOR_UNMARK
(
&
buffer_defaults
);
VECTOR_UNMARK
(
&
buffer_local_symbols
);
...
...
@@ -4721,7 +4682,6 @@ mark_object (arg)
int
cdr_count
=
0
;
loop:
XUNMARK
(
obj
);
if
(
PURE_POINTER_P
(
XPNTR
(
obj
)))
return
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment