SQLite

All files named "src/mem5.c"
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for src/mem5.c

2022-12-27
14:03
[b7da5c10] part of check-in [e3776796] Fix a missing 0 at the end of an integer literal in check-in [8da0f0c38a458c57] (check-in: [e3776796] user: drh branch: trunk, size: 17384)
2022-12-26
15:14
[b658f3dd] part of check-in [8da0f0c3] Fix an infinite loop in the MEMSYS5 auxiliary memory allocator that occurs for memory allocations between 500MiB and 1GB in size. Error introduced by check-in [949133231f8f751a]. The problem only affects builds that include the SQLITE_ENABLE_MEMSYS5 compile-time option. (check-in: [8da0f0c3] user: drh branch: trunk, size: 17383)
2022-03-28
13:22
[5a3dbd8a] part of check-in [94913323] Performance optimization in the memsys5 memory allocator. (check-in: [94913323] user: drh branch: trunk, size: 17286)
2016-01-25
01:07
[9bf95593] part of check-in [0a9cff5c] Small simplification and performance improvement in memsys5Free(). (check-in: [0a9cff5c] user: drh branch: trunk, size: 17144)
2016-01-07
21:12
[71f81a11] part of check-in [af5c7714] Omit performance tracking from the memsys5 memory allocator if neither SQLITE_DEBUG nor SQLITE_TEST are defined. (check-in: [af5c7714] user: drh branch: trunk, size: 17155)
2015-12-18
16:29
[262055c2] part of check-in [8bf5e056] Micro-optimizations and comment fixes on the mem5.c memory allocator module. (check-in: [8bf5e056] user: drh branch: trunk, size: 17033)
2015-11-21
17:27
[5c267678] part of check-in [198d191b] Fix over-length source code lines. No logic changes. (check-in: [198d191b] user: drh branch: trunk, size: 17194)
2015-10-15
16:20
[c1ab1153] part of check-in [cb65989b] Performance optimizations to the sqlite3MallocSize() by requiring the argument to always be non-NULL. (check-in: [cb65989b] user: drh branch: trunk, size: 17198)
2014-09-06
16:39
[61eeb901] part of check-in [e62aab5e] Fix typos in comments. No code changes. (check-in: [e62aab5e] user: peter.d.reid branch: trunk, size: 17206)
2014-03-31
13:42
[74670012] part of check-in [b3296267] Avoid a (harmless) buffer overread that is possible on an OOM when MEMSYS5 is engaged. (check-in: [b3296267] user: drh branch: trunk, size: 17205)
2014-02-24
19:07
[aeb019f2] part of check-in [ba5f0a55] In memsys5, initialize new allocations to non-zero bytes. Change the content of freed allocations to prevent use after free. These changes in SQLITE_DEBUG only. (check-in: [ba5f0a55] user: drh branch: trunk, size: 17205)
2013-12-03
22:33
[19d9271c] part of check-in [a12d214e] Fix harmless compiler warnings. (check-in: [a12d214e] user: mistachkin branch: memTests, size: 16801)
2013-11-24
00:46
[2221f7e4] part of check-in [12e612e8] The MEMSYS5 algorithm does not have to return the block with the lowest address. Any block of the appropriate size will do. Use the first block found on the freelist for the appropriate size for a performance improvement. (check-in: [12e612e8] user: drh branch: trunk, size: 16787)
2013-11-23
22:45
[77a525e6] part of check-in [8191b512] A much simpler fix is to simply change MEMSYS5 so that it takes any free block of the appropriate size (the first on the list of free blocks) rather than searching for the one with the smallest address. This is also faster than using the min-heap algorithm. Need to research to verify that the allocator still satisfies the Robson proof, however. (check-in: [8191b512] user: drh branch: memsys5-performance, size: 17215)
21:30
[21c55e7d] part of check-in [7d2cdfad] Use a heap-based primary queue rather than a linked list to store the available free blocks of each size in MEMSYS5, since this provides faster access to the first available block. (check-in: [7d2cdfad] user: drh branch: memsys5-performance, size: 23051)
2013-08-14
00:20
[0025308a] part of check-in [9e999081] Fix a few more minor comment typos. No changes to code. (check-in: [9e999081] user: mistachkin branch: trunk, size: 17177)
2011-04-05
22:08
[c2c63b70] part of check-in [3eeb0ff7] Suppress many harmless compiler warnings, mostly signed/unsigned comparisons within asserts or unused parameters in extensions. (check-in: [3eeb0ff7] user: drh branch: trunk, size: 17171)
2011-03-10
03:54
[72e0bc40] part of check-in [36438423] Minor clean-up of previous mem5 allocator fix. (check-in: [36438423] user: shaneh branch: trunk, size: 17174)
2011-03-09
21:36
[ebc25307] part of check-in [d7dae06f] Fix issue with mem5 allocator when min request size is larger thatn 2^30. (check-in: [d7dae06f] user: shaneh branch: trunk, size: 17238)
2010-08-31
15:27
[6fe00f46] part of check-in [53b0c03f] Add evidence mark comments to source code. Add additional information to the documentation of sqlite3_release_memory(). Fix a minor inefficiency in mem1.c that was discovered while writing requirements tests. (check-in: [53b0c03f] user: drh branch: trunk, size: 17063)
2010-02-24
21:44
[eb7a5cb9] part of check-in [1168763d] Add testcase() macros beside each sqlite3_log() call to make sure it is tested with both logging enable and disabled. (check-in: [1168763d] user: drh branch: trunk, size: 17038)
2010-02-23
20:11
[7060e51b] part of check-in [edea3bb7] Continuing improvements to error reporting and the sqlite3_log() routine. (check-in: [edea3bb7] user: drh branch: trunk, size: 16993)
2009-08-20
20:05
[4837b795] part of check-in [bbbee810] Simplifications to the range-scan logic in support of structural testing. (check-in: [bbbee810] user: drh branch: trunk, size: 16915)
2009-08-18
15:33
[eb96124e] part of check-in [4e377a09] Move the allocation of the memsys5 mutex into the initializer. (check-in: [4e377a09] user: drh branch: trunk, size: 16932)
14:48
[c2633895] part of check-in [577bd6f1] Fix obscure issues with the memsys5 memory allocator. Arrange that the xRealloc() interface to memory allocators is only called with a value that has been through xRoundup(). (check-in: [577bd6f1] user: drh branch: trunk, size: 16649)
12:16
[985413fc] part of check-in [d4e7e2d8] When shutting down the memsys5 memory allocator, be sure to clear the mutex pointer in case the next startup does not use a mutex because it is configured differently. (check-in: [d4e7e2d8] user: drh branch: trunk, size: 15311)
01:54
[51f22f47] part of check-in [783b751a] Fix a bug in mem5.c which would cause an infinite loop on an attempt to allocate more than 1073741824 bytes of contiguous memory. Also, some cleanup of mem5.c. More work to do on this. (check-in: [783b751a] user: drh branch: trunk, size: 15293)
2008-11-19
16:52
[838309b5] part of check-in [d1abe8a1] Fix some compiler warnings that show up when building the amalgamation only. (CVS 5927) (check-in: [d1abe8a1] user: danielk1977 branch: trunk, size: 13163)
14:35
[d0f78521] part of check-in [70b2f683] Fix a few more compiler warnings. (CVS 5926) (check-in: [70b2f683] user: danielk1977 branch: trunk, size: 13126)
2008-11-17
19:18
[528adcfa] part of check-in [8009220c] Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914) (check-in: [8009220c] user: danielk1977 branch: trunk, size: 13067)
2008-11-13
16:21
[e7c814fd] part of check-in [96453ca1] Minor changes to get memsys5 compiling and its tests passing. Ticket #3495. (CVS 5901) (check-in: [96453ca1] user: danielk1977 branch: trunk, size: 13036)
2008-10-28
18:58
[8cb9dfac] part of check-in [4651f590] Remove the vestigial mem4 and mem6 memory allocators. Add the SQLITE_ZERO_MALLOC compile-time option and the mem0.c module to handle memory allocation for that case. (CVS 5848) (check-in: [4651f590] user: drh branch: trunk, size: 13061)
2008-09-02
17:52
[706d462c] part of check-in [88bfdc87] Explicitly initialize at least the first field of every struct. This is to work around compilers that don't like the syntax "struct XXX { ... } yyy = {};". (CVS 5666) (check-in: [88bfdc87] user: danielk1977 branch: trunk, size: 13624)
10:22
[6ec2795f] part of check-in [46acaf58] Change some more global variables to work with OMIT_WSD. (CVS 5660) (check-in: [46acaf58] user: danielk1977 branch: trunk, size: 14026)
2008-09-01
18:34
[7a8e54fd] part of check-in [573d92ab] Begin adding support for the SQLITE_OMIT_WSD macro. Some (many) WSD variables still need wrappers added to them. (CVS 5652) (check-in: [573d92ab] user: danielk1977 branch: trunk, size: 13953)
2008-07-16
12:25
[0b0ba1c2] part of check-in [a3a78205] Activate testing of mem3 and mem5. Fix problems found. Tickets #3223 and #3225. Other test configuration changes. (CVS 5419) (check-in: [a3a78205] user: drh branch: trunk, size: 13915)
2008-06-27
14:05
[6c711af2] part of check-in [fef90a21] Fix mem3.c (broken by (5320)). (CVS 5321) (check-in: [fef90a21] user: danielk1977 branch: trunk, size: 13923)
13:27
[2ad92d6a] part of check-in [4f95f4cd] Change mem5.c so that the minimum allocation size is runtime configurable. (CVS 5320) (check-in: [4f95f4cd] user: danielk1977 branch: trunk, size: 13876)
2008-06-25
14:57
[d0c7c850] part of check-in [9e3c95ff] Have mem3.c and mem5.c grab a mutex when required. Include them both in the amalgamation again. (CVS 5306) (check-in: [9e3c95ff] user: danielk1977 branch: trunk, size: 13200)
14:26
[604b5989] part of check-in [30ff6bb0] Fix the allocator in mem5.c so that it can be enabled at run time using the sqlite3_config() function. (CVS 5304) (check-in: [30ff6bb0] user: danielk1977 branch: trunk, size: 13021)
2008-06-18
17:09
[ad31a0a4] part of check-in [5059644c] Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234) (check-in: [5059644c] user: danielk1977 branch: trunk, size: 13912)
2008-06-13
18:24
[3d2ff00c] part of check-in [a03c5af1] Progress toward implementation of sqlite3_config() and a rework of the mutex and memory allocation subsystems. This is an incremental check-in. (CVS 5218) (check-in: [a03c5af1] user: drh branch: trunk, size: 13906)
2008-02-19
15:15
[11d98b76] part of check-in [94774b41] Change non-exported memory interfaces to following the naming conventions. (CVS 4797) (check-in: [94774b41] user: drh branch: trunk, size: 13800)
2008-02-18
22:24
[13ddb307] part of check-in [63da5d97] Add the memory fault simulator to mem5.c. Enable soft heap limit on mem5.c. Limit the size of hash tables and the vdbefifo when using mem5.c. (CVS 4795) (check-in: [63da5d97] user: drh branch: trunk, size: 13802)
2008-02-16
16:21
[e15148be] part of check-in [d134d29c] The power-of-two first-fit memory allocator is now working. (CVS 4793) (check-in: [d134d29c] user: drh branch: trunk, size: 12436)
2008-02-14
23:26
Added: [addb464d] part of check-in [669ece8c] Add the experimental mem5.c memory allocator. Allocate the content part of cache pages separately from the header. (See check-ins (4495) and (4409)). (CVS 4789) (check-in: [669ece8c] user: drh branch: trunk, size: 19358)