| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
[tools] replace test_server:start_node with ?CT_PEER()
|
| |
| |
| |
| | |
Make tests more robust - node names can never clash now.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
OTP-17892
* max-au/remove-emem:
Update configure scripts
[beam] remove allocator wrappers
[erts, tools] remove "emem" completely
|
| |/
| |
| |
| |
| |
| | |
Test suites for the tool were lost long ago. Removing "liberts.a"
library as well, for it is now empty and AR on MacOS/Windows
does not like empty libraries.
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
This commit polishes a lot of the make system to be more
robust and hopefully user friendly. A new DEVELOPMENT howto
guide has been added with instructions on how to work with
the Erlang/OTP code and the `make test` functionality has
been fixed so that it should work for all applications.
In order to solve the problem of some applications relying
on being tested using a release, each application has been
instrumented in its Makefile so that it knows if a release
has to be done or not.
|
|
|
|
| |
OTP no longer contains HiPE or GS, and no longer supports OSE.
|
|\ |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
* rickard/configure/OTP-17398:
Support for committing of configure scripts
|
| |\
| | |
| | |
| | |
| | | |
* rickard/configure/OTP-17398:
Support for committing of configure scripts
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This is needed in order for ssh to use include_lib
of public_key when building.
|
| | | |
|
| | |
| | |
| | |
| | | |
Use (and modify) wxWidgets doc input to generate documenation for erlang.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Using perf dump is superior to using perf map as we are
able to use `perf annotate` which means we can view which
x86 assembly instruction was using the most CPU.
perf record -k mono erl +JPperf true
perf inject --jit -i perf.data -o perf.jitted.data
perf report -M intel -i perf.jitted.data
The implementation was inspired from the mono repo:
https://github.com/mono/mono/blob/master/mono/mini/mini-runtime.c
It should be easy to add support for Erlang source file and
line mapping if we want to do that.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* maint:
Update config scripts to compile for Apple Silicon (arm64)
|
| | |
| | |
| | |
| | |
| | | |
Detect Apple Silicon (arm64) during configuration for compilation
on macOS 11.0 (beta at this time).
|
|/ / |
|
| |
| |
| |
| |
| |
| | |
It turns out that disabling only the Core Erlang optimizations
but running all other passes exposes new bugs in the SSA
optimization passes.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A long time ago binary patterns were extended to allow using a matched
out variable as a size of another segment. For example:
<<Size:32,Data:Size/binary>> = Binary
This extension was carried over to Core Erlang, which made it much
more complicated to correctly optimize Core Erlang, since a variable
in a pattern could be both new and used.
This commit rewrites matching of binaries to split up patterns that
match out a variable and uses it in the same pattern. Here is an
example:
foo(X) ->
case X of
<<Size:32,Bin:Size/binary>> ->
{ok,Bin};
_ ->
error
end.
This function will now be translated to Core Erlang like this:
'foo'/1 =
fun (X) ->
( letrec
'second_clause'/0 =
fun () ->
'error'
in case X of
<#{#<Size>(32,1,'integer',['unsigned'|['big']]),
#<Tail>('all',1,'binary',['unsigned'|['big']])}#> when 'true' ->
case Tail of
<#{#<Bin>(Size,8,'binary',['unsigned'|['big']])}#> when 'true' ->
{'ok',Bin}
Other when 'true' ->
apply 'second_clause'/0()
end
Other when 'true' ->
apply 'second_clause'/0()
end
-| ['letrec_goto'] )
Note that when compiling using `from_core`, it is an error to bind
and use a variable in the same pattern. Compilers that generate
Core Erlang code must split such patterns into nested cases.
The mechanism added in this commit to split clauses should also be
possible to use to handle, for example, expressions in binary
patterns. Of the compiler passes after the front end, only `v3_core`
would have to worry about handling the size expressions.
One potential issue with the new way of translating to Core Erlang
is that the pattern matching compiler in `v3_kernel` does not see
all clauses at once and may generate worse code, that is, evaluating
the clauses sequentially instead of in parallel. Here is an example:
bar(a) -> a;
bar(<<Size:32,Bin:Size/binary>>) -> Bin;
bar(c) -> c.
Here `v3_kernel` will first generate code for the first two clauses
and then for the last clause. It will not be able to combine the
matching of the two atom clauses to a single select instruction.
However, in this simple case, the SSA code optimizations will be able
combine the matching of the two atoms to a select_val instruction.
We will probably have to make the pattern matching compiler smarter
at handling nested cases to avoid producing worse code than in
OTP 22. Alternatively we could add additional optimization of
the SSA code.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* dgud/build-WSL:
Add missing files to gitignore
Make build installer work from WSL
Fix deps generation on Windows
Support ssl-1.1.1 on windows when building crypto
Setup VC env in otp_build
Add wsl config as an environment to otp build tools
|
| | |
| | |
| | |
| | | |
Add config caches and temporary helper files
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
JeromeDeBretagne/jdb/fix-Android-compilation-with-newer-NDK-versions/OTP-16264
Update and fix Android cross compilation to support newer Android NDK versions
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | /
| | |/
| |/| |
|
| |/
| |
| |
| |
| | |
New fop versions have changed where they put this
intermediate file.
|
|/ |
|
| |
|
|\
| |
| | |
Remove asn1/test items from .gitignore
|
| |
| |
| |
| | |
be ignored
|
|/
|
|
|
| |
This also imply testing of processes as distribution controllers
using the erlang:dist_ctrl_* BIFs.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* rickard/make-fixes-21/OTP-15551:
Fix install phase in build system
- Install of (mainly) documentation caused rebuild and
modification of the source tree even when the source
previously had been built. Also otp_patch_apply
modified the source tree when updating documentation.
This messed up the installation if installation was
performed by another user than the user that originally
built the system which not is an uncommon scenario.
- Some documentation was installed by copying files
instead of installing the files which caused faulty
access rights on files.
- The documentation was not properly updated when
applying a patch using otp_patch_apply.
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* rickard/make-fixes-20/OTP-15551:
Fix install phase in build system
- Install of (mainly) documentation caused rebuild and
modification of the source tree even when the source
previously had been built. Also otp_patch_apply
modified the source tree when updating documentation.
This messed up the installation if installation was
performed by another user than the user that originally
built the system which not is an uncommon scenario.
- Some documentation was installed by copying files
instead of installing the files which caused faulty
access rights on files.
- The documentation was not properly updated when
applying a patch using otp_patch_apply.
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* rickard/make-fixes-19/OTP-15551:
Fix install phase in build system
- Install of (mainly) documentation caused rebuild and
modification of the source tree even when the source
previously had been built. Also otp_patch_apply
modified the source tree when updating documentation.
This messed up the installation if installation was
performed by another user than the user that originally
built the system which not is an uncommon scenario.
- Some documentation was installed by copying files
instead of installing the files which caused faulty
access rights on files.
- The documentation was not properly updated when
applying a patch using otp_patch_apply.
|
| | | |\
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* rickard/make-fixes-18/OTP-15551:
Fix install phase in build system
- Install of (mainly) documentation caused rebuild and
modification of the source tree even when the source
previously had been built. Also otp_patch_apply
modified the source tree when updating documentation.
This messed up the installation if installation was
performed by another user than the user that originally
built the system which not is an uncommon scenario.
- Some documentation was installed by copying files
instead of installing the files which caused faulty
access rights on files.
- The documentation was not properly updated when
applying a patch using otp_patch_apply.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- Install of (mainly) documentation caused rebuild and
modification of the source tree even when the source
previously had been built. Also otp_patch_apply
modified the source tree when updating documentation.
This messed up the installation if installation was
performed by another user than the user that originally
built the system which not is an uncommon scenario.
- Some documentation was installed by copying files
instead of installing the files which caused faulty
access rights on files.
- The documentation was not properly updated when
applying a patch using otp_patch_apply.
|
|\ \ \ \ \ |
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
bmk/20190204/socket_as_nif/OTP-14831
|
| | | | | | | |
|
| | | | | | | |
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This makes sure that the SSA optimizations are not essential and
may help to cover more code in beam_ssa_pre_codegen and
beam_ssa_codegen.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This serves as a base for the upcoming module-level type
optimization, but may come in handy for other passes like
beam_ssa_funs and beam_ssa_bsm that have their own ad-hoc
implementations.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
hipe_llvm_main: fix tmpfs dir on FreeBSD
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Upstream this patch from FreeBSD Ports:
https://svnweb.freebsd.org/ports/head/lang/erlang-runtime21/files/patch-lib_hipe_llvm_hipe__llvm__main.erl?revision=473434&view=markup
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | | |
We forgot to do this in the BSM optimization branch, and this is
as good a time as any to get it fixed.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* rickard/crypto-configure/OTP-15129:
Move configuration of crypto to crypto application from erts
|