Age | Commit message (Collapse) | Author |
|
The bug manifests so that initialization of an automatic variable
happens after a pointer to the variable is dereferenced, causing
build_exec_return to take the wrong branch by default.
The bug is verified to happen even outside the VM and
is reported to FreeBSD as trouble ID gnu/181328.
The workaround is a slight code rewrite which is optimized differently.
Also removed two warnings about dereferencing type-punned
pointers, which did not affect the bug.
|
|
Just some clarifying comments to future progremmers to keep the relation
between error returns from the two functions.
|
|
Added to re:run and sets the corresponding fields in 'extra' struct
for the PCRE match engine. The result can be viewed by also
setting 'report_errors' when matching.
Some housekeeping was also done...
The offset option also did not properly check for offset's >= 0.
Change nomatch to BADARG when pre-compiled mp() is faked:
By constructing a 5-tuple with faked content but the right data types,
you could do a re:run which returned nomatch when in fact the mp() was
bad. The cheapest solution is to check the return from pcre_exec
better.
Remove unreachable code in erts_bif_re.c:
Replaced tests for things that logically simply
cannot happen with ASSERT.
|
|
|
|
|
|
Add notempty_atstart, no_start_optimize, ucp and
never_utf options from new PCRE version.
Use the new notempty_atstart in global matching.
Add inspect/2 function
Correctly handle dupnames when capturing a name, as
in Perl, get the leftmost matching occurence.
Also added all_names, to get all the names in the pattern
in alphabetical (name) order.
To be able to use this in global matching, an inspect
function that can dig out a namelist was added.
|
|
|
|
|
|
|
|
|
|
* maint:
Fix variable ‘rp_had_locks’ set but not used warning
Fix ‘ethr_native_rwlock_destroy’ defined but not used warning
Fix 'no previous prototype' warning for dtrace functions
Conditionally skip process_SUITE tests that consume large amount of memory
|
|
* rickard/warning_fixes:
Fix variable ‘rp_had_locks’ set but not used warning
Fix ‘ethr_native_rwlock_destroy’ defined but not used warning
Fix 'no previous prototype' warning for dtrace functions
|
|
* rickard/test_case_fixes:
Conditionally skip process_SUITE tests that consume large amount of memory
|
|
* maint:
Fix configure detection of ethread native atomics on powerpc
|
|
* rickard/info/OTP-11196:
Fix configure detection of ethread native atomics on powerpc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* jw/fix-float-middle-endian/OTP-11201:
Fix binary construction on floating point middle-endian machines
Fix binary matching on floating point middle-endian machines
Fix erlang:phash2() on floating point middle-endian machines
Fix external term format BIFs on floating point middle-endian machines
|
|
* maint:
Add test cases for native atomics and jump table
Refuse to build SMP runtime by default without native atomics
Make information about use of jump table available via system_info BIF
Make ethread library information available via system_info BIF
Make emulator arguments available via the system_info BIF
|
|
* rickard/info/OTP-11196:
Add test cases for native atomics and jump table
Refuse to build SMP runtime by default without native atomics
Make information about use of jump table available via system_info BIF
Make ethread library information available via system_info BIF
Make emulator arguments available via the system_info BIF
|
|
|
|
Build with fallback can be enabled by passing the `configure` command
line argument `--disable-smp-require-native-atomics`
|
|
erlang:system_info(beam_jump_table)
|
|
erlang:system_info(ethread_info)
|
|
erlang:system_info(emu_args)
|
|
|
|
* sverk/crypto-remove-ec-resource:
crypto: Supress some false positives from valgrind
crypto: Refactor remove resource for EC_KEY
crypto: Fix some compiler warnings
|
|
Conflicts:
erts/vsn.mk
lib/kernel/vsn.mk
lib/stdlib/vsn.mk
|
|
* sverk/aoffcbf:
erts: Make aoffcbf default when migration is enabled
erts: Add new allocator strategy aoffcbf
OTP-11174
|
|
|
|
with better performance than aoffcaobf as we don't have to rearrange
the search tree when there are blocks of equal size.
|
|
|
|
The R16B01 release
Conflicts:
lib/sasl/vsn.mk
|
|
|
|
|
|
* sverk/term_to_binary-memleak:
erts: Fix memory leak in term_to_binary/2 with compressed option
|
|
Conflicts:
erts/preloaded/ebin/prim_inet.beam
|
|
|
|
|
|
This complements 933e701 (OTP-10209). Without this patch the test cases
"in_guard/1" and "coerce_to_float/1" in bs_construct_SUITE fail.
The added lines in bs_construct_SUITE cover all branches that were not
covered before (small and big numbers if BIT_OFFSET(erts_bin_offset) != 0).
|
|
This complements 933e701 (OTP-10209). Without this patch the test case
"bs_match_misc_SUITE:t_float/1" fails.
Simple error example:
1> <<_,_,_,_,_,_,_,_>> = <<1.25/float>>.
<<63,244,0,0,0,0,0,0>>
2> <<1.25/float>> = <<63,244,0,0,0,0,0,0>>.
** exception error: no match of right hand side value <<63,244,0,0,0,0,0,0>>
The additional test case is added because in a former version of this
patch the ERTS_FP_ERROR_THOROUGH check for NaN/infinity was mistakenly
applied on the still word-switched double.
|
|
This complements 933e701 (OTP-10209). Without this patch the test case
"hash_SUITE:test_phash2/1" fails.
Simple error example:
1> 77147068 = erlang:phash2(1.0).
** exception error: no match of right hand side value 50524433
|
|
This complements 933e701 (OTP-10209).
Simple error example:
1> <<131,70,63,240,0,0,0,0,0,0>> = term_to_binary(1.0, [{minor_version,1}]).
** exception error: no match of right hand side value <<131,70,0,0,0,0,63,240,0,0>>
2> 1.0 = binary_to_term(<<131,70,63,240,0,0,0,0,0,0>>).
** exception error: no match of right hand side value 5.299808824e-315
But roundtrip always works:
3> 1.0 = binary_to_term(term_to_binary(1.0, [{minor_version,1}])).
1.0
|
|
|
|
|
|
|