Age | Commit message (Collapse) | Author |
|
|
|
|
|
All pairs in a Map needs to be in strict ascending key order.
|
|
|
|
If a literal key already is present in a Map update the latter should be used.
Warn for previous duplicates in the Map.
|
|
|
|
|
|
Can now handle {list [reg()]} elements in instructions.
|
|
To make it possible to build the entire OTP system, also define
dummys for the instructions in ops.tab.
|
|
|
|
|
|
Example how to match or construct:
#{ K1 => V1, K2 => V2 }
How to update:
M#{ K => V }
|
|
|
|
It was not possible to preserve extra arguments in transformations.
The following (hypothetical) example will now work:
some_op Lit=c SizeArg Rest=* => move Lit x | some_op x SizeArg Rest
|
|
* vinoski/ds:
initial support for dirty schedulers and dirty NIFs
|
|
* siri/wx-cdv/OTP-11179:
observer: cosmetic gui tweaks
observer: Fix progress dialog creation
observer: renamed crashdump_viewer files and fixed makefiles
observer: improve wx version of crashdump_viewer
observer: Use crashdump_viewer's term viewer to display large terms and binaries
observer: Fix memory and scheduler info and handle missing fields
observer: Optimize row lookups
observer: improve wx version of crashdump_viewer
observer: Consolidate the view of process information
observer: add wx version of crashdump_viewer
|
|
* gomoripeti/fix_etop_tr_smp:
Fix etop trace handler in smp environment
OTP-11633
|
|
* hb/dialyzer/opaque_types_fixes/OTP-10397:
[dialyzer] Re-work the handling of opaque types
|
|
* feat/erl_tidy_print_to_stdout:
Added documenation for the new option describing what it does.
Add initial implementation of having erl_tidy print to screen instead of writing to the file provided. The reason for this is that you may want to have an intermediary step between saving the tidied file and using the output.
OTP-11632
|
|
Add initial support for dirty schedulers.
There are two types of dirty schedulers: CPU schedulers and I/O
schedulers. By default, there are as many dirty CPU schedulers as there are
normal schedulers and as many dirty CPU schedulers online as normal
schedulers online. There are 10 dirty I/O schedulers (similar to the choice
of 10 as the default for async threads).
By default, dirty schedulers are disabled and conditionally compiled
out. To enable them, you must pass --enable-dirty-schedulers to the
top-level configure script when building Erlang/OTP.
Current dirty scheduler support requires the emulator to be built with SMP
support. This restriction will be lifted in the future.
You can specify the number of dirty schedulers with the command-line
options +SDcpu (for dirty CPU schedulers) and +SDio (for dirty I/O
schedulers). The +SDcpu option is similar to the +S option in that it takes
two numbers separated by a colon: C1:C2, where C1 specifies the number of
dirty schedulers available and C2 specifies the number of dirty schedulers
online. The +SDPcpu option allows numbers of dirty CPU schedulers available
and dirty CPU schedulers online to be specified as percentages, similar to
the existing +SP option for normal schedulers. The number of dirty CPU
schedulers created and dirty CPU schedulers online may not exceed the
number of normal schedulers created and normal schedulers online,
respectively. The +SDio option takes only a single number specifying the
number of dirty I/O schedulers available and online. There is no support
yet for programmatically changing at run time the number of dirty CPU
schedulers online via erlang:system_flag/2. Also, changing the number of
normal schedulers online via erlang:system_flag(schedulers_online,
NewSchedulersOnline) should ensure that there are no more dirty CPU
schedulers than normal schedulers, but this is not yet implemented. You can
retrieve the number of dirty schedulers by passing dirty_cpu_schedulers,
dirty_cpu_schedulers_online, or dirty_io_schedulers to
erlang:system_info/1.
Currently only NIFs are able to access dirty scheduler
functionality. Neither drivers nor BIFs currently support dirty
schedulers. This restriction will be addressed in the future.
If dirty scheduler support is present in the runtime, the initial status
line Erlang prints before presenting its interactive prompt will include
the indicator "[ds:C1:C2:I]" where "ds" indicates "dirty schedulers", "C1"
indicates the number of dirty CPU schedulers available, "C2" indicates the
number of dirty CPU schedulers online, and "I" indicates the number of
dirty I/O schedulers.
Document The dirty NIF API in the erl_nif man page. The API closely follows
Rickard Green's presentation slides from his talk "Future Extensions to the
Native Interface", presented at the 2011 Erlang Factory held in the San
Francisco Bay Area. Rickard's slides are available online at
http://bit.ly/1m34UHB .
Document the new erl command-line options, the additions to
erlang:system_info/1, and also add the erlang:system_flag/2 dirty scheduler
documentation even though it's not yet implemented.
To determine whether the dirty NIF API is available, native code can check
to see whether the C preprocessor macro ERL_NIF_DIRTY_SCHEDULER_SUPPORT is
defined. To check if dirty schedulers are available at run time, native
code can call the boolean enif_have_dirty_schedulers() function, and Erlang
code can call erlang:system_info(dirty_cpu_schedulers), which raises
badarg if no dirty scheduler support is available.
Add a simple dirty NIF test to the emulator NIF suite.
|
|
* ia/conscell/odbc-mavericks/OTP-11630:
fixes problem with ODBC on OS X 10.9 Mavericks
|
|
Since Apple has removed iODBC from the default
OS X 10.9 Mavericks installation I tried to
compile Erlang R16B02 with unixODBC.
Even with installed unixODBC and specified
--with-odbc=[path to my unixODBC] option Erlang
R16B02 still uses iODBC
(because Apple has left some iODBC binaries):
1> odbc:start().
ok
2> odbc:connect("",[]).
{error,"[iODBC][Driver Manager]No data source or
driver specified, dialog prohibited
SQLSTATE IS: IM007 Connection to database failed."}
|
|
|
|
|
|
is allocated
|
|
* ia/tuncer/dialyzer-fixes/OTP-11627:
Fix incorrect type reference (inet:ipaddress() -> inet:ip_address())
Consistently format public_key(3)
Fix incorrect use of public_key:private_key/0 type
Fix incorrect proplists type reference
|
|
|
|
When documenting public_key/0 and private_key/0, I noticed the
inconsistent state of formatting in public_key(3)'s Data Types section.
This should be fixed for consistency and readability.
|
|
public_key:private_key/0 was referenced but undefined, and lib/ssl had a
local definition of private_key/0.
To fix that, make the following changes:
* add public_key:private_key/0 type
* document public_key/0 and private_key/0
* fix incorrect definitions and references
|
|
ssh and public_key were referring to proplists:proplists/0
which does not exist. Fix by using the correct type proplists:proplist/0.
|
|
* bjorn/on_load-documentation/OTP-11611:
Update the note for -on_load()
|
|
OTP-11628
* vinoski/rm-drv-async-cancel:
remove deprecated driver_async_cancel function
|
|
* anders/diameter/doc/OTP-11583:
Correct doc on the setting of Origin-State-Id
|
|
|
|
Remove confusing and obsolete build instructions for Lion.
|
|
* kostis/dialyzer_dep-spec-fix:
Fix an erroneous spec
|
|
|
|
|
|
|
|
* nox/export_all-behaviour:
Properly handle export_all when looking for undefined callbacks
|
|
It was incorrectly stated that the AVP would be set in an outgoing
DPR/DPA.
|
|
* rzezeski/rz_fix_dtrace_illumos/OTP-11622:
Fix DTrace build on Illumos
|
|
* ia/ssl/tests:
ssl: Avoid test case timing issues
|
|
* lukas/erts/cerl_R17_to_17_fixes/OTP-11615:
erts: fix unicode printing of gdb printouts
cerl: Fix target detection on freebsd
New version number does not start with an R
|
|
* anders/diameter/17.0_release/OTP-11605:
vsn -> 1.6
Remove upgrade-related code
Update appup for 17.0
Avoid type gen_sctp:open_option() until it actually exists
|
|
* ia/Vagabond/adt-honor-cipher-order/OTP-11621:
Implement 'honor_cipher_order' SSL server-side option
|
|
|
|
OTP-11619
* sverk/crypto-process-slaughter:
crypto: Remove all processes from application crypto
|
|
OTP-11618
* sverk/misc-bug-fixes:
erts: Fix faulty assert in match spec engine.
erts: Fix crash when comparing very large floats with integers
erts: Refactor big-float compare on HALFWORD to use C-stack
erts: Fix halfword compile errors in ESTACK
|
|
* egil/gc-increase-tenure-rate/OTP-11617:
erts: Increase gc tenure rate
|