Age | Commit message (Collapse) | Author |
|
A large 64-bit immediate number will be stored as SMALL_BIG_EXT by ETS
compressed format. When uncompressing, the SMALL_BIG_EXT was first
decoded as as bignum (by bytes_to_big) and then turned into a small
(by big_norm). This works for normal "binary_to_term" as
decoded_size() over-estimates the needed heap size. But for ETS no
over-estimation is done as the real term size is known and stored in
DbTerm.
Fixed by preventing bytes_to_big() from writing bignum digit when the
number is seen to fit in an immediate.
|
|
* ahs/fix-gb_trees-doc:
Put gb_trees documentation into alphabetical order
OTP-9929
|
|
* rc/spell-registered:
Correct spelling of "registered" in various places in the source code
OTP-9925
|
|
* rj/fix-binary-doc-spec:
Fix the type spec from the doc of binary:part/3
OTP-9920
|
|
|
|
|
|
* bjorn/remove-is_constant-vestiges/OTP-6454:
HiPE: Remove support for is_constant/1
erl_lint: Remove handling of constant/1
erl_bif_types: Remove type for is_constant/1
erl_eval: Remove support for is_constant/1
Remove support for is_constant/1 in ms_transform
Remove references to is_constant/1 from the match spec documentation
|
|
* bjorn/deprecations/OTP-9907:
Deprecate the Toolbar application
Deprecate applications that have been superseded by observer
Suppress deprecated warnings in all modules that call 'gs'
Deprecate the gs application
Mark doc_builder as removed (and not merely deprecated)
|
|
|
|
|
|
|
|
As the doc explains, the Len of part() can be negative.
|
|
|
|
|
|
Parameterized modules are not supported by HiPE.
|
|
|
|
|
|
|
|
Attempting to call is_record/3 (without an erlang: prefix) from a
guard if there was a local function named is_record/3 would cause
a compiler crash. For consistency with other guard tests, disallow
the call.
is_record/2 in a guard will still be allowed (and work correctly)
even if there is a local is_record/2. It could be argued that
is_record/2 should be handled in the same way as is_record/3,
but changing that now could break working code.
|
|
Consistently use external (remote) calls to the BIFs element/2,
setelement/3, and is_record/3.
|
|
* bjorn/compiler/bif-call-bug/OTP-9866:
erl_lint: Consistently reject local calls from guards
|
|
* egil/fix-error_logger-calendar/OTP-9854:
stdlib: Refactor to tag all times in error logger
stdlib: Use utc time as base in error logger
|
|
If a guard test (such as is_list/1) has a local definition in a
module (or is imported), erl_lint will reject a call to it from
a guard if the call is not at the top-level:
foo(L) when is_list(L) =:= true -> %% Will be rejected.
ok.
is_list(_) -> ok.
But if the call is at the top-level, it will be accepted (and
cause a crash in a later compiler pass):
foo(L) when is_list(L) -> %% Will be accepted by erl_lint
ok.
is_list(_) -> ok.
This inconsistency was an oversight introduced when it became
possible to override BIFs with local definitions.
|
|
* sverk/wait_for_test_procs:
stdlib: Enable unused 'end_per_testcase' in ets_SUITE
|
|
|
|
* All computer time should be in utc and
converted to local when needed
* Previous conversion used the depcrated
calendar:local_time_to_universal_time/1
|
|
|
|
|
|
Supervisor should never keep child specs for dead temporary children.
|
|
Also added more information when waiting for test proc to die
|
|
|
|
|
|
|
|
|
|
* bjorn/inviso/deprecate/OTP-9798:
Deprecate the inviso application
|
|
|
|
Also, some minor debug help is added to a test case which fails every
now and then.
|
|
|
|
|
|
The new file lib/stdlib/test/qlc_SUITE_data/join_info_compat.erl was
created on an R12B node.
|
|
* siri/stdlib/dialyzer-supervisor/OTP-9741:
Add test for upgrade of supervisor
Fix dialyzer warnings in supervisor
|
|
* bjorn/deprecate-tuple-funs/OTP-9649:
erts: Warn the first time a tuple fun is called
otp_mibs: Eliminate use of tuple fun
os_mon: Eliminate use of tuple fun
asn1: Eliminate use of tuple fun
parsetools: Eliminate use of tuple fun
mnesia tests: Eliminate use of tuple fun
snmp: Eliminate use of tuple fun
wrap_log_reader_SUITE: Eliminate use of tuple fun
big_SUITE: Eliminate use of tuple fun
file_SUITE: Eliminate use of tuple fun
fprof: Eliminate use of tuple fun
xref_compiler: Eliminate use of tuple fun
shell: Eliminate use of tuple funs
erl_eval: Eliminate use of tuple funs
user_sup: Eliminate use of tuple fun
|
|
* siri/stdlib/dialyzer-log_mf_h/OTP-9754:
Fix dialyzer warning about gen_event callback init/1 in log_mf_h
|
|
The warning is about log_mf_h having a different spec for gen_event
callback init/1 than defined in gen_event.erl. log_mf_h allows return
value {error,Reason}, while gen_even only specifies successful return
values.
This commit add {error,Reason} as a valid return value to the
gen_event callback, since this is handled by the code.
|
|
Dialyzer complained over a mismatch between the callback spec of
Mod:code_change in gen_server and the spec of supervisor:code_change
(which is the implementation of a gen_server Mod:code_change).
This commit changes the callback spec to allow {error,Reason} as
return value. Also, release_handler is updated to handle this return
value.
|
|
|
|
|
|
|
|
* bjorn/compiler/options/OTP-9752:
filename documentation: Recommend against using filename:find_src/1,2
Teach filename:find_src/1,2 to handle slim or stripped BEAM files
filename: Eliminate failing call to Mod:module_info(source_file)
filename.erl:filter_options/1: Remove handling of dead options
compiler: Don't include {cwd,_} in module_info(compile)
compiler: Don't include source code options in module_info(compile)
hipe: Teach hipe to handle slim or stripped BEAM files
|
|
Reported by Uwe Dauernheim.
|