emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

scratch/igc 1cdc505ef76 11/18: Don't give charsets igc_headers


From: Gerd Moellmann
Subject: scratch/igc 1cdc505ef76 11/18: Don't give charsets igc_headers
Date: Tue, 14 May 2024 04:02:08 -0400 (EDT)

branch: scratch/igc
commit 1cdc505ef76e48db977b325481991ea7499542f0
Author: Gerd Möllmann <gerd@gnu.org>
Commit: Gerd Möllmann <gerd@gnu.org>

    Don't give charsets igc_headers
---
 src/.lldbinit | 3 +--
 src/igc.c     | 5 +----
 src/igc.h     | 1 -
 src/pdumper.c | 4 ++--
 4 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/src/.lldbinit b/src/.lldbinit
index b1bfb4008c0..b58935b163d 100644
--- a/src/.lldbinit
+++ b/src/.lldbinit
@@ -82,8 +82,7 @@ b die
 #target create temacs
 #settings set -- target.run-args --batch  -l loadup --temacs=pbootstrap 
--bin-dest not-set --eln-dest not-set
 #command alias go process launch --working-dir .
-#settings set target.disable-aslr false
-#b dump_hash_table
+##settings set target.disable-aslr false
 
 #target create /Users/gerd/Desktop/igc.app/Contents/MacOS/Emacs
 #command alias go process launch --working-dir /Users/gerd/emacs/savannah/igc/
diff --git a/src/igc.c b/src/igc.c
index 3795fc8125b..a87f6fd78a4 100644
--- a/src/igc.c
+++ b/src/igc.c
@@ -205,7 +205,6 @@ static const char *obj_type_names[] = {
   "IGC_OBJ_WEAK",
   "IGC_OBJ_PTR_VEC",
 
-  "IGC_OBJ_DUMPED_CHARSET",
   "IGC_OBJ_DUMPED_INTFWD",
   "IGC_OBJ_DUMPED_BOOLFWD",
   "IGC_OBJ_DUMPED_OBJFWD",
@@ -1256,7 +1255,6 @@ dflt_scanx (mps_ss_t ss, mps_addr_t base_start, 
mps_addr_t base_limit,
 
        switch (header->obj_type)
          {
-         case IGC_OBJ_DUMPED_CHARSET:
          case IGC_OBJ_DUMPED_INTFWD:
          case IGC_OBJ_DUMPED_BOOLFWD:
          case IGC_OBJ_DUMPED_OBJFWD:
@@ -2614,7 +2612,6 @@ finalize (struct igc *gc, mps_addr_t base)
   struct igc_header *h = base;
   switch (h->obj_type)
     {
-    case IGC_OBJ_DUMPED_CHARSET:
     case IGC_OBJ_DUMPED_INTFWD:
     case IGC_OBJ_DUMPED_BOOLFWD:
     case IGC_OBJ_DUMPED_OBJFWD:
@@ -2769,7 +2766,6 @@ thread_ap (enum igc_obj_type type)
   struct igc_thread_list *t = current_thread->gc_info;
   switch (type)
     {
-    case IGC_OBJ_DUMPED_CHARSET:
     case IGC_OBJ_DUMPED_INTFWD:
     case IGC_OBJ_DUMPED_BOOLFWD:
     case IGC_OBJ_DUMPED_OBJFWD:
@@ -3350,6 +3346,7 @@ igc_finish_obj (void *client, enum igc_obj_type type, 
char *base, char *end)
     {
       struct igc_header *h = client_to_base (client);
       *out = *h;
+      igc_assert (base + to_bytes (h->nwords) >= end);
       return base + to_bytes (h->nwords);
     }
 
diff --git a/src/igc.h b/src/igc.h
index 4fc6d84b35f..3253a1fba9a 100644
--- a/src/igc.h
+++ b/src/igc.h
@@ -47,7 +47,6 @@ enum igc_obj_type
 
   /* The following are only used in the dump for objects that are not
      allocated from MPS memory. */
-  IGC_OBJ_DUMPED_CHARSET,
   IGC_OBJ_DUMPED_INTFWD,
   IGC_OBJ_DUMPED_BOOLFWD,
   IGC_OBJ_DUMPED_OBJFWD,
diff --git a/src/pdumper.c b/src/pdumper.c
index 312eca8ba35..f83f4e36e81 100644
--- a/src/pdumper.c
+++ b/src/pdumper.c
@@ -3393,7 +3393,7 @@ dump_charset (struct dump_context *ctx, int cs_i)
   eassert (ctx->offset % alignof (struct charset) == 0);
   const struct charset *cs = charset_table + cs_i;
   struct charset out;
-  dump_object_start (ctx, cs, IGC_OBJ_DUMPED_CHARSET, &out, sizeof (out));
+  dump_object_start_1 (ctx, &out, sizeof (out));
   if (cs_i < charset_table_used) /* Don't look at uninitialized data.  */
     {
       DUMP_FIELD_COPY (&out, cs, id);
@@ -3421,7 +3421,7 @@ dump_charset (struct dump_context *ctx, int cs_i)
       memcpy (out.fast_map, &cs->fast_map, sizeof (cs->fast_map));
       DUMP_FIELD_COPY (&out, cs, code_offset);
     }
-  dump_off offset = dump_object_finish (ctx, &out, sizeof (out));
+  dump_off offset = dump_object_finish_1 (ctx, &out, sizeof (out));
   if (cs_i < charset_table_used && cs->code_space_mask)
     dump_remember_cold_op (ctx, COLD_OP_CHARSET,
                            Fcons (dump_off_to_lisp (cs_i),



reply via email to

[Prev in Thread] Current Thread [Next in Thread]