diff options
author | unknown <marko@hundin.mysql.fi> | 2004-02-19 11:32:07 +0200 |
---|---|---|
committer | unknown <marko@hundin.mysql.fi> | 2004-02-19 11:32:07 +0200 |
commit | 806f03f736a118e239e49f093d079fc358b92a86 (patch) | |
tree | 94a470319a8b1c303bbabdc877b4625489ed61e8 /innobase/mem | |
parent | 78a466b792518145e9c379070e7eb70568d3a18c (diff) | |
download | mariadb-git-806f03f736a118e239e49f093d079fc358b92a86.tar.gz |
Remove unnecessary files
.del-univoldmysql.i~9253a6f92058c565:
Delete: innobase/include/univoldmysql.i
.del-univold.i~4b5ed652407f63f1:
Delete: innobase/include/univold.i
.del-tsut.c~4a154913fc9cd5c0:
Delete: innobase/ut/ts/tsut.c
.del-makefile~9b8356bbdb8bd94e:
Delete: innobase/ut/ts/makefile
.del-tsttrxold.c~eb6fd6091405d54e:
Delete: innobase/trx/ts/tsttrxold.c
.del-tstrx.c~5425c98548ec1e0d:
Delete: innobase/trx/ts/tstrx.c
.del-makefile~16d63c17c8edf62a:
Delete: innobase/trx/ts/makefile
.del-tsthr.c~b095667070d626a9:
Delete: innobase/thr/ts/tsthr.c
.del-makefile~d5e4661188c1939d:
Delete: innobase/thr/ts/makefile
.del-tssync.c~fed4676cd4eb8457:
Delete: innobase/sync/ts/tssync.c
.del-makefile~f23368879649c806:
Delete: innobase/sync/ts/makefile
.del-tssrv.c~b8a6f5ad9ae639c8:
Delete: innobase/srv/ts/tssrv.c
.del-tsdbc.c~d36206bdccf338f:
Delete: innobase/srv/ts/tsdbc.c
.del-makefile~da6e87ef29c12dca:
Delete: innobase/srv/ts/makefile
.del-tstcur.c~a9d5cf73b020ec41:
Delete: innobase/row/ts/tstcur.c
.del-makefile~2cdfe39689004e6:
Delete: innobase/row/ts/makefile
.del-tsrem.c~bb4e1e2e8c2ee179:
Delete: innobase/rem/ts/tsrem.c
.del-makefile~3e48a33b4970faef:
Delete: innobase/rem/ts/makefile
.del-tspage.c~f5baf63f9924e43b:
Delete: innobase/page/ts/tspage.c
.del-makefile~66de73bc499566f9:
Delete: innobase/page/ts/makefile
.del-tsosaux.c~9ec97a83392a984c:
Delete: innobase/os/ts/tsosaux.c
.del-tsos.c~f6057d3c171f5915:
Delete: innobase/os/ts/tsos.c
.del-makefile~9a1d210afa6d666e:
Delete: innobase/os/ts/makefile
.del-tsmtr.c~293250c7ebfe0d3:
Delete: innobase/mtr/ts/tsmtr.c
.del-tsbuf.c~e8d15ee095194d2c:
Delete: innobase/mtr/ts/tsbuf.c
.del-makefile~fdf4c2a4ddb23230:
Delete: innobase/mtr/ts/makefile
.del-tsmem.c~cc483e2ab96e625c:
Delete: innobase/mem/ts/tsmem.c
.del-makefile~6d58ab1de0ac572:
Delete: innobase/mem/ts/makefile
.del-tsmach.c~af65166bb53ddfe9:
Delete: innobase/mach/ts/tsmach.c
.del-makefile~b8cbd25992ee51b:
Delete: innobase/mach/ts/makefile
.del-tsha.c~13dd5ea03fda370c:
Delete: innobase/ha/ts/tsha.c
.del-makefile~1bf12ce7b2dadfd5:
Delete: innobase/ha/ts/makefile
.del-tsfsp.c~890ead1636f0eaba:
Delete: innobase/fsp/ts/tsfsp.c
.del-makefile~a466e9eb27493a80:
Delete: innobase/fsp/ts/makefile
.del-del.c~35c6283be580200:
Delete: innobase/fsp/ts/del.c
.del-tsfil.c~e554b6f3c189c081:
Delete: innobase/fil/ts/tsfil.c
.del-makefile~1df6f952a960fef4:
Delete: innobase/fil/ts/makefile
.del-tsdyn.c~6f976764b53f3191:
Delete: innobase/dyn/ts/tsdyn.c
.del-makefile~f64427335fafdc65:
Delete: innobase/dyn/ts/makefile
.del-tsdict.c~5e82f7b8ac2b2e15:
Delete: innobase/dict/ts/tsdict.c
.del-makefile~6356c424e9747647:
Delete: innobase/dict/ts/makefile
.del-tscom.c~26aae2c5c4ca1dce:
Delete: innobase/com/ts/tscom.c
.del-tscli.c~2f3e4b281141eac2:
Delete: innobase/com/ts/tscli.c
.del-makefile~608fd39568db7238:
Delete: innobase/com/ts/makefile
.del-tsos.c~1dadfc1ef69f2ba3:
Delete: innobase/buf/ts/tsos.c
.del-tsbuf.c~b4c3feee158ef154:
Delete: innobase/buf/ts/tsbuf.c
.del-makefile~598acb06bf1e466:
Delete: innobase/buf/ts/makefile
.del-tscli.c~8d35740cc1f6f864:
Delete: innobase/btr/ts/trash/tscli.c
.del-tssrv.c~ee30b746c485aec:
Delete: innobase/btr/ts/tssrv.c
.del-tss.c~21ae628550141a68:
Delete: innobase/btr/ts/tss.c
.del-tsrecv97.c~dbeb3bc494b241c1:
Delete: innobase/btr/ts/tsrecv97.c
.del-tsrecv.c~3415f8a936a8d9fd:
Delete: innobase/btr/ts/tsrecv.c
.del-tscli.c~77fc1962db99aa2e:
Delete: innobase/btr/ts/tscli.c
.del-tsbtrold5.c~72a60e768c944904:
Delete: innobase/btr/ts/trash/tsbtrold5.c
.del-tsbtrins.c~3e3bb3f95f058b46:
Delete: innobase/btr/ts/tsbtrins.c
.del-TSIT.C~f53cce6fab8d325:
Delete: innobase/btr/ts/trash/TSIT.C
.del-tsbtrfull.c~fbcbe41b64cc71b6:
Delete: innobase/btr/ts/tsbtrfull.c
.del-tsbtr97.c~84dbb84ea9fa267c:
Delete: innobase/btr/ts/tsbtr97.c
.del-makefile~491918b4162b927c:
Delete: innobase/btr/ts/makefile
.del-isql.c~bc0b8cc213905175:
Delete: innobase/btr/ts/isql.c
BitKeeper/deleted/.del-isql.c~bc0b8cc213905175:
Delete: innobase/btr/ts/isql.c
BitKeeper/deleted/.del-makefile~491918b4162b927c:
Delete: innobase/btr/ts/makefile
BitKeeper/deleted/.del-tsbtr97.c~84dbb84ea9fa267c:
Delete: innobase/btr/ts/tsbtr97.c
BitKeeper/deleted/.del-tsbtrfull.c~fbcbe41b64cc71b6:
Delete: innobase/btr/ts/tsbtrfull.c
BitKeeper/deleted/.del-TSIT.C~f53cce6fab8d325:
Delete: innobase/btr/ts/trash/TSIT.C
BitKeeper/deleted/.del-tsbtrins.c~3e3bb3f95f058b46:
Delete: innobase/btr/ts/tsbtrins.c
BitKeeper/deleted/.del-tsbtrold5.c~72a60e768c944904:
Delete: innobase/btr/ts/trash/tsbtrold5.c
BitKeeper/deleted/.del-tscli.c~77fc1962db99aa2e:
Delete: innobase/btr/ts/tscli.c
BitKeeper/deleted/.del-tsrecv.c~3415f8a936a8d9fd:
Delete: innobase/btr/ts/tsrecv.c
BitKeeper/deleted/.del-tsrecv97.c~dbeb3bc494b241c1:
Delete: innobase/btr/ts/tsrecv97.c
BitKeeper/deleted/.del-tss.c~21ae628550141a68:
Delete: innobase/btr/ts/tss.c
BitKeeper/deleted/.del-tssrv.c~ee30b746c485aec:
Delete: innobase/btr/ts/tssrv.c
BitKeeper/deleted/.del-tscli.c~8d35740cc1f6f864:
Delete: innobase/btr/ts/trash/tscli.c
BitKeeper/deleted/.del-makefile~598acb06bf1e466:
Delete: innobase/buf/ts/makefile
BitKeeper/deleted/.del-tsbuf.c~b4c3feee158ef154:
Delete: innobase/buf/ts/tsbuf.c
BitKeeper/deleted/.del-tsos.c~1dadfc1ef69f2ba3:
Delete: innobase/buf/ts/tsos.c
BitKeeper/deleted/.del-makefile~608fd39568db7238:
Delete: innobase/com/ts/makefile
BitKeeper/deleted/.del-tscli.c~2f3e4b281141eac2:
Delete: innobase/com/ts/tscli.c
BitKeeper/deleted/.del-tscom.c~26aae2c5c4ca1dce:
Delete: innobase/com/ts/tscom.c
BitKeeper/deleted/.del-makefile~6356c424e9747647:
Delete: innobase/dict/ts/makefile
BitKeeper/deleted/.del-tsdict.c~5e82f7b8ac2b2e15:
Delete: innobase/dict/ts/tsdict.c
BitKeeper/deleted/.del-makefile~f64427335fafdc65:
Delete: innobase/dyn/ts/makefile
BitKeeper/deleted/.del-tsdyn.c~6f976764b53f3191:
Delete: innobase/dyn/ts/tsdyn.c
BitKeeper/deleted/.del-makefile~1df6f952a960fef4:
Delete: innobase/fil/ts/makefile
BitKeeper/deleted/.del-tsfil.c~e554b6f3c189c081:
Delete: innobase/fil/ts/tsfil.c
BitKeeper/deleted/.del-del.c~35c6283be580200:
Delete: innobase/fsp/ts/del.c
BitKeeper/deleted/.del-makefile~a466e9eb27493a80:
Delete: innobase/fsp/ts/makefile
BitKeeper/deleted/.del-tsfsp.c~890ead1636f0eaba:
Delete: innobase/fsp/ts/tsfsp.c
BitKeeper/deleted/.del-makefile~1bf12ce7b2dadfd5:
Delete: innobase/ha/ts/makefile
BitKeeper/deleted/.del-tsha.c~13dd5ea03fda370c:
Delete: innobase/ha/ts/tsha.c
BitKeeper/deleted/.del-makefile~b8cbd25992ee51b:
Delete: innobase/mach/ts/makefile
BitKeeper/deleted/.del-tsmach.c~af65166bb53ddfe9:
Delete: innobase/mach/ts/tsmach.c
BitKeeper/deleted/.del-makefile~6d58ab1de0ac572:
Delete: innobase/mem/ts/makefile
BitKeeper/deleted/.del-tsmem.c~cc483e2ab96e625c:
Delete: innobase/mem/ts/tsmem.c
BitKeeper/deleted/.del-makefile~fdf4c2a4ddb23230:
Delete: innobase/mtr/ts/makefile
BitKeeper/deleted/.del-tsbuf.c~e8d15ee095194d2c:
Delete: innobase/mtr/ts/tsbuf.c
BitKeeper/deleted/.del-tsmtr.c~293250c7ebfe0d3:
Delete: innobase/mtr/ts/tsmtr.c
BitKeeper/deleted/.del-makefile~9a1d210afa6d666e:
Delete: innobase/os/ts/makefile
BitKeeper/deleted/.del-tsos.c~f6057d3c171f5915:
Delete: innobase/os/ts/tsos.c
BitKeeper/deleted/.del-tsosaux.c~9ec97a83392a984c:
Delete: innobase/os/ts/tsosaux.c
BitKeeper/deleted/.del-makefile~66de73bc499566f9:
Delete: innobase/page/ts/makefile
BitKeeper/deleted/.del-tspage.c~f5baf63f9924e43b:
Delete: innobase/page/ts/tspage.c
BitKeeper/deleted/.del-makefile~3e48a33b4970faef:
Delete: innobase/rem/ts/makefile
BitKeeper/deleted/.del-tsrem.c~bb4e1e2e8c2ee179:
Delete: innobase/rem/ts/tsrem.c
BitKeeper/deleted/.del-makefile~2cdfe39689004e6:
Delete: innobase/row/ts/makefile
BitKeeper/deleted/.del-tstcur.c~a9d5cf73b020ec41:
Delete: innobase/row/ts/tstcur.c
BitKeeper/deleted/.del-makefile~da6e87ef29c12dca:
Delete: innobase/srv/ts/makefile
BitKeeper/deleted/.del-tsdbc.c~d36206bdccf338f:
Delete: innobase/srv/ts/tsdbc.c
BitKeeper/deleted/.del-tssrv.c~b8a6f5ad9ae639c8:
Delete: innobase/srv/ts/tssrv.c
BitKeeper/deleted/.del-makefile~f23368879649c806:
Delete: innobase/sync/ts/makefile
BitKeeper/deleted/.del-tssync.c~fed4676cd4eb8457:
Delete: innobase/sync/ts/tssync.c
BitKeeper/deleted/.del-makefile~d5e4661188c1939d:
Delete: innobase/thr/ts/makefile
BitKeeper/deleted/.del-tsthr.c~b095667070d626a9:
Delete: innobase/thr/ts/tsthr.c
BitKeeper/deleted/.del-makefile~16d63c17c8edf62a:
Delete: innobase/trx/ts/makefile
BitKeeper/deleted/.del-tstrx.c~5425c98548ec1e0d:
Delete: innobase/trx/ts/tstrx.c
BitKeeper/deleted/.del-tsttrxold.c~eb6fd6091405d54e:
Delete: innobase/trx/ts/tsttrxold.c
BitKeeper/deleted/.del-makefile~9b8356bbdb8bd94e:
Delete: innobase/ut/ts/makefile
BitKeeper/deleted/.del-tsut.c~4a154913fc9cd5c0:
Delete: innobase/ut/ts/tsut.c
BitKeeper/deleted/.del-univold.i~4b5ed652407f63f1:
Delete: innobase/include/univold.i
BitKeeper/deleted/.del-univoldmysql.i~9253a6f92058c565:
Delete: innobase/include/univoldmysql.i
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Diffstat (limited to 'innobase/mem')
-rw-r--r-- | innobase/mem/ts/makefile | 12 | ||||
-rw-r--r-- | innobase/mem/ts/tsmem.c | 497 |
2 files changed, 0 insertions, 509 deletions
diff --git a/innobase/mem/ts/makefile b/innobase/mem/ts/makefile deleted file mode 100644 index 0f6855322ce..00000000000 --- a/innobase/mem/ts/makefile +++ /dev/null @@ -1,12 +0,0 @@ - -include ..\..\makefile.i - -tsmem: ..\mem.lib tsmem.c makefile - $(CCOM) $(CFL) -I.. -I..\.. ..\mem.lib ..\..\btr.lib ..\..\trx.lib ..\..\pars.lib ..\..\que.lib ..\..\lock.lib ..\..\row.lib ..\..\read.lib ..\..\srv.lib ..\..\com.lib ..\..\usr.lib ..\..\thr.lib ..\..\fut.lib ..\..\fsp.lib ..\..\page.lib ..\..\dyn.lib ..\..\mtr.lib ..\..\log.lib ..\..\rem.lib ..\..\fil.lib ..\..\buf.lib ..\..\dict.lib ..\..\data.lib ..\..\mach.lib ..\..\ha.lib ..\..\ut.lib ..\..\sync.lib ..\..\os.lib tsmem.c $(LFL) - - - - - - - diff --git a/innobase/mem/ts/tsmem.c b/innobase/mem/ts/tsmem.c deleted file mode 100644 index 4a108251673..00000000000 --- a/innobase/mem/ts/tsmem.c +++ /dev/null @@ -1,497 +0,0 @@ -/************************************************************************ -The test module for the memory management of Innobase - -(c) 1994, 1995 Innobase Oy - -Created 6/10/1994 Heikki Tuuri -*************************************************************************/ - -#include "../mem0mem.h" -#include "sync0sync.h" -#include "ut0rnd.h" - -mem_heap_t* heap_arr[1200]; - -byte* buf_arr[10000]; -ulint rnd_arr[10000]; - - -#ifdef UNIV_DEBUG -/********************************************************************* -Debug version test. */ - -void -test1(void) -/*=======*/ -{ - mem_heap_t* heap_1, *heap_2; - byte* buf_1, *buf_2, *buf_3; - byte check; - bool error; - ulint i; - ulint j; - ulint sum; - ulint user_size; - ulint phys_size, phys_size_1, phys_size_2; - ulint n_blocks; - ulint p; - byte block[1024]; - byte* top_1, *top_2; - - /* For this test to work the memory alignment must be - even (presumably a reasonable assumption) */ - ut_a(0 == (UNIV_MEM_ALIGNMENT & 1)); - - printf("-------------------------------------------\n"); - printf("TEST 1. Basic test \n"); - - heap_1 = mem_heap_create(0); - - buf_1 = mem_heap_alloc(heap_1, 11); - - heap_2 = mem_heap_create(0); - - buf_2 = mem_heap_alloc(heap_1, 15); - - /* Test that the field is properly initialized */ - for (i = 0; i < 11; i++) { - ut_a((*(buf_1 + i) == 0xBA) || (*(buf_1 + i) == 0xBE)); - } - - check = *(buf_1 + 11); - - mem_validate(); - - /* Make an advertent error in the heap */ - (*(buf_1 + 11))++; - - error = mem_validate_no_assert(); - - ut_a(error); - - /* Fix the error in heap before freeing */ - *(buf_1 + 11) = check; - - mem_print_info(); - - /* Free the top buffer buf_2 */ - mem_heap_free_top(heap_1, 15); - - /* Test that the field is properly erased */ - for (i = 0; i < 15; i++) { - ut_a((*(buf_2 + i) == 0xDE) || (*(buf_2 + i) == 0xAD)); - } - - /* Test that a new buffer is allocated from the same position - as buf_2 */ - buf_3 = mem_heap_alloc(heap_1, 15); - - ut_a(buf_3 == buf_2); - - mem_heap_free(heap_1); - - /* Test that the field is properly erased */ - for (i = 0; i < 11; i++) { - ut_a((*(buf_1 + i) == 0xDE) || (*(buf_1 + i) == 0xAD)); - } - - mem_validate(); - - mem_print_info(); - - printf("-------------------------------------------\n"); - printf("TEST 2. Test of massive allocation and freeing\n"); - - sum = 0; - for (i = 0; i < 10000; i++) { - - j = ut_rnd_gen_ulint() % 16 + 15; - - sum = sum + j; - - buf_1 = mem_heap_alloc(heap_2, j); - rnd_arr[i] = j; - - buf_arr[i] = buf_1; - - ut_a(buf_1 == mem_heap_get_top(heap_2, j)); - } - - mem_heap_validate_or_print(heap_2, NULL, FALSE, &error, &user_size, - &phys_size_1, - &n_blocks); - - ut_a(!error); - ut_a(user_size == sum); - - (*(buf_1 - 1))++; - - ut_a(mem_validate_no_assert()); - - (*(buf_1 - 1))--; - - mem_print_info(); - - - for (p = 10000; p > 0 ; p--) { - - j = rnd_arr[p - 1]; - - ut_a(buf_arr[p - 1] == mem_heap_get_top(heap_2, j)); - mem_heap_free_top(heap_2, j); - } - - mem_print_info(); - - mem_heap_free(heap_2); - - mem_print_info(); - - printf("-------------------------------------------\n"); - printf("TEST 3. More tests on the validating \n"); - - heap_1 = mem_heap_create(UNIV_MEM_ALIGNMENT * 20); - - buf_1 = mem_heap_alloc(heap_1, UNIV_MEM_ALIGNMENT * 20); - - mem_heap_validate_or_print(heap_1, NULL, FALSE, &error, &user_size, - &phys_size_1, - &n_blocks); - - ut_a((ulint)(buf_1 - (byte*)heap_1) == (MEM_BLOCK_HEADER_SIZE - + MEM_FIELD_HEADER_SIZE)); - - mem_validate(); - - mem_print_info(); - - ut_a(user_size == UNIV_MEM_ALIGNMENT * 20); - ut_a(phys_size_1 == (ulint)(ut_calc_align(MEM_FIELD_HEADER_SIZE - + UNIV_MEM_ALIGNMENT * 20 - + MEM_FIELD_TRAILER_SIZE, - UNIV_MEM_ALIGNMENT) - + MEM_BLOCK_HEADER_SIZE)); - - ut_a(n_blocks == 1); - - buf_2 = mem_heap_alloc(heap_1, UNIV_MEM_ALIGNMENT * 3 - 1); - - mem_heap_validate_or_print(heap_1, NULL, FALSE, &error, - &user_size, &phys_size_2, - &n_blocks); - - printf("Physical size of the heap %ld\n", phys_size_2); - - ut_a(!error); - ut_a(user_size == UNIV_MEM_ALIGNMENT * 23 - 1); - ut_a(phys_size_2 == (ulint) (phys_size_1 - + ut_calc_align(MEM_FIELD_HEADER_SIZE - + phys_size_1 * 2 - + MEM_FIELD_TRAILER_SIZE, - UNIV_MEM_ALIGNMENT) - + MEM_BLOCK_HEADER_SIZE)); - - ut_a(n_blocks == 2); - - buf_3 = mem_heap_alloc(heap_1, UNIV_MEM_ALIGNMENT * 3 + 5); - - ut_a((ulint)(buf_3 - buf_2) == ut_calc_align( - (UNIV_MEM_ALIGNMENT * 3 - + MEM_FIELD_TRAILER_SIZE), - UNIV_MEM_ALIGNMENT) - + MEM_FIELD_HEADER_SIZE); - - - ut_memcpy(buf_3, buf_2, UNIV_MEM_ALIGNMENT * 3); - - mem_heap_validate_or_print(heap_1, NULL, FALSE, &error, - &user_size, &phys_size, - &n_blocks); - - ut_a(!error); - ut_a(user_size == UNIV_MEM_ALIGNMENT * 26 + 4); - ut_a(phys_size == phys_size_2); - ut_a(n_blocks == 2); - - - /* Make an advertent error to buf_3 */ - - (*(buf_3 - 1))++; - - mem_heap_validate_or_print(heap_1, NULL, FALSE, &error, - &user_size, &phys_size, - &n_blocks); - - ut_a(error); - ut_a(user_size == 0); - ut_a(phys_size == 0); - ut_a(n_blocks == 0); - - /* Fix the error and make another */ - - (*(buf_3 - 1))--; - (*(buf_3 + UNIV_MEM_ALIGNMENT * 3 + 5))++; - - mem_heap_validate_or_print(heap_1, NULL, FALSE, &error, - &user_size, &phys_size, - &n_blocks); - - ut_a(error); - - (*(buf_3 + UNIV_MEM_ALIGNMENT * 3 + 5))--; - - buf_1 = mem_heap_alloc(heap_1, UNIV_MEM_ALIGNMENT + 4); - - ut_a((ulint)(buf_1 - buf_3) == ut_calc_align(UNIV_MEM_ALIGNMENT * 3 + 5 - + MEM_FIELD_TRAILER_SIZE , - UNIV_MEM_ALIGNMENT) - + MEM_FIELD_HEADER_SIZE); - - - mem_heap_validate_or_print(heap_1, NULL, FALSE, &error, - &user_size, &phys_size, - &n_blocks); - - ut_a(!error); - ut_a(user_size == UNIV_MEM_ALIGNMENT * 27 + 8); - ut_a(phys_size == phys_size_2); - ut_a(n_blocks == 2); - - - mem_print_info(); - - mem_heap_free(heap_1); - - printf("-------------------------------------------\n"); - printf("TEST 4. Test of massive allocation \n"); - printf("of heaps to test the hash table\n"); - - for (i = 0; i < 500; i++) { - heap_arr[i] = mem_heap_create(i); - buf_2 = mem_heap_alloc(heap_arr[i], 2 * i); - } - - mem_validate(); - - for (i = 0; i < 500; i++) { - mem_heap_free(heap_arr[i]); - } - - mem_validate(); - - mem_print_info(); - - /* Validating a freed heap should generate an error */ - - mem_heap_validate_or_print(heap_1, NULL, FALSE, &error, - NULL, NULL, NULL); - - ut_a(error); - - printf("-------------------------------------------\n"); - printf("TEST 5. Test of mem_alloc and mem_free \n"); - - buf_1 = mem_alloc(11100); - buf_2 = mem_alloc(23); - - ut_memcpy(buf_2, buf_1, 23); - - mem_validate(); - - mem_print_info(); - - mem_free(buf_1); - mem_free(buf_2); - - mem_validate(); - - printf("-------------------------------------------\n"); - printf("TEST 6. Test of mem_heap_print \n"); - - heap_1 = mem_heap_create(0); - - buf_1 = mem_heap_alloc(heap_1, 7); - - ut_memcpy(buf_1, "Pascal", 7); - - for (i = 0; i < 10; i++) { - buf_1 = mem_heap_alloc(heap_1, 6); - ut_memcpy(buf_1, "Cobol", 6); - } - - printf("A heap with 1 Pascal and 10 Cobol's\n"); - mem_heap_print(heap_1); - - for (i = 0; i < 10; i++) { - mem_heap_free_top(heap_1, 6); - } - - printf("A heap with 1 Pascal and 0 Cobol's\n"); - mem_heap_print(heap_1); - - ut_a(mem_all_freed() == FALSE); - - mem_heap_free(heap_1); - - ut_a(mem_all_freed() == TRUE); - - mem_print_info(); - - printf("-------------------------------------------\n"); - printf("TEST 7. Test of mem_heap_fast_create \n"); - - heap_1 = mem_heap_fast_create(1024, block); - - buf_1 = mem_heap_alloc(heap_1, 7); - - ut_memcpy(buf_1, "Pascal", 7); - - for (i = 0; i < 1000; i++) { - buf_1 = mem_heap_alloc(heap_1, 6); - ut_memcpy(buf_1, "Cobol", 6); - } - - for (i = 0; i < 1000; i++) { - mem_heap_free_top(heap_1, 6); - } - - ut_a(mem_all_freed() == FALSE); - - mem_heap_free(heap_1); - - ut_a(mem_all_freed() == TRUE); - - mem_print_info(); - - printf("-------------------------------------------\n"); - printf("TEST 8. Test of heap top freeing \n"); - - heap_1 = mem_heap_fast_create(1024, block); - - top_1 = mem_heap_get_heap_top(heap_1); - - buf_1 = mem_heap_alloc(heap_1, 7); - - ut_memcpy(buf_1, "Pascal", 7); - - for (i = 0; i < 500; i++) { - buf_1 = mem_heap_alloc(heap_1, 6); - ut_memcpy(buf_1, "Cobol", 6); - } - - top_2 = mem_heap_get_heap_top(heap_1); - - for (i = 0; i < 500; i++) { - buf_1 = mem_heap_alloc(heap_1, 6); - ut_memcpy(buf_1, "Cobol", 6); - } - - mem_heap_free_heap_top(heap_1, top_2); - - mem_heap_free_heap_top(heap_1, top_1); - - ut_a(mem_all_freed() == FALSE); - - for (i = 0; i < 500; i++) { - buf_1 = mem_heap_alloc(heap_1, 6); - ut_memcpy(buf_1, "Cobol", 6); - - } - - mem_heap_empty(heap_1); - - for (i = 0; i < 500; i++) { - buf_1 = mem_heap_alloc(heap_1, 6); - ut_memcpy(buf_1, "Cobol", 6); - - } - - mem_heap_free(heap_1); - - ut_a(mem_all_freed() == TRUE); - - mem_print_info(); - -} -#endif /* UNIV_DEBUG */ - -/**************************************************************** -Allocation speed test. */ - -void -test2(void) -/*=======*/ -{ - mem_heap_t* heap; - ulint tm, oldtm; - ulint i; - byte* buf; - byte block[512]; - - printf("-------------------------------------------\n"); - printf("TEST B1. Test of speed \n"); - - oldtm = ut_clock(); - - for (i = 0; i < 10000 * UNIV_DBC * UNIV_DBC; i++) { - heap = mem_heap_create(500); - mem_heap_free(heap); - } - - tm = ut_clock(); - - printf("Time for %ld heap create-free pairs %ld millisecs.\n", - i, tm - oldtm); - - - oldtm = ut_clock(); - - for (i = 0; i < 10000 * UNIV_DBC * UNIV_DBC; i++) { - heap = mem_heap_fast_create(512, block); - mem_heap_free(heap); - } - - tm = ut_clock(); - - printf("Time for %ld heap fast-create-free pairs %ld millisecs.\n", - i, tm - oldtm); - - - heap = mem_heap_create(500); - - oldtm = ut_clock(); - - for (i = 0; i < 10000 * UNIV_DBC * UNIV_DBC; i++) { - buf = mem_heap_alloc(heap, 50); - mem_heap_free_top(heap, 50); - } - - tm = ut_clock(); - - printf("Time for %ld heap alloc-free-top pairs %ld millisecs.\n", - i, tm - oldtm); - - mem_heap_free(heap); -} - - -void -main(void) -{ - sync_init(); - mem_init(2500000); - - #ifdef UNIV_DEBUG - - test1(); - - #endif - - test2(); - - ut_ad(sync_all_freed()); - - ut_ad(mem_all_freed()); - - printf("TEST SUCCESSFULLY COMPLETED!\n"); -} |