aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/test/ets_SUITE.erl
AgeCommit message (Collapse)Author
2013-03-27stdlib: Fix unstable testcase ets_SUITE:delete_large_named_tableSverker Eriksson
Remove the call trace from this testcase as we cannot guarantee named table to be gone until ets:delete returns anyway.
2013-02-26stdlib: Remove race in ets_SUITE:delete_large_tabSverker Eriksson
2013-02-26stdlib: Remove race in ets_SUITE:delete_large_named_tableSverker Eriksson
2013-02-22Update copyright yearsBjörn-Egil Dahlberg
2013-02-08stdlib: Try fix fluctuating test cases in ets_SUITESverker Eriksson
by removing slave node creation and instead create remote pids, ports and refs synthetically using binary_to_term. Memory leak checks were sometimes failing due to mutating system ETS tables caused by slave node communication.
2012-11-21Merge branch 'sverk/ets_SUITE-heir-core'Sverker Eriksson
* sverk/ets_SUITE-heir-core: stdlib: Tweak ets_SUITE:heir to not exhaust memory
2012-10-05stdlib: Tweak ets_SUITE:heir to not exhaust memorySverker Eriksson
while trying to spawn a process with a specific pid
2012-08-23Merge branch 'maint'Ingela Anderton Andin
* maint: (50 commits) ssl: Clean up of code thanks to dialyzer ssl: Add missing sslv3 alert ssl: Test suite adjustments ssl & public_key: Prepare for release ssl: Use crypto:strong_rand_bytes if possible ssl & public_key: Add use of more "sha-rsa oids" ssl: Fix inet header option to behave as in inet ssl: TLS 1.2: fix hash and signature handling ssl: TLS 1.2: fix Certificate Request list of Accepted Signatur/Hash combinations ssl: Add Signature Algorithms hello extension from TLS 1.2 ssl: Fix rizzo tests to run as intended ssl: TLS-1.1 and TLS-1.2 support should not be default until R16 ssl: Signture type bug ssl: Add crypto support check (TLS 1.2 require sha256 support) ssl: Dialyzer fixes ssl: IDEA cipher is deprecated by TLS 1.2 ssl: Run relevant tests for all SSL/TLS versions ssl: Add TLS version switches to openssl tests ssl: Enable TLS 1.2 ssl: Enable mac_hash for TLS 1.2 ...
2012-08-21Fix bug in ets:test_ms/2.Sverker Eriksson
copy_shallow was called when using '$_'
2012-08-15Merge branch 'maint'Sverker Eriksson
2012-08-14Fix corrupted binaries in compressed ETS tablesSverker Eriksson
2012-07-19stdlib: Remove VxWorksBjörn-Egil Dahlberg
2012-05-10Remove workarounds for hybrid and shared heaps in test suitesBjörn Gustavsson
2012-03-30Update copyright yearsBjörn-Egil Dahlberg
2012-02-21erts: Fix bignum-bug in ETS with compressed optionSverker Eriksson
A large 64-bit immediate number will be stored as SMALL_BIG_EXT by ETS compressed format. When uncompressing, the SMALL_BIG_EXT was first decoded as as bignum (by bytes_to_big) and then turned into a small (by big_norm). This works for normal "binary_to_term" as decoded_size() over-estimates the needed heap size. But for ETS no over-estimation is done as the real term size is known and stored in DbTerm. Fixed by preventing bytes_to_big() from writing bignum digit when the number is seen to fit in an immediate.
2011-12-19stdlib: Enable unused 'end_per_testcase' in ets_SUITESverker Eriksson
Also added more information when waiting for test proc to die
2011-11-13Merge branch 'rickard/alloc-opt/OTP-7775'Rickard Green
* rickard/alloc-opt/OTP-7775: Optimize memory allocation Conflicts: erts/aclocal.m4 erts/emulator/hipe/hipe_bif_list.m4 erts/preloaded/ebin/erl_prim_loader.beam erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/init.beam erts/preloaded/ebin/otp_ring0.beam erts/preloaded/ebin/prim_file.beam erts/preloaded/ebin/prim_inet.beam erts/preloaded/ebin/prim_zip.beam erts/preloaded/ebin/zlib.beam
2011-11-13Optimize memory allocationRickard Green
A number of memory allocation optimizations have been implemented. Most optimizations reduce contention caused by synchronization between threads during allocation and deallocation of memory. Most notably: * Synchronization of memory management in scheduler specific allocator instances has been rewritten to use lock-free synchronization. * Synchronization of memory management in scheduler specific pre-allocators has been rewritten to use lock-free synchronization. * The 'mseg_alloc' memory segment allocator now use scheduler specific instances instead of one instance. Apart from reducing contention this also ensures that memory allocators always create memory segments on the local NUMA node on a NUMA system.
2011-10-21Fix a few tests that used to fail on the HiPE platformHans Bolinder
2011-09-16Merge branch 'dev' into majorBjörn-Egil Dahlberg
* dev: Cleanup ETS bif's in hipe:erl_bif_types.erl (for dialyzer) Conflicts: erts/emulator/beam/erl_db.c
2011-09-16Merge branch 'pan/erl-bif-types/OTP-9496' into devBjörn-Egil Dahlberg
* pan/erl-bif-types/OTP-9496: Cleanup ETS bif's in hipe:erl_bif_types.erl (for dialyzer)
2011-09-14Merge branch 'dev' into majorLukas Larsson
* dev: Add a high value to test data to catch type cast truncation errors
2011-09-12Cleanup ETS bif's in hipe:erl_bif_types.erl (for dialyzer)Patrik Nyblom
2011-08-31Add a high value to test data to catch type cast truncation errorsLukas Larsson
2011-08-16emulator: Add a fourth element in exception stacktracesBjörn Gustavsson
This commit is a preparation for introducing location information (filename/line number) in stacktraces in exceptions. Currently a stack trace looks like: [{Mod1,Function1,Arity1}, . . . {ModN,FunctionN,ArityN}] Add a forth element to each tuple that can be used indication the filename and line number of the source file: [{Mod1,Function1,Arity1,Location1}, . . . {ModN,FunctionN,ArityN,LocationN}] In this commit, the fourth element will just be an empty list, and we will change all code that look at or manipulate stacktraces.
2011-07-20Add test case for ETS bug OTP-9423Sverker Eriksson
2011-07-08Use separate memory carriers for small blocksRickard Green
2011-02-23stdlib tests: Eliminate some compiler warningsBjörn Gustavsson
2011-02-18Merge branch 'sverker/ets_halfword_highmem/OTP-8941' into devSverker Eriksson
* sverker/ets_halfword_highmem/OTP-8941: HALFWORD ETS Fix copyright year in some source files Fix vm crash in kernel test case seq_trace_SUITE:call remove NIF compile warning: no previous prototype for ‘nif_init’ Refuse to load NIF library on wrong VM variant (halfword/fullword) HALFWORD ETS match spec heap fragment optimization HALFWORD ETS removed eheap and improved test case t_match_spec_run HALFWORD ETS Further match spec optimization to minimize copying and garbage HALFWORD ETS db_prog_match optimization HALFWORD ETS Fix segv for match spec with several function and guards HALFWORD Make system_info mseg_alloc report both low/high mem HALFWORD Fix segv caused by erlang:halt HALFWORD Make more allocators use high mem (binary, fixed and driver) HALFWORD ETS 32-bit arch fixes and other cleanups HALFWORD ETS nicer update_element HALFWORD ETS Real matching on relative terms HALFWORD first stab at high mem alloc HALFWORD ETS relative terms Conflicts: erts/emulator/test/driver_SUITE.erl
2011-02-17Rename Suite Callback to Common Test HookLukas Larsson
2011-02-17Fix formatting for stdlibLukas Larsson
2011-02-17Add init_per_suite and end_per_suiteLukas Larsson
2011-02-17Add ts_install_scb to suite/0Lukas Larsson
2011-02-17Update stdlib tests to conform with common_test standardLukas Larsson
2011-02-17Update all fin_per_testcase to end_per_testcase.Lukas Larsson
2011-02-03HALFWORD ETS removed eheap and improved test case t_match_spec_runSverker Eriksson
2011-02-03HALFWORD ETS Fix segv for match spec with several function and guardsSverker Eriksson
Did not properly take care of case when TryMeElse restarted with next match clause.
2011-02-03HALFWORD ETS 32-bit arch fixes and other cleanupsSverker Eriksson
2011-02-03HALFWORD ETS relative termsSverker Eriksson
In halfword emulator, make ETS use a variant of the internal term format that uses relative offsets instead of absolute pointers. This will allow storage in high memory (>4G). Preprocessor macros (like list_val_rel(TERM,BASE)) are used to make normal (fullword) emulator almost completely unchanged while still reusing most of the code.
2010-12-16Safe deallocation of ETS-table structuresRickard Green
Ensure that all threads potentially accessing an ETS-table have dropped all references to the table before deallocating it.
2010-12-03Fix ets_SUITE:types to not fail due to false mem leaksSverker Eriksson
Waiting for table sys_dist to stablize after slave node has been stopped.
2010-11-30Improved ets_SUITE to better trouble shoot false memory leaksSverker Eriksson
2010-11-22ETS 'compressed' option.Sverker Eriksson
The compressed format is using a slighty modified variant of the extern format (term_to_binary). To not worsen key lookup's too much, the top tuple itself and the key element are not compressed. Table objects with only immediate non-key elements will therefor not gain anything (but actually consume one extra word for "alloc_size").
2010-08-30Merge branch 'pan/ets_binary_overhead/OTP-8762' into devPatrik Nyblom
* pan/ets_binary_overhead/OTP-8762: Remove binary overhead counter from ets objects
2010-08-19Remove binary overhead counter from ets objectsPatrik Nyblom
As the overhead counter got larger and never really was needed in ets objects, I removed them. A few stray comments of XXX:PaN type from halfword dev removed in the process.
2010-08-12Add testcase for ets:select_reverse/1/2/3Patrik Nyblom
2010-08-10Merge branch 'rickard/ethread-rewrite/OTP-8544' into devRickard Green
* rickard/ethread-rewrite/OTP-8544: Rewrite ethread library
2010-08-10Rewrite ethread libraryRickard Green
Large parts of the ethread library have been rewritten. The ethread library is an Erlang runtime system internal, portable thread library used by the runtime system itself. Most notable improvement is a reader optimized rwlock implementation which dramatically improve the performance of read-lock/read-unlock operations on multi processor systems by avoiding ping-ponging of the rwlock cache lines. The reader optimized rwlock implementation is used by miscellaneous rwlocks in the runtime system that are known to be read-locked frequently, and can be enabled on ETS tables by passing the `{read_concurrency, true}' option upon table creation. See the documentation of `ets:new/2' for more information. The ethread library can now also use the libatomic_ops library for atomic memory accesses. This makes it possible for the Erlang runtime system to utilize optimized atomic operations on more platforms than before. Use the `--with-libatomic_ops=PATH' configure command line argument when specifying where the libatomic_ops installation is located. The libatomic_ops library can be downloaded from: http://www.hpl.hp.com/research/linux/atomic_ops/ The changed API of the ethread library has also caused modifications in the Erlang runtime system. Preparations for the to come "delayed deallocation" feature has also been done since it depends on the ethread library. Note: When building for x86, the ethread library will now use instructions that first appeared on the pentium 4 processor. If you want the runtime system to be compatible with older processors (back to 486) you need to pass the `--enable-ethread-pre-pentium4-compatibility' configure command line argument when configuring the system.
2010-07-20Merge branch 'sverker/one_offheap_list/OTP-8737' into devSverker Eriksson
* sverker/one_offheap_list/OTP-8737: One off-heap list, to eliminate two words per ETS object.
2010-07-20One off-heap list, to eliminate two words per ETS object.Sverker Eriksson
Merging the three off-heap lists (binaries, funs and externals) into one list. This reduces memory consumption by two words (pointers) per ETS object.