aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2010-04-01Merge branch 'bg/compiler-inliner' into devErlang/OTP
* bg/compiler-inliner: pmod_SUITE: Again test inlining parameterized modules compiler tests: Cope with missing args in function_clause for native code compiler tests: Compile a few more modules with 'inline' Consistently rewrite an inlined function_clause exception to case_clause compiler tests: Test the 'inline' option better compiler: Suppress bs_context_to_binary/1 for a literal operand compiler: Fix binary matching bug in the inliner sys_core_inline: Don't generated multiple compiler_generated annos OTP-8552 bg/compiler-inliner Several problems in the inliner have been fixed.
2010-03-31OTP-8484 Fix minor cross compilation issuesRickard Green
The use of mmap() was unnecessarily disabled when cross compiling. The configure arguments --with-ssl, and --with-odbc refused to accept libraries outside of $erl_xcomp_sysroot when cross compiling for no good reason. The configure argument --with-odbc didn't handle the value yes correct. The configure arguments --with-odbc, and --without-odbc have also been added to the configure help. (Thanks to Steve Vinoski for reporting these issues)
2010-03-31Fixed arguments to queue:in_r in clause that is very unlikly to happen and ↵Ingela Anderton Andin
hence not covered by test cases.
2010-03-31Corrected merge errorsIngela Anderton Andin
2010-03-31CORBA applications test suites publishedNiclas Eklund
2010-03-30Exporting ssh:connect/4Niclas Eklund
2010-03-30erl_parse: Remove more stray 'cond' supportBjörn Gustavsson
Unfortunately, commit 1e2ecf8c492b6d499880b8676e3c1fe0c5793103 removed all cond support except for two lines.
2010-03-30Merge branch 'mh/doc-inet-getopts' into devErlang/OTP
* mh/doc-inet-getopts: Doc fix: inet:getopts/2 returns {ok, OptionValues}, not just OptionValues
2010-03-30Merge branch 'mh/doc-loose-lose' into devErlang/OTP
* mh/doc-loose-lose: Fix spelling: "loose" is not a verb
2010-03-30Merge branch 'bd/mnesia-activity-subscription' into devErlang/OTP
* bd/mnesia-activity-subscription: Add mnesia activity subscription message
2010-03-30Add mnesia activity subscription messageBernard Duggan
A process that calls mnesia:subscribe(activity) will receive the message: {mnesia_activity_event, ActivityID, complete} when any activity that caused a change to a database has finished committing its changes. This allows a subscriber to collect messages already available through the mnesia:subscribe({table, ...}) system to group them as completed transactions.
2010-03-30Merge branch 'dgud/wx-new-doxygen' into devErlang/OTP
* dgud/wx-new-doxygen: Added a non existing macro on windows. Commit of the generated code with previous commit. Fixed code generation from newer doxygen versions. Whitespace fixes OTP-8547 dgud/wx-new-doxygen
2010-03-29pmod_SUITE: Again test inlining parameterized modulesBjörn Gustavsson
Commit 91de9d0670c6fe1cff08cefa6e1c396effba47b8 stopped testing inlining of parameterized modules, because of a bug in the inliner.
2010-03-29Add type information about erlang:integer_to_list/2 and erlang:list_to_integer/2Kostis Sagonas
2010-03-26Doc fix: inet:getopts/2 returns {ok, OptionValues}, not just OptionValuesMagnus Henoch
2010-03-26Fix spelling: "loose" is not a verbMagnus Henoch
"Lose" means not "not win", but "loose" means "not tight". Change "loose" to "lose" where appropriate.
2010-03-26compiler tests: Cope with missing args in function_clause for native codeBjörn Gustavsson
Native-compiled code generates a different stack trace for function_clause exceptions - instead of the arguments for the function, only the arity is reported. Accept missing arguments if the test suite is native-compiled.
2010-03-26compiler tests: Compile a few more modules with 'inline'Björn Gustavsson
Since a function_clause exception in an inlined function will be changed to a case_clause exception, we must test for both.
2010-03-26Consistently rewrite an inlined function_clause exception to case_clauseBjörn Gustavsson
A function_clause exception is generated by jumping to a func_info/3 instruction at the beginning of the function. The x registers are assumed to contain the arguments for the function. That means that a func_info/3 instruction copied from another function (or even from the same function if not at the top level) will not work, so it must be replaced with an instruction that generates a case_clause exception. In Core Erlang, a func_info/3 instruction is represented as a the primop match_fail({function_clause,Arg1,...ArgN}). The current mechanism that is supposed to replace the primop match_fail(function_clause) with match_fail(case_clause) will fail to do that in the following circumstances: 1. If the inliner has inlined a function into itself. Fix that by having the inliner clear the function_name annotations on all match_fail primops in functions that are inlined. (To simplify doing that, the annotation is now on the primop node itself and not on the 'function_clause' atom inside it.) 2. If the inliner has rewritten the tuple node in the primop node to a literal (when inlining a function call with literal arguments), v3_kernel would not recognize the match_fail(function_clause) primop and would not rewrite it. Fix it by making v3_kernel smarter. Also simplify the "old" inliner (sys_core_inline) to only clear the function_name annotations instead of rewriting function_clause execptions to case_clause execptions itself.
2010-03-26compiler tests: Test the 'inline' option betterBjörn Gustavsson
Clone some test suites and compile them with the 'inline' option to test inlining more thorughly.
2010-03-26compiler: Suppress bs_context_to_binary/1 for a literal operandBjörn Gustavsson
The inliner can cause illegal uses of the bs_context_to_binary/1 instruction, such as: bs_context_to_binary {literal,"string"} or bs_context_to_binary {integer,1} Remove the bs_context_to_binary/1 instruction if the operand is not a register (it is clearly not needed).
2010-03-26compiler: Fix binary matching bug in the inlinerBjörn Gustavsson
The inliner incorrectly assumes that a literal cannot match a binary in code such as: t() -> bc(<<"string">>). bc(<<A:1,T/bits>>) -> [A|bc(T)]; bc(<<>>) -> []. The bug was introduced when binary literals were introduced.
2010-03-26sys_core_inline: Don't generated multiple compiler_generated annosBjörn Gustavsson
Multiple compiler_generated annotations are harmless, but makes listing files harder to read during debugging.
2010-03-25OTP-7046 Support for Diffie-Hellman keyexchangeIngela Anderton Andin
2010-03-25Merge branch 'hawk/wx-add-app-file' into devErlang/OTP
* hawk/wx-add-app-file: Add app and appup files to the wx application OTP-8538 hawk/wx-add-app-file
2010-03-25Merge branch 'bg/compiler-remove-r11-support' into devErlang/OTP
* bg/compiler-remove-r11-support: compiler: Don't support the no_binaries option erts: Don't support the put_string/3 instruction compiler: Don't support the no_constant_pool option compiler: Don't support the r11 option test_server: Don't support communication with R11 nodes binary_SUITE: Don't test bit-level binary roundtrips with R11 nodes erts: Test compatibility of funs with R12 instead of R11 OTP-8531 bg/compiler-remove-r11-support
2010-03-25OTP-8517 RenegotiationIngela Anderton Andin
New ssl now properly handles ssl renegotiation, and initiates a renegotiation if ssl/ltls-sequence numbers comes close to the max value.
2010-03-23Add app and appup files to the wx applicationHåkan Mattsson
2010-03-23OTP-8533 Update observer test suite for R14Björn Gustavsson
2010-03-22compiler: Don't support the no_binaries optionBjörn Gustavsson
The no_binaries option terminates the compiler with an error if any bit syntax is used in the module being compiled. (It used to be implied by the removed r11 option.)
2010-03-22erts: Don't support the put_string/3 instructionBjörn Gustavsson
Since R14 does not need to load code that can also be loaded in an R11 run-time system, support for the put_string/3 instruction can be removed.
2010-03-22compiler: Don't support the no_constant_pool optionBjörn Gustavsson
The no_constant_pool option was implied by the r11 option. It turns off the usage of the constant (literal) pool, so that BEAM instructions that use constants can be loaded in an R11 system. Since the r11 option has been removed, there is no need to retain the no_constant_pool option.
2010-03-22compiler: Don't support the r11 optionBjörn Gustavsson
The r11 option was used to generate BEAM modules that could loaded both on both R11 and R12/R13 to facilitate testing that R11 and R13 nodes could communicate with each other. Since R14 is only required to be compatible with R12 and R13 nodes, the r11 option is no longer needed.
2010-03-22test_server: Don't support communication with R11 nodesBjörn Gustavsson
Since R14 does not need to be compatible with any older Erlang systems than R12, we no longer need to use the r11 compiler option when compiling the test_server_node module.
2010-03-22Merge branch 'dgud/emacs-bugfixes' into devErlang/OTP
* dgud/emacs-bugfixes: Fix another -spec() problem Add missing elisp files to the the release target Fix electric semi-colon and tuples inside lists OTP-8530 dgud/emacs-bugfixes Fixed emacs-mode installation problems and some other minor issues.
2010-03-22Merge branch 'pan/otp_8332_halfword' into devErlang/OTP
* pan/otp_8332_halfword: Teach testcase in driver_suite the new prototype for driver_async wx: Correct usage of driver callbacks from wx thread Adopt the new (R13B04) Nif functionality to the halfword codebase Support monitoring and demonitoring from driver threads Fix further test-suite problems Correct the VM to work for more test suites Teach {wordsize,internal|external} to system_info/1 Make tracing and distribution work Turn on instruction packing in the loader and virtual machine Add the BeamInstr data type for loaded BEAM code Fix the BEAM dissambler for the half-word emulator Store pointers to heap data in 32-bit words Add a custom mmap wrapper to force heaps into the lower address range Fit all heap data into the 32-bit address range
2010-03-22Fix usage of ip_v6_disabled and publish itNiclas Eklund
2010-03-22The send operation now accepts infinity as timeoutNiclas Eklund
2010-03-20Add missing type in erlang:decode_packet/3Kostis Sagonas
2010-03-19OTP-8508 & OTP-8509.Micael Karlberg
2010-03-19OTP-8527 Global no longer supports R11B nodesHans Bolinder
As of this version, the global name server no longer supports nodes running Erlang/OTP R11B.
2010-03-19Enhance error message for faulty app fileHåkan Mattsson
2010-03-19erl_call: fix documentation of -a optionMagnus Henoch
The default value for Fun is start, not [] as the documentation used to suggest. Also, format [] with <c> instead of <em> since it is a code fragment, not an emphasised word.
2010-03-19kernel: document the file:change_mode/2 functionAndrey Pampukha
2010-03-17compiler: Provide more information if the v3_life pass crashesBjörn Gustavsson
Print the name and arity of the function being compiled if the v3_life compiler pass crashes to facilitate finding out which part of the source code that triggered the problem.
2010-03-17OTP-8522 Avoid duplicated 'undefined' in record field typesHans Bolinder
The Erlang parser no longer duplicates the singleton type undefined in the type of record fields without initial value.
2010-03-17Merge branch 'hawk/escript-add-create-and-extract' into devErlang/OTP
* hawk/escript-add-create-and-extract: Add type info for record fields Remove the undocumented function escript:foldl/3 Make reltool independent of the function escript:foldl/3 Add functions to create and extract escripts Add function zip:foldl/3 to iterate over zip archives OTP-8521 hawk/escript-add-create-and-extract Added function zip:foldl/3 to iterate over zip archives. Added functions to create and extract escripts. See escript:create/2 and escript:extract/2. The undocumented function escript:foldl/3 has been removed. The same functionality can be achieved with the more flexible functions escript:extract/2 and zip:foldl/3. Record fields has been annotated with type info. Source files as been adapted to fit within 80 chars and trailing whitespace hasd been removed.
2010-03-16OTP-8510 ssl crashDan Gudmundsson
Fixed a crash in the certificate certification part.
2010-03-16Add type info for record fieldsHåkan Mattsson
While at it, adapt the source files to fit within 80 chars and remove trailing whitespace.
2010-03-16Remove the undocumented function escript:foldl/3Håkan Mattsson
It is possible to obtain the same effect with the functions escript:extract/2 and zip:fold/3. See escript_SUITE:escript_foldl/3 for a complete emulation of the old escript:foldl/3 function.