]> git.eshelyaron.com Git - emacs.git/commitdiff
* src/comp.c (compile_function, Fcomp__compile_ctxt_to_file0): Use DOHASH.
authorAndrea Corallo <acorallo@gnu.org>
Thu, 3 Oct 2024 07:23:30 +0000 (09:23 +0200)
committerEshel Yaron <me@eshelyaron.com>
Fri, 4 Oct 2024 10:10:31 +0000 (12:10 +0200)
(cherry picked from commit abb932290dff3ad7456477a7401df01e3105336f)

src/comp.c

index 44ab6b3493950127fd993a4b93d75513e1e60acb..cee2859c2ebacbd2697e62ba5b5164baf3b1db90 100644 (file)
@@ -4340,11 +4340,9 @@ compile_function (Lisp_Object func)
   /* Pre-declare all basic blocks to gcc.
      The "entry" block must be declared as first.  */
   declare_block (Qentry);
-  Lisp_Object blocks = CALL1I (comp-func-blocks, func);
-  struct Lisp_Hash_Table *ht = XHASH_TABLE (blocks);
-  DOHASH_SAFE (ht, i)
+  struct Lisp_Hash_Table *ht = XHASH_TABLE (CALL1I (comp-func-blocks, func));
+  DOHASH (ht, block_name, block)
     {
-      Lisp_Object block_name = HASH_KEY (ht, i);
       if (!EQ (block_name, Qentry))
        declare_block (block_name);
     }
@@ -4355,10 +4353,8 @@ compile_function (Lisp_Object func)
                                gcc_jit_lvalue_as_rvalue (comp.func_relocs));
 
 
-  DOHASH_SAFE (ht, i)
+  DOHASH (ht, block_name, block)
     {
-      Lisp_Object block_name = HASH_KEY (ht, i);
-      Lisp_Object block = HASH_VALUE (ht, i);
       Lisp_Object insns = CALL1I (comp-block-insns, block);
       if (NILP (block) || NILP (insns))
        xsignal1 (Qnative_ice,
@@ -4975,12 +4971,12 @@ DEFUN ("comp--compile-ctxt-to-file0", Fcomp__compile_ctxt_to_file0,
 
   struct Lisp_Hash_Table *func_h =
     XHASH_TABLE (CALL1I (comp-ctxt-funcs-h, Vcomp_ctxt));
-  DOHASH_SAFE (func_h, i)
-    declare_function (HASH_VALUE (func_h, i));
+  DOHASH (func_h, k, function)
+    declare_function (function);
   /* Compile all functions. Can't be done before because the
      relocation structs has to be already defined.  */
-  DOHASH_SAFE (func_h, i)
-    compile_function (HASH_VALUE (func_h, i));
+  DOHASH (func_h, k, function)
+    compile_function (function);
 
   /* Work around bug#46495 (GCC PR99126). */
 #if defined (WIDE_EMACS_INT)                                           \