[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master f39141b 1/8: Merge from origin/emacs-25
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] master f39141b 1/8: Merge from origin/emacs-25 |
Date: |
Sun, 23 Oct 2016 09:58:39 +0000 (UTC) |
branch: master
commit f39141b786525700c2619e5731c166e294265888
Merge: 241ae7a 2deb20c
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>
Merge from origin/emacs-25
2deb20c Port last_marked change to full-program optimizers
27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
dac64e3 Avoid optimizing out the last_marked[] array
---
etc/emacs-buffer.gdb | 36 +++++++++++++++++++++++++-----------
src/.gdbinit | 3 +--
src/alloc.c | 2 +-
3 files changed, 27 insertions(+), 14 deletions(-)
diff --git a/etc/emacs-buffer.gdb b/etc/emacs-buffer.gdb
index 7102dc6..61b06f2 100644
--- a/etc/emacs-buffer.gdb
+++ b/etc/emacs-buffer.gdb
@@ -70,8 +70,10 @@
# Code:
-# Force loading of symbols, enough to give us VALMASK etc.
-set main
+# Force loading of symbols, enough to give us VALBITS etc.
+set $dummy = main + 8
+# With some compilers, we need this to give us struct Lisp_Symbol etc.:
+set $dummy = Fmake_symbol + 8
# When nonzero, display some extra diagnostics in various commands
set $yverbose = 1
@@ -82,6 +84,11 @@ define ygetptr
set $ptr = (CHECK_LISP_OBJECT_TYPE ? $ptr.i : $ptr) & VALMASK
end
+# Get the value of Qnil for comparison. Needed when
+# CHECK_LISP_OBJECT_TYPE is non-zero.
+ygetptr Qnil
+set $qnil = $ptr
+
define ybuffer-list
set $files_only = $yfile_buffers_only
set $yfile_buffers_only = 0
@@ -93,10 +100,13 @@ define ybuffer-list
set $i = 0
set $alist = Vbuffer_alist
- while $alist != Qnil
- ygetptr $alist
+ ygetptr $alist
+ set $alist = $ptr
+ while $alist != $qnil
set $this = ((struct Lisp_Cons *) $ptr)->car
set $alist = ((struct Lisp_Cons *) $ptr)->u.cdr
+ ygetptr $alist
+ set $alist = $ptr
# Vbuffer_alist elts are pairs of the form (name . buffer)
ygetptr $this
@@ -104,7 +114,9 @@ define ybuffer-list
ygetptr $buf
set $buf = (struct buffer *) $ptr
- if ! ($files_only && $buf->filename_ == Qnil)
+ ygetptr $buf->filename_
+ set $fname = $ptr
+ if ! ($files_only && $fname == $qnil)
ygetptr $buf->name_
set $name = ((struct Lisp_String *) $ptr)->data
set $modp = ($buf->text->modiff > $buf->text->save_modiff) ? '*' : ' '
@@ -112,11 +124,11 @@ define ybuffer-list
ygetptr $buf->mode_name_
set $mode = ((struct Lisp_String *) $ptr)->data
- if $buf->filename_ != Qnil
+ if $fname != $qnil
ygetptr $buf->filename_
printf "%2d %c %9d %-20s %-10s %s\n", \
$i, $modp, ($buf->text->z_byte - 1), $name, $mode, \
- ((struct Lisp_String *) $ptr)->data
+ ((struct Lisp_String *) $fname)->data
else
printf "%2d %c %9d %-20s %-10s\n", \
$i, $modp, ($buf->text->z_byte - 1), $name, $mode
@@ -146,15 +158,17 @@ define yset-buffer
set $i = $arg0
set $alist = Vbuffer_alist
- while ($alist != Qnil && $i > 0)
- ygetptr $alist
+ ygetptr $alist
+ set $alist = $ptr
+ while ($alist != $qnil && $i > 0)
set $alist = ((struct Lisp_Cons *) $ptr)->u.cdr
+ ygetptr $alist
+ set $alist = $ptr
set $i--
end
# Get car of alist; this is a pair (name . buffer)
- ygetptr $alist
- set $this = ((struct Lisp_Cons *) $ptr)->car
+ set $this = ((struct Lisp_Cons *) $alist)->car
# Get the buffer object
ygetptr $this
diff --git a/src/.gdbinit b/src/.gdbinit
index 8e7ac3c..b0c0dfd 100644
--- a/src/.gdbinit
+++ b/src/.gdbinit
@@ -1252,8 +1252,7 @@ break terminate_due_to_signal
tbreak init_sys_modes
commands
silent
- xgetptr globals.f_Vinitial_window_system
- xsymname $ptr
+ xsymname globals.f_Vinitial_window_system
xgetptr $symname
set $tem = (struct Lisp_String *) $ptr
set $tem = (char *) $tem->data
diff --git a/src/alloc.c b/src/alloc.c
index ab23072..a58dc13 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -6023,7 +6023,7 @@ mark_glyph_matrix (struct glyph_matrix *matrix)
all the references contained in it. */
#define LAST_MARKED_SIZE 500
-static Lisp_Object last_marked[LAST_MARKED_SIZE];
+Lisp_Object last_marked[LAST_MARKED_SIZE] EXTERNALLY_VISIBLE;
static int last_marked_index;
/* For debugging--call abort when we cdr down this many
- [Emacs-diffs] master updated (241ae7a -> a0d1e4c), Paul Eggert, 2016/10/23
- [Emacs-diffs] master 16d126d 2/8: ; Merge from origin/emacs-25, Paul Eggert, 2016/10/23
- [Emacs-diffs] master f39141b 1/8: Merge from origin/emacs-25,
Paul Eggert <=
- [Emacs-diffs] master 46288dd 6/8: ; Merge from origin/emacs-25, Paul Eggert, 2016/10/23
- [Emacs-diffs] master e892e11 4/8: ; Merge from origin/emacs-25, Paul Eggert, 2016/10/23
- [Emacs-diffs] master a0d1e4c 8/8: * src/regex.c (re_search_2): Use UNINIT, not IF_LINT., Paul Eggert, 2016/10/23
- [Emacs-diffs] master 6129cd0 3/8: Merge from origin/emacs-25, Paul Eggert, 2016/10/23
- [Emacs-diffs] master 394bdb8 7/8: Merge from origin/emacs-25, Paul Eggert, 2016/10/23
- [Emacs-diffs] master 6df147c 5/8: Merge from origin/emacs-25, Paul Eggert, 2016/10/23