aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/memfile_defs.h
Commit message (Collapse)AuthorAge
* refactor: format all C files under nvim/ #15977dundargoc2021-10-12
| | | | | | | | * refactor: format all C files under nvim * refactor: disable formatting for Vim-owned files: * src/nvim/indent_c.c * src/nvim/regexp.c * src/nvim/regexp_nfa.c * src/nvim/testdir/samples/memfile_test.c
* refactor: replace TRUE/FALSE macros with C99 true/falseDundar Göc2021-07-25
|
* Remove maxmem and maxmemtot optionsFelipe Oliveira Carvalho2017-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > The option 'maxmem' ('mm') is used to set the maximum memory used for one > buffer (in kilobytes). 'maxmemtot' is used to set the maximum memory used for > all buffers (in kilobytes). The defaults depend on the system used. These > are not hard limits, but tell Vim when to move text into a swap file. If you > don't like Vim to swap to a file, set 'maxmem' and 'maxmemtot' to a very large > value. The swap file will then only be used for recovery. If you don't want > a swap file at all, set 'updatecount' to 0, or use the "-n" argument when > starting Vim. On today's systems these values are huge (4GB in my machine with 8GB of RAM since it's set as half the available memory by default) so the limits are never reached in practice, but Vim wastes a lot of time checking if the limit was reached. If the limit is reached Vim starts saving pieces of the swap file that were in memory to the disk. Said in a different way: Vim implements its own memory swapping mechanism. This is unnecessary and inefficient since the operating system already virtualized the memory and will swap to the disk if programs start using too much memory. This change does... 1. Reduce the number of config options and need for documentation. 2. Make the code more efficient as we don't have to keep track of memory usage nor check if the memory limits were reached to start swapping to disk every time we need memory for buffers. 3. Simplify the code. Once `memfile.c` is simple enough it could be replaced by actual operating system memory mapping (`mmap`, `MemoryViewOfFile`...). This change does not prevent Vim to recover changes from swap files since the swapping code is never triggered with the huge limits set by default.
* *: Fix linter errorsZyX2017-04-08
| | | | | | Drops comments `// for …` that do not pass linter for them being unmaintainable and fast to becoming incomplete or even incorrect. Mention @dedmass
* refactor/single-include: memline_defs.h #6465dedmass2017-04-08
|
* Review: Remove long_u: memfile: Add to clint.Eliseo Martínez2014-11-06
|
* Review: Remove long_u: memfile: Refactor: blocknr_T: long -> int64_t.Eliseo Martínez2014-11-06
| | | | | Replace long with int64_t. Apart from being convenient, not using long is required by clint.
* Review: Remove long_u: memfile: Refactor: int -> bool.Eliseo Martínez2014-11-06
| | | | Replace int with bool where appropriate.
* Review: Remove long_u: memfile: Refactor: bhdr_T.bh_data: char_u* -> void*.Eliseo Martínez2014-11-06
| | | | | This, in addition to being more correct, allows removing a lot of explicit casts.
* Review: Remove long_u: memfile: Refactor: mf_hashtab_T.mht_fixed: Remove.Eliseo Martínez2014-11-06
| | | | Unused since 457bb2615154946d273d75e07f5d5a936f50ede0.
* Review: Remove long_u: memfile: Refactor: long_u -> size_t.Eliseo Martínez2014-11-06
| | | | | | | | | | | | | | | | | | - memfile_defs.h: * hashtab_T: mht_mask: long_u -> size_t. Masks are used to truncate keys to a value adequate for an index in the array of entries. Value of the mask plus one is the current size of the array. Both of those reasons imply the soundness of size_t for this type. * hashtab_T: mht_count: long_u -> size_t. - memfile.c: * total_mem_used: long_u -> size_t. * mf_hash_free_all: idx: long_u -> size_t. * mf_hash_add_item: idx: long_u -> size_t. * mf_hash_find: idx: long_u -> size_t. * mf_hash_grow: i: long_u -> size_t. * mf_hash_grow: j: long_u -> size_t.
* Review: Remove long_u: memfile: Enable -Wconversion.Eliseo Martínez2014-11-06
| | | | | | | | | | | | | - Add memfile.c to converted files list. - Fix conversion issues: * bhdr_T : bh_page_count : int -> unsigned. * bhdr_T : bh_flags : char -> unsigned. * mf_new() : page_count : int -> unsigned. * mf_get() : page_count : int -> unsigned. * mf_release() : page_count : int -> unsigned. * mf_alloc_bhdr() : page_count : int -> unsigned. * mf_trans_add() : page_count : int -> unsigned. * mf_put() : flags : int -> unsigned.
* Review: Remove long_u: memfile: Cleanup: Fix naming inconsistencies.Eliseo Martínez2014-11-06
| | | | | | - Drop '_S' suffix for struct names. - Make struct names match corresponding type's name (just removing '_S' suffix). - Rename NR_TRANS type/struct (just ugly).
* Review: Remove long_u: memfile: Cleanup: Others.Eliseo Martínez2014-11-06
| | | | | | | | | | | | memfile_defs.h: - Inline struct definitions in typedefs. - Move memfile_T definition to this file (weirdly, was in buffer_defs.h). memfile.c: - Use C99 style variable declarations. This is, move variable declarations as near to first-usage point as possible). - Modernize old-style function declarations. - Fix indent at some places (some multiline expressions and the like).
* Review: Remove long_u: memfile: Cleanup: Comments.Eliseo Martínez2014-11-06
| | | | | - Restyle comments (/// when appropiate, // otherwise). - Improve comments (add new comments, augment/clarify existing ones).
* vim: move long_u from vim.h to types.hNicolas Hillegeer2014-07-16
| | | | | Seems to make no difference to the main binary, but it helps the tests a bit further along.
* Remove cryptographyJohn Schmidt2014-05-20
| | | | | | | | | | | | | As discussed in #694, vim encryption uses old, obsolete algorithms that are poorly implemented. Since insecure cryptography is worse than no cryptgraphy, the community voted in favor of removing all crypto. Various alternatives to the old crypto is being discussed in #701. Closes #694.
* Introduce nvim namespace: Fix define guards.Eliseo Martínez2014-05-15
| | | | | | Change define guards from NEOVIM_XXX_H to NVIM_XXX_H: - Change header files. - Change clint correct guard name calculation.
* Introduce nvim namespace: Move files.Eliseo Martínez2014-05-15
Move files from src/ to src/nvim/. - src/nvim/ becomes the new root dir for nvim executable sources. - src/libnvim/ is planned to become root dir of the neovim library.