Age | Commit message (Collapse) | Author |
|
* bjorn/compiler/crash/OTP-10794:
Test setelement(1, not_a_tuple, NewValue)
Fix crash in the compiler when compiling element(2, not_a_tuple)
|
|
* bjorn/compiler/float/OTP-10788:
beam_type: Convert integer to float at compile time
compiler: Use the literal pool for floating point constants
|
|
|
|
|
|
The MIB comp�iler (snmpc) did not hanmdle import (from
SNMPv2-SMI) of (pseudo-) type BITS.
|
|
|
|
|
|
Now that we use an own deflater, we can also allow the user to specify the compression level as in Erlang's term_to_binary/2.
|
|
after the first try to compress the value with a fixed buffer size, the deflater must be closed so that memory can be (instantly) reused
|
|
(saves memory re-allocations)
|
|
Now, OtpOutputStream#write_compressed() uses the same mechanism as erts_term_to_binary() in external.c: it tries to compress the given term into a buffer of the size of the uncompressed term and if this is not possible, i.e. the compression plus headers is bigger, it uses the uncompressed external term format instead.
|
|
Compression always has at least 5 bytes (the compressed tag + original size) so we can't get a smaller external term if the original term is already smaller than 5 bytes.
|
|
ensure our growth strategy
Previously, if code called e.g. write(byte[] b, int off, int len), the growth strategy of the parent class ByteArrayOutputStream was used.
|
|
|
|
DeflaterOutputStream is already an FilterOutputStream
|
|
|
|
It does not make sense to return multiple values from a sequence
argument and the Kernel Erlang passes can't cope with it.
The linting pass now knows how to detect this kind of defunct code and
the Core code folding pass is changed to not generate code like that
when optimizing away multiple-valued lets in effect mode.
Reported-by: José Valim
|
|
servers behaves
Rationale:
Some applications (like erlide) have code to be loaded dynamically on a
node. It may be slow to load everything upfront every time, so if the
node is in interactive mode, we would like to just append to the load
path. Currently, there is no direct way to detect if the node is running
in embedded mode or not so that we can do the right thing.
|
|
Jinterface uses System.getProperty("user.home") to locate the user's home
and the cookie file. On Windows, the result might be different than the
value used by Erlang, which looks first to the HOMEDRIVE and HOMEPATH
variables.
The fix makes jinterface use the same logic.
|
|
The elems field would remain unitialized if the count parameter is zero in constructor
|
|
On OS X Mountain Lion, the default output of df command includes iNode
used and iNodes free, which apparent what SUSv3 specifies. This breaks
the current parse logic and reports incorrect results. This patch adds
support for the new format and ensures older versions of OS X produce
this format by adding the -i switch (which is now the default). Adding
support for this new format rather than changing df output as we'll
presumably see this on other platforms eventually.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There are currently no keywords reserved for the future.
|
|
|
|
All guards BIFs are auto-imported. That can be verified like this:
[] = [{F,A} || {erlang,F,A} <- erlang:system_info(snifs),
erl_internal:guard_bif(F, A),
not erl_internal:bif(F, A)]
Therefore, calling a guard BIF in a guard without a module name
is always allowed (provided that there is not a local function or
an import with the same name), and therefore we can remove the
error reporting code. But keep an assertion so that we will find
out if any non-auto-imported guard BIFs are added in the future.
|
|
|
|
In code such as:
X / 2
the following code would be output from beam_type for the division:
{fconv,{x,0},{fr,0}}.
{fconv,{integer,2},{fr,1}}.
fclearerror.
{bif,fdiv,{f,0},[{fr,0},{fr,1}],{fr,0}}.
That is, the integer 2 would be converted to the float 2.0 at
run-time by "{fconv,{integer,2},{fr,1}}". Make sure that we do
the conversion at compile time.
Noticed-by: Richard O'Keefe
|
|
The BEAM loader will put floating point constants into the
literal pools for the module, but it will not check for duplicates.
We can do much better by having the compiler use the literal
pool for floating point constants.
|
|
Included 'inets' in small build, making it possible to run test
using only a small build.
Included 'erl_docgen', 'xmerl', and 'edoc' in small build, making
it possible to build documentation using only a small build.
|
|
|
|
|
|
|
|
|
|
This reverts commit a0e362765d9d4afb0211f49eb787d2139b3eb7be.
Conflicts:
erts/vsn.mk
|
|
* sa/dialyzer-minor-fixes/R16A:
Fix wording of error message
Fix reference results of a Dialyzer test
|
|
|
|
|
|
* pan/wx_and_gcc45:
Make Mac wx use Apple compilers regardless of $CC
|
|
* sverk/ets-write_concurrency-locks:
erts,stdlib: Increase number of locks for write_concurrency
OTP-10787
|
|
|
|
* fredrik/ssh/dialyzer-and-doc:
Fixed some broken links in ssh doc
Fixed some ssh documentation
|
|
|
|
* sverk/ic/tests:
ic: Making tests pass after changes in erl_interface and jinterface
ic: Revert --enable-silent-rules for test Makefile
OTP-10785
|
|
* lukas/erl_interface/test_atom_as_functions/OTP-10753:
Return if size test fails
Add utf8 atom encode and decode testcases
Validate UTF8/ASCII when buf is NULL
|
|
* ia/ssh/dialyzer-and-doc:
ssh: Fix dialyzer and doc warnings
|