Age | Commit message (Collapse) | Author |
|
The purpose of this series of commits is to improve code generation
for the Clang compiler.
As a first step we want to change the meaning of 'x' in a
transformation such as:
operation Literal=q => move Literal x | operation x
Currently, a plain 'x' means reg[0] or x(0), which is the first
element in the X register array. That element is distinct from
r(0) which is a variable in process_main(). Therefore, since r(0)
and x(0) are currently distinct it is fine to use x(0) as a
scratch register.
However, in the next commit we will eliminate the separate variable
for storing the contents of X register zero (thus, x(0) and r(0)
will point to the same location in the X register array). Therefore,
we must use another scratch register in transformation. Redefine
a plain 'x' in a transformation to mean x(1023). Also define
SCRATCH_X_REG so that we can refer to the register by name from
C code.
|
|
|
|
Consider an hypothetical instruction:
do_something x x c
The loader would crash if we tried to load an instance of the
instruction with the last operand referencing a literal:
{do_something,{x,0},{x,1},{literal,{a,b,c}}}
Teach beam_makeops to turn off packing for such unsafe instructions.
|
|
* maint:
Add a smoke test of erts_debug:df/1
Correct disassembly of the i_get_map_elements instruction
|
|
* bjorn/erts/beam_debug:
Add a smoke test of erts_debug:df/1
Correct disassembly of the i_get_map_elements instruction
|
|
|
|
* egil/fix-configure-pthread_getname/OTP-12887:
erts: Fix configure pthread_getname
|
|
|
|
|
|
* maint:
ssh: testcases for no common algorithms in key exchange
|
|
* hans/ssh/no_common_algs/OTP-11531:
ssh: testcases for no common algorithms in key exchange
|
|
* maint:
ssh: Initial ssh_tprt_test_lib.erl and ssh_protocol_SUITE
|
|
|
|
|
|
* ia/ssl/tune-tests:
ssl: Exclude broken OpenSSL version from ECC test
ssl: Tune timeouts
|
|
|
|
|
|
|
|
* egil/remove-halfword/OTP-12883:
erts: Remove halfword !HEAP_ON_C_STACK
|
|
Run erts_debug:df/1 for all loaded modules. On my reasonably fast,
modern computer this test case runs in approximately 10 seconds.
To avoid spending many minutes running this test case on older
computers, limit the running time to 20 seconds.
While we are at it, remove all ?line macros.
|
|
The emulator would crash.
|
|
|
|
This test lib is intended for deeper testing of the SSH application. It
makes it possible to do exact steps in the message exchange to test "corner
cases"
|
|
|
|
* egil/remove-halfword/OTP-12883: (21 commits)
erts: Remove halfword etp-commands
erts: Remove halfword MemKind mseg
erts: Remove halfword bases in ETS
erts: Remove halfword CHECK_POINTER_MASK
erts: Remove halfword relative printf
erts: Remove halfword valgrind suppress file
erts: Remove halfword specific tests
erts: Remove halfword specific allocator types
erts: Remove halfword BINARY RELs
erts: Remove halfword is_same bases macro
erts: Reinstate copy_object over-allocation optimization
erts: Remove halfword copy_object_rel
erts: Remove halfword object manipulation
erts: Remove halfword heap relative comparisions
erts: Remove halfword pointer compression
erts: Remove halfword basic relative heap operations
erts: Remove halfword from configure
erts: Remove halfword in lib_src
erts: Remove halfword in erl_nif.h
erts: Remove halfword in erl_driver.h
...
|
|
|
|
* sverk/ets-unfix-delete-race/OTP-12870:
erts: Fix ETS race between object deleter and table unfixer
|
|
|
|
* sverk/map-merge-trap:
erts: Expand test map_SUITE:t_bif_merge_and_check
|
|
Conflicts:
OTP_VERSION
|
|
|
|
* maint:
ssh: correct sftp unicode and iolist bug
ssh: new unicode tests
ssh: delete ssh_unicode_SUITE
|
|
* hans/ssh/sftp_iolist/OTP-12853:
ssh: correct sftp unicode and iolist bug
ssh: new unicode tests
ssh: delete ssh_unicode_SUITE
|
|
Ssh_sftp.erl handled incorrectly unicode data in ssh_ftp:write_file.
There was also problems with some deeper iolists.
|
|
|
|
The tests now have supersets in ssh_basic_SUITE and ssh_sftp_SUITE.
|
|
|
|
|
|
* sverk/poll-lost-wakeup/OTP-12859:
erts: Fix race in poller thread wake up
|
|
|
|
Conflicts:
OTP_VERSION
erts/doc/src/notes.xml
erts/vsn.mk
otp_versions.table
|
|
causing the delete marked object to be left in the table
after safe_fixtable(_,false) has returned.
This is not super serious as the delete marked object
is quite benign and will be deleted at the next unfix operation.
|
|
|
|
|
|
* sverk/poll-lost-wakeup/OTP-12859:
erts: Fix race in poller thread wake up
|
|
* egil/fix-purge-literals/OTP-12821:
erts: Fix garbage collect literals in code purge
|
|
|
|
|
|
|
|
|