diff options
| author | Andrea Corallo | 2020-02-03 16:40:45 +0000 |
|---|---|---|
| committer | Andrea Corallo | 2020-02-03 21:56:46 +0000 |
| commit | 7c93bb113ec353baa6316fa97744e65a6e109d91 (patch) | |
| tree | 3226d91aedb0e9ca92ab581dc5b3709e19ceb4b9 /src/alloc.c | |
| parent | ffa59bb1611609879151b6dfa94772f9e2144849 (diff) | |
| download | emacs-7c93bb113ec353baa6316fa97744e65a6e109d91.tar.gz emacs-7c93bb113ec353baa6316fa97744e65a6e109d91.zip | |
Rework load mechanism to make Vcomp_loaded_handles unnecessary
Diffstat (limited to 'src/alloc.c')
| -rw-r--r-- | src/alloc.c | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/src/alloc.c b/src/alloc.c index 431238b13e6..faa8e703937 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -517,14 +517,6 @@ Lisp_Object const *staticvec[NSTATICS] | |||
| 517 | 517 | ||
| 518 | int staticidx; | 518 | int staticidx; |
| 519 | 519 | ||
| 520 | /* Lisp of freed native compilation unit handles. | ||
| 521 | |||
| 522 | Because during GC Vcomp_loaded_handles can't be used (hash table) temporary | ||
| 523 | annotate here and update Vcomp_loaded_handles when finished. | ||
| 524 | */ | ||
| 525 | |||
| 526 | static Lisp_Object freed_cu_handles[NATIVE_COMP_FLAG]; | ||
| 527 | |||
| 528 | static void *pure_alloc (size_t, int); | 520 | static void *pure_alloc (size_t, int); |
| 529 | 521 | ||
| 530 | /* Return PTR rounded up to the next multiple of ALIGNMENT. */ | 522 | /* Return PTR rounded up to the next multiple of ALIGNMENT. */ |
| @@ -3038,10 +3030,6 @@ cleanup_vector (struct Lisp_Vector *vector) | |||
| 3038 | PSEUDOVEC_STRUCT (vector, Lisp_Native_Comp_Unit); | 3030 | PSEUDOVEC_STRUCT (vector, Lisp_Native_Comp_Unit); |
| 3039 | eassert (cu->handle); | 3031 | eassert (cu->handle); |
| 3040 | dynlib_close (cu->handle); | 3032 | dynlib_close (cu->handle); |
| 3041 | /* We'll update Vcomp_loaded_handles when finished. */ | ||
| 3042 | freed_cu_handles[0] = | ||
| 3043 | Fcons (make_mint_ptr (cu->handle), freed_cu_handles[0]); | ||
| 3044 | set_cons_marked (XCONS (freed_cu_handles[0])); | ||
| 3045 | } | 3033 | } |
| 3046 | } | 3034 | } |
| 3047 | 3035 | ||
| @@ -5949,9 +5937,6 @@ garbage_collect (void) | |||
| 5949 | if (garbage_collection_messages) | 5937 | if (garbage_collection_messages) |
| 5950 | message1_nolog ("Garbage collecting..."); | 5938 | message1_nolog ("Garbage collecting..."); |
| 5951 | 5939 | ||
| 5952 | if (NATIVE_COMP_FLAG) | ||
| 5953 | freed_cu_handles[0] = Qnil; | ||
| 5954 | |||
| 5955 | block_input (); | 5940 | block_input (); |
| 5956 | 5941 | ||
| 5957 | shrink_regexp_cache (); | 5942 | shrink_regexp_cache (); |
| @@ -6016,10 +6001,6 @@ garbage_collect (void) | |||
| 6016 | 6001 | ||
| 6017 | gc_in_progress = 0; | 6002 | gc_in_progress = 0; |
| 6018 | 6003 | ||
| 6019 | if (NATIVE_COMP_FLAG) | ||
| 6020 | FOR_EACH_TAIL (freed_cu_handles[0]) | ||
| 6021 | Fputhash (XCAR (freed_cu_handles[0]), Qnil, Vcomp_loaded_handles); | ||
| 6022 | |||
| 6023 | unblock_input (); | 6004 | unblock_input (); |
| 6024 | 6005 | ||
| 6025 | consing_until_gc = gc_threshold | 6006 | consing_until_gc = gc_threshold |