Age | Commit message (Collapse) | Author |
|
* john/compiler/fix-unsafe-tuple_size-opt/OTP-15945:
beam_ssa_opt: Do not apply tuple_size optimization outside guards
|
|
* john/hipe/catch-miscompilation/OTP-15949:
dialyzer: Remove native code compilation
hipe: Disable compilation on encountering try/catch
|
|
* john/compiler/fix-try_catch-receives/OTP-15952:
compiler: Fix broken 'receive' in try/catch blocks
|
|
* maint:
compiler: Fix broken 'receive' in try/catch blocks
|
|
* john/compiler/fix-try_catch-receives/OTP-15952:
compiler: Fix broken 'receive' in try/catch blocks
|
|
This fix is rather ugly and tacked-on, but I'm not comfortable
refactoring the pass in an emergency patch.
|
|
OTP-15897
|
|
OTP-15897
|
|
The nif code expects the socket address to be "complete",
that is all fields must exist. This was not the case for
a couple of functions, sendto, sendmsg and connect.
What was mssing was a call to 'ensure_sockaddr'.
Test: 1) Add a condition function to test if IPv6 is available
and works.
2) Needed to adjust a test case (actually a common function
used in several test cases) since the socket address
data type has two optional fields, which we do not
initiate (when sending), but the nif-code does fill in.
OTP-15897
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* maint:
Refine test cases
Remove test code that fails on Windows
|
|
* raimo/udp-send-TOS/OTP-15422:
Refine test cases
Remove test code that fails on Windows
|
|
|
|
|
|
|
|
|
|
The function 'snmp:print_version_info/0' which prints
various (version) info, attempted to extract the
"compile time" of each module in the snmp app.
This info used to be availabe in the module_info of
each module, but has been removed (a "long" time ago).
This resulted in a pointless "Not Found" beeing printed.
This has now been removed from the into printed.
OTP-15330
|
|
|
|
|
|
OTP-15932
|
|
|
|
|
|
Allowed SASL startup when compared levels include all/none as per PR 2301.
This was achieved by adding another macro for this (?IS_LEVEL_ALL); documentation updated to show the change
|
|
* maint:
Fix unstable test dump_SUITE:signal_abort
Fix unstable node_container_SUITE:magic_ref test
Fix unstable node_container_SUITE:node_controller_refc test
Fix unstable tests process_SUITE:no_priority_inversion{,2}
|
|
* rickard/test-fixes-21:
Fix unstable test dump_SUITE:signal_abort
Fix unstable node_container_SUITE:magic_ref test
Fix unstable node_container_SUITE:node_controller_refc test
Fix unstable tests process_SUITE:no_priority_inversion{,2}
|
|
Sometimes processes have not had the time to spread
from one scheduler. Force spread by using the undocumented
'scheduler' option.
|
|
* rickard/test-fixes-20:
Fix unstable node_container_SUITE:magic_ref test
Fix unstable node_container_SUITE:node_controller_refc test
Fix unstable tests process_SUITE:no_priority_inversion{,2}
|
|
|
|
|
|
Sometimes processes have not had the time to spread
from one scheduler. Force spread by using the undocumented
'scheduler' option.
|
|
Extend the compiler's type representation
|
|
* maint:
dialyzer: Remove native code compilation
hipe: Disable compilation on encountering try/catch
|
|
* john/hipe/catch-miscompilation/OTP-15949:
dialyzer: Remove native code compilation
hipe: Disable compilation on encountering try/catch
|
|
Eagerly extracting elements can be quite problematic now that we
have union types. Consider the following:
0:
%% _0 is {ok, #record{}} | {error,atom()}
_1 = get_tuple_element _0, literal 0
_2 = get_tuple_element _0, literal 1
switch _1, label 0, [ { literal ok, label 1 }, { literal error, label 2 } ]
1:
%% _0 is known to be {ok,#record{}} here
2:
%% _0 is known to be {error,atom()} here
The type pass is clever enough to see that _0 has the types noted
above, but because the type of _2 is set in the first block where
we didn't have that information yet, it's still #record{} | atom()
in both branches.
Sinking these instructions to when they are used greatly improves
the type information in many cases, but it does have a few
limitations and using it in both of the above branches would take
us back to square one.
|
|
If we know that the checked value is a singleton at the fail
block, it's safe to infer types as if we've made a direct
comparison against that value.
|
|
|
|
* sverker/hash-improve-shrink:
erts: Tweak hash shrink limit
erts: Improve hash shrinking
|
|
* Only shrink when we can remove one segment and still remain
below 50% table load.
* Only shrink down to two table segments. It just leads to a lot of
potentially "unnecessary" rehashing to have a chance of getting rid
of the last extra segment before the last delete op. I don't think
it's worth it.
|
|
|
|
* sverker/valgrind-hipe-suppression:
erts: Suppress valgrind warning in offset_heap_ptr
|
|
|
|
* sverker/ets_SUITE-fixtable_iter_bag:
stdlib: ets_SUITE:fixtable_iter_bag
|
|
Turns out the bug in ets:next() that I tried to provoke
with this new test wasn't really there. Oh well.
|
|
code_SUITE:upgrade would consistently fail in the HiPE case
because two clauses were mixed up. Disabling it altogether may
seem a bit harsh but we don't have the resources to fix it at the
moment.
|
|
Collect unused vars instead of used ones
|