aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2012-12-19Eliminate code duplicationBjörn Gustavsson
It seems that the code was duplicated only to avoid emitting a semi-colon before the first case clause. Handle that by passing a Sep argument instead. While at it, also do the following clean-ups: * Replace lists:keysearch/3 with lists:keyfind/3. * Replace the use of is_record/2 with matching
2012-12-19per: Slightly optimize encoding of fixed OCTET STRINGsBjörn Gustavsson
Do the following optimizations: * Optimize construction of OCTET STRINGs of size 2 by using the 45 opcode instead of the 10 opcode for each character. * Use exact comparison (implicit by matching) instead of '=='. * Use list literals when more than one integer is added to a list (e.g. [[45,16,2],...] instead of [45,16,2,...]). Results in fewer BEAM instructions and less garbage. * Cons instead of building a nested list when possible. Example: [20,TempLen|TmpVal] instead of [20,TempLen,TmpVal]. * Omit the "2" opcode (align to byte boundary) before the "20" and "21" opcodes (because they imply alignment). * Assign the value to be encoded to a temporary variable, to avoid calling element/2 more than once.
2012-12-19per: Fix encoding of OCTET STRINGs with fixed length of 256 or moreBjörn Gustavsson
2012-12-19Remove support for the {Typename,Value} notation in encodingBjörn Gustavsson
Support for the notation was removed in 6ef8cbdaaaa1c30a7dc462063.
2012-12-18asn1ct_parser2: Let synonyms share parsing codeBjörn Gustavsson
UNION and "|" are synonyms, as are INTERSECTION and "^". Use the same parsing code for the synonyms.
2012-12-18Add a test case for constraint equivalenceBjörn Gustavsson
The constraint simplification pass need to be seriously rethought and rewritten. As a starting point, add a test case to test that equivalent ways to write a constraint are reduced to the same simplified constraint. Fix a few obvious bugs to make the test cases to pass.
2012-12-18Make .abs file consultableBjörn Gustavsson
2012-12-18Fix a bug in skipping of extensionsBjörn Gustavsson
Extensions following a double bracket group were not skipped correctly. Fix this bug and add tests to ensure that extensions are skipped correctly.
2012-12-18asn1rt_uper_bin: Correct incorrect skipping of extensionsBjörn Gustavsson
Commit 1b622484ea984f3bc424d2a6760e2d961bfcf816 changed the type of the extension bitmap for uper (from a tuple to a bitstring), but did not do the the corresponding change to the run-time module.
2012-12-18asn1 doc: Remove a reference to a section that has been removedBjörn Gustavsson
2012-12-18Simplify testConstraints by introducing helper functionsBjörn Gustavsson
2012-12-18Simplify testCompactBitString by introducing roundtrip functionsBjörn Gustavsson
Also run the test case for all back-ends.
2012-12-17Simplify testEnumExt by introducing a roundtrip/2 functionBjörn Gustavsson
2012-12-17Simplify testChoExternal by introducing a roundtrip/2 functionBjörn Gustavsson
2012-12-17Simplify testChoRecursive by introducing a roundtrip/2 functionBjörn Gustavsson
2012-12-17Simplify testSeqExtension.erl by introducing a roundtrip/2 functionBjörn Gustavsson
Make the test suite more readable by introducing and using a roundtrip/2 function.
2012-12-17Simplify testChoExtension by introducing a roundtrip/2 functionBjörn Gustavsson
2012-12-17Simplify testSetOptional by introducing a roundtrip/2 functionBjörn Gustavsson
2012-12-17testSetOptional: Correct test case for decoding of corrupt dataBjörn Gustavsson
Eliminate the spawning of the process since the original bug is fixed.
2012-12-17asn1_SUITE: Only run testExtensionAdditionGroup/1 onceBjörn Gustavsson
2012-12-17Update preloaded modulesBjörn-Egil Dahlberg
2012-12-17Merge branch 'egil/r16/insert_delete_element/OTP-10643'Björn-Egil Dahlberg
* egil/r16/insert_delete_element/OTP-10643: Update preloaded erlang.beam erts: Document insert_element and delete_element tests: Update tuple_SUITE for insert and delete Add insert_element/3 and delete_element/2
2012-12-14Update preloaded erlang.beamBjörn-Egil Dahlberg
2012-12-14erts: Document insert_element and delete_elementBjörn-Egil Dahlberg
Document new BIFs: * erlang:insert_element/3 * erlang:delete_element/2
2012-12-14tests: Update tuple_SUITE for insert and deleteBjörn-Egil Dahlberg
* Test erlang:insert_element/3 BIF * Test erlang:delete_element/2 BIF
2012-12-14Add insert_element/3 and delete_element/2Björn-Egil Dahlberg
* erlang:insert_element/3 - extend a tuple at an index * erlang:delete_element/2 - remove an element at an index
2012-12-14Merge branch 'sverk/egil/r16/new-alloc-header-scheme/OTP-10273'Björn-Egil Dahlberg
OTP-10415 * sverk/egil/r16/new-alloc-header-scheme/OTP-10273: (42 commits) erts: Make ll main mbc fit into 2pow size erts: Clear entire mseg cache upon request erts: Reduce max heap sizes tests: Refactor away ?line macro in beam_SUITE tests: Fix heap_sizes check tests: Refactor away ?line macro in process_SUITE tests: Use new correct min_bin_vheap_size in test erts: Set super alignment (256kb) and limits for sbct (8Mb) and lmbcs (128Mb) erts: Do not cache segments that are misaligned erts: Add mseg cache for large sbc segments erts: Reintroduce mseg options amcbf and rmcbf erts: Optimize erl_alloc_util.c by substitute MBC_BLK_SZ erts: Fix bug when allocating size near sbc_threshold erts: Make gc sizes fit into MB Carrier blocks erts: Force sbmbc to be disabled in a crude way erts: Fix new header scheme for win64 erts: Fix mseg cache. Malplaced NULL pointer erts: Remove unused mseg options amcbf and rmcbf erts: Use aligned bits as constant in mseg_alloc erts: Don't let zero be considered a power of two ... Conflicts: erts/emulator/test/process_SUITE.erl
2012-12-14erts: Make ll main mbc fit into 2pow sizeBjörn-Egil Dahlberg
2012-12-14erts: Clear entire mseg cache upon requestBjörn-Egil Dahlberg
2012-12-14erts: Reduce max heap sizesBjörn-Egil Dahlberg
Reduces max heap sizes to max addressable memory space. In reality this could be even less since we need at least twice as much adressable memory to do a garbage collection. The rest of the system also uses memory thus further constraining heap memory space and in the 64 bit case we really only have 48 bits mappable memory.
2012-12-14tests: Refactor away ?line macro in beam_SUITEBjörn-Egil Dahlberg
2012-12-14tests: Fix heap_sizes checkBjörn-Egil Dahlberg
2012-12-14tests: Refactor away ?line macro in process_SUITEBjörn-Egil Dahlberg
2012-12-14tests: Use new correct min_bin_vheap_size in testBjörn-Egil Dahlberg
2012-12-14erts: Set super alignment (256kb) and limits for sbct (8Mb) and lmbcs (128Mb)Sverker Eriksson
2012-12-14erts: Do not cache segments that are misalignedBjörn-Egil Dahlberg
* SBC may realloc carriers to misaligned addresses which is perfectly fine. However, those segments may not be cached because MBC allocations might find them and MBC's *needs* correct alignment.
2012-12-14erts: Add mseg cache for large sbc segmentsBjörn-Egil Dahlberg
* Not a power of two (unpowered) segements
2012-12-14erts: Reintroduce mseg options amcbf and rmcbfBjörn-Egil Dahlberg
Used with new sbc cache
2012-12-14erts: Optimize erl_alloc_util.c by substitute MBC_BLK_SZSverker Eriksson
with either MBC_ABLK_SZ or MBC_FBLK_SZ in all cases when we already know what kind of block it is.
2012-12-14erts: Fix bug when allocating size near sbc_thresholdSverker Eriksson
A block larger than sbc_threshold can be allocated in MBC if the subsequent "residue block" is smaller than min_block_size. Solved by lowering sbc_threshold to ("hard limit" - min_block_size).
2012-12-14erts: Make gc sizes fit into MB Carrier blocksBjörn-Egil Dahlberg
* Account for block header size in gc-sizes * Also slow down growth to 20% instead of 25% when size threshold is reached
2012-12-14erts: Force sbmbc to be disabled in a crude waySverker Eriksson
2012-12-14erts: Fix new header scheme for win64Sverker Eriksson
2012-12-14erts: Fix mseg cache. Malplaced NULL pointerBjörn-Egil Dahlberg
2012-12-14erts: Remove unused mseg options amcbf and rmcbfBjörn-Egil Dahlberg
2012-12-14erts: Use aligned bits as constant in mseg_allocBjörn-Egil Dahlberg
HAVE_SUPER_ALIGNED_MB_CARRIERS is always true with mmap and thus aligned bits is a constant and so is "page" size for mmap. Conflicts: erts/emulator/sys/common/erl_mseg.h
2012-12-14Merge branch 'ia/ssh/add_users_guide/OTP-7786'Ingela Anderton Andin
* ia/ssh/add_users_guide/OTP-7786: ssh: Document and clean up SSH behaviours ssh: Add Users Guide and enhance man pages ssh: Added User's Guide framework and minor enhancements
2012-12-13ssh: Document and clean up SSH behavioursIngela Anderton Andin
2012-12-13Merge branch 'ao/fix_mnesia_overload_msg_format'Henrik Nord
* ao/fix_mnesia_overload_msg_format: Fix format of mnesia overload message OTP-10639
2012-12-13Merge branch 'tja/exported-function-face'Henrik Nord
* tja/exported-function-face: Add separate face for exported functions OTP-10637