aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2011-11-13Merge branch 'rickard/thr-progress-block/OTP-9631'Rickard Green
* rickard/thr-progress-block/OTP-9631: Replace system block with thread progress block
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-13Replace system block with thread progress blockRickard Green
The ERTS internal system block functionality has been replaced by new functionality for blocking the system. The old system block functionality had contention issues and complexity issues. The new functionality piggy-backs on thread progress tracking functionality needed by newly introduced lock-free synchronization in the runtime system. When the functionality for blocking the system isn't used there is more or less no overhead at all. This since the functionality for tracking thread progress is there and needed anyway.
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-11-11Merge branch 'anders/diameter/capabilities_cb/OTP-9654'Anders Svensson
* anders/diameter/capabilities_cb/OTP-9654: Update documentation Add capx suite Accept any 2xxx result code in CEA Rename some functions plus comment tweak Send events for connection establishment failure Use trivial capabilities callback in traffic suite Add capabilities_cb transport option Minor tls_ack simplification diameter_dbg:log -> diameter_lib:log
2011-11-11Merge branch 'anders/diameter/make/OTP-9638'Anders Svensson
* anders/diameter/make/OTP-9638: Fix comment typo Simplify handling of generated hrls in testsuites Minor dependency fix Target cleanup in test/Makefile
2011-11-11Merge branch 'lars/xmerl/unicode-non-characters/OTP-9670'Lars Thorsen
* lars/xmerl/unicode-non-characters/OTP-9670: Fix character check of non-characters due to change in unicode module
2011-11-11Fix character check of non-characters due to change in unicode moduleLars Thorsen
2011-11-11Merge branch 'nox/xmerl-namespace-axis/OTP-9664'Lars Thorsen
* nox/xmerl-namespace-axis/OTP-9664: Fix bugs and add a flag to skip comments Implement namespace axis Add `#xmlPI` support to xmerl_xpath:write_node/1 Fix processing-instruction(name?) Fix path filters Support more top-level primary expressions Accumulate comments in element nodes Add `default_attrs` option Allow whole documents to be returned Track parents and namespace in `#xmlAttribute` nodes Track parents in `#xmlPI` nodes Set `vsn` field in `#xmlDecl` record Fix namespace-conformance constraints
2011-11-11Fix bugs and add a flag to skip commentsLars Thorsen
Add flag {comments, Flag} to xmerl_scan for filtering of comments. Default (true) is that xmlComment records are returned from the scanner and this flag should be set to false if one don't want comments in the output. Fix some bugs to get the test cases to run clean.
2011-11-11Implement namespace axisAnthony Ramine
Namespace nodes are represented as `#xmlNsNode` records. Now that the namespace axis is correctly implemented, attributes nodes corresponding to attributes that declare namespaces are ignored. See [5.3 Attribute Nodes][xpath-5.3]: > There are no attribute nodes corresponding to attributes > that declare namespaces. [xpath-5.3]: http://www.w3.org/TR/xpath/#attribute-nodes
2011-11-11Add `#xmlPI` support to xmerl_xpath:write_node/1Anthony Ramine
2011-11-11Fix processing-instruction(name?)Anthony Ramine
2011-11-11Fix path filtersAnthony Ramine
2011-11-11Support more top-level primary expressionsAnthony Ramine
This change allows numbers and literals to be used as top-level primary expressions without failing: 1> xmerl_xpath:string("3", Doc). #xmlObj{type = number,value = 3} 2> xmerl_xpath:string("'foo'", Doc). #xmlObj{type = string,value = "foo"} We still need to allow arithmetic, comparative, boolean and negative expressions, as in `xmerl_xpath_pred:expr/2`.
2011-11-11Accumulate comments in element nodesAnthony Ramine
2011-11-11Add `default_attrs` optionAnthony Ramine
When `default_attrs` is `true`, any attribute with a default value defined in the doctype but not in the attribute axis of the currently scanned element is added to it.
2011-11-11Allow whole documents to be returnedAnthony Ramine
Functions `xmerl_scan:file/2` and `xmerl_scan:string/2` now accepts a new option `{document, true}` to produce a whole document as a `xmlDocument` record instead of just the root element node. You may wonder why this would be useful, this option is the only way to get to the top-level comments and processing instructions without hooking through the customization functions. Those nodes are needed to implement [Canonical XML][c14n-xml] support. [c14n-xml]: http://www.w3.org/TR/2008/PR-xml-c14n11-20080129/ "Canonical XML"
2011-11-11Track parents and namespace in `#xmlAttribute` nodesAnthony Ramine
2011-11-11Track parents in `#xmlPI` nodesAnthony Ramine
2011-11-11Set `vsn` field in `#xmlDecl` recordAnthony Ramine
2011-11-11Fix namespace-conformance constraintsAnthony Ramine
See [Namespaces in XML 1.0 (Third Edition)][1]: > The prefix xml is by definition bound to the namespace name > http://www.w3.org/XML/1998/namespace. It MAY, but need not, be > declared, and MUST NOT be bound to any other namespace name. Other > prefixes MUST NOT be bound to this namespace name, and it MUST NOT be > declared as the default namespace. > > The prefix xmlns is used only to declare namespace bindings and is by > definition bound to the namespace name http://www.w3.org/2000/xmlns/. > It MUST NOT be declared . Other prefixes MUST NOT be bound to this > namespace name, and it MUST NOT be declared as the default namespace. > Element names MUST NOT have the prefix xmlns. > > In XML documents conforming to this specification, no tag may containe > two attributes which have identical names, or have qualified names > with the same local part and with prefixes which have been bound to > namespace names that are identical. [1] http://www.w3.org/TR/REC-xml-names/
2011-11-11Merge branch 'maint-r14'Dan Gudmundsson
2011-11-11Merge branch 'egil/fix-release_tests-path'Björn-Egil Dahlberg
* egil/fix-release_tests-path: otp: Add paths to erlc for release_tests
2011-11-10Update documentationAnders Svensson
2011-11-10Add capx suiteAnders Svensson
Tests error handling at capabilities exchange.
2011-11-10Accept any 2xxx result code in CEAAnders Svensson
2011-11-10Rename some functions plus comment tweakAnders Svensson
In diameter_service: make_packet -> make_request_packet make_header -> make_request_header make_reply_packet -> make_answer_packet
2011-11-10Send events for connection establishment failureAnders Svensson
If a peer fsm process exits then the exit reason is received by the service process in a 'DOWN' message. If the reason is the one generated by diameter_peer_fsm:close/2, which is called to signal a non-transport failure before the completion of capabilities exchange (eg. receiving an unsuccessful CEA), then an event is sent to any subscribers. Also, tweak capabilities_cb return values for more informative event data.
2011-11-10Use trivial capabilities callback in traffic suiteAnders Svensson
2011-11-10Add capabilities_cb transport optionAnders Svensson
Value is a function that's applied to the transport reference and capabilities record after capabilities exchange. If a callback returns anything but 'ok' then the connection is closed. In the case of an incoming CER, the callback can return a result code with which to answer. Multiple callbacks can be specified and are applied until either all return 'ok' or one doesn't. Also, include Origin-State-Id in answers where it was previously omitted.
2011-11-10Minor tls_ack simplificationAnders Svensson
We're already monitoring the transport process, no need to do so again.
2011-11-10diameter_dbg:log -> diameter_lib:logAnders Svensson
Should have been included in 5af64c7d57d83ce35bfd7b15ac3ce6ec7459fd73.
2011-11-10Fix comment typoAnders Svensson
2011-11-10Simplify handling of generated hrls in testsuitesAnders Svensson
Just morph include into include_lib when releasing. Not using include_lib here is due to generated hrls not residing in diameter/include until after release. See release.sed.
2011-11-10Update release notesErlang/OTP
2011-11-10Merge branch 'dgud/mnesia/upgrade-cont/OTP-9657' into maint-r14Erlang/OTP
* dgud/mnesia/upgrade-cont/OTP-9657: Prepare release [mnesia] Fix deadlock in aborted mnesia:del_table_copy/2 [mnesia] Make all schema operations protocol aware [mnesia] Remove export of clear_table which is not a schema operation anymore [mnesia] Cleanly bring down mnesia
2011-11-10Merge branch 'siri/stdlib/badarg-extract-child/OTP-9669'Siri Hansen
* siri/stdlib/badarg-extract-child/OTP-9669: Handle undefined pid when reporting error from supervisor
2011-11-10Merge branch 'rj/fix-debugger-msgs'Henrik Nord
* rj/fix-debugger-msgs: Fix "OK" spelling in debugger messages and variables Fix debugger message with wx OTP-9699
2011-11-10Merge branch 'rj/fix-remove-exec-bit'Henrik Nord
* rj/fix-remove-exec-bit: Remove exec bit from files: info files, dat, bat Remove exec bit from files related to: XML, make, C Remove exec bit from: erl, hrl, xml, html, asn, gif, xpm OTP-9698
2011-11-10Merge branch 'rj/fix-erlang-doc-style'Henrik Nord
* rj/fix-erlang-doc-style: Fixes module erlang doc style: option description OTP-9697
2011-11-10Merge branch 'pg/fix-cover-leftover-down-msg'Henrik Nord
* pg/fix-cover-leftover-down-msg: [cover]fix leftover {'DOWN', ..} msg in callers queue OTP-9694
2011-11-10Merge branch 'rj/fix-doctypos'Henrik Nord
* rj/fix-doctypos: Add missing spaces in the Reference Manual distributed section Add missing parenthesis in heart doc Fix typo in the Reference Manual macros section OTP-9693
2011-11-10Merge branch 'ss/re-split-doc-bug'Henrik Nord
* ss/re-split-doc-bug: Fix re:split spec not to accept option 'global' OTP-9691
2011-11-10Remove exec bit from files: info files, dat, batRicardo Catalinas Jiménez
2011-11-10Remove exec bit from files related to: XML, make, CRicardo Catalinas Jiménez
2011-11-10Remove exec bit from: erl, hrl, xml, html, asn, gif, xpmRicardo Catalinas Jiménez
2011-11-09Merge branch 'sverk/bif-args/OTP-9662'Sverker Eriksson
* sverk/bif-args/OTP-9662: erts,hipe: Limited support for hipe cross compilation erts-hipe: Change THE_NON_VALUE for HiPE enabled debug emulator erts-hipe: Enable debug compiled hipe-VM with lock checker erts-hipe: Rename fail_bif_interface_0 to standard_bif_interface_0 erts-hipe: Deliberate leak of native fun entries erts-hipe: Fix new trap conventions for x86, amd64 and ppc Store the trap address in p->i Store the trap arguments in the X register array erts-hipe: Make some primops use new BIF calling convention erts-hipe: Adapt generated BIF wrappers for new calling convention erts-hipe: Remove obscuring macros in generated assembler code erts-hipe: Make hipe enabled emulator compile with new BIF calls Simplify the instructions for calling BIFs Change the calling convention for BIFs Use the proper macros in all BIFs Conflicts: erts/emulator/beam/bif.h erts/emulator/beam/erl_bif_info.c
2011-11-09erts,hipe: Limited support for hipe cross compilationSverker Eriksson
Normally hipe assumes that generated native code will be executed on the same emulator as the hipe compiler is running on. This commit allows you to build a hipe "cross-compiler" for a different configured emulator (but for same architecture). Example: > cd lib/hipe > make clean > make XCOMP=yes FLAVOR=smp TYPE=debug This hipe compiler will generate code to be executed on the debug compiled smp-emulator at $ERL_TOP.
2011-11-09Minor dependency fixAnders Svensson