aboutsummaryrefslogtreecommitdiffstats
path: root/bootstrap/lib/compiler/ebin/compiler.app
AgeCommit message (Collapse)Author
2017-10-13Update primary bootstrapBjörn Gustavsson
2017-10-02Update primary bootstrapBjörn Gustavsson
2017-09-01Update primary bootstrapBjörn Gustavsson
2017-07-07Update primary bootstrapBjörn Gustavsson
2017-07-06Introduce a new core pass called sys_core_aliasJosé Valim
The goal of this pass is to find values that are built from patterns and generate aliases for those values to remove pressure from the GC. For example, this code: example({ok, Val}) -> {ok, Val}. shall become: example({ok, Val} = Tuple) -> Tuple. Currently this pass aliases tuple and cons nodes made of literals, variables and other cons. The tuple/cons may appear anywhere in the pattern and it will be aliased if used later on. Notice a tuple/cons made only of literals is not aliased as it may be part of the literal pool.
2017-06-12Update primary bootstrapBjörn Gustavsson
2017-03-24Update primary bootstrapBjörn-Egil Dahlberg
2017-01-13Update primary bootstrapBjörn Gustavsson
2016-11-23Update primary bootstrapBjörn Gustavsson
2016-10-05Merge branch 'maint'Björn Gustavsson
* maint: Update primary bootstrap beam_block: Avoid unsafe inclusion of get_map_elements in blocks
2016-10-05Update primary bootstrapBjörn Gustavsson
2016-09-29Update primary bootstrapBjörn Gustavsson
2016-09-02Update primary bootstrapBjörn Gustavsson
2016-08-05Update primary bootstrapBjörn Gustavsson
2016-07-12Update primary bootstrapBjörn-Egil Dahlberg
2016-04-18Update primary bootstrapBjörn Gustavsson
2016-03-21Update primary bootstrapBjörn Gustavsson
2015-12-17Update primary bootstrapBjörn Gustavsson
2015-09-28Update primary bootstrapBjörn Gustavsson
2015-08-24Update primary bootstrapBjörn Gustavsson
2015-06-18Change license text to APLv2Bruce Yinhe
2015-06-04Update primary bootstrapBjörn Gustavsson
2015-05-26Merge branch 'egil/opt-compile-time/OTP-12774'Björn-Egil Dahlberg
* egil/opt-compile-time/OTP-12774: stdlib: Relax erl_anno_SUITE:is_anno/1 test Update primary bootstrap compiler: Use Maps as type information compiler: Use Maps instead of dict in beam_jump compiler: Use cerl_sets instead of gb_sets in beam_type compiler: Use Maps instead of gb_trees in beam_dead compiler: Use cerl_sets instead of gb_sets in beam_jump compiler: Use cerl_sets instead of sets in v3_kernel compiler: Use cerl_sets instead of gb_sets in sys_core_fold compiler: Add cerl_sets module compiler: Scope uses gb_sets not gb_trees beam_dict: Use Maps to map function name indices beam_dict: Use Maps to map line indices beam_dict: Use Maps to map atom indices v3_codegen: Use Maps to map local functions v3_life: Refactor variable db compiler: Use lc instead of map/1 in v3_codegen stdlib: Optimize erl_anno:is_string/1 Conflicts: bootstrap/lib/kernel/ebin/inet_dns.beam bootstrap/lib/stdlib/ebin/erl_anno.beam bootstrap/lib/stdlib/ebin/erl_lint.beam
2015-05-22Update primary bootstrapBjörn Gustavsson
2015-05-21Update primary bootstrapBjörn-Egil Dahlberg
2015-04-16Update primary bootstrapBjörn Gustavsson
2015-03-20Merge branch 'rickard/time_api/OTP-11997'Rickard Green
* rickard/time_api/OTP-11997: (22 commits) Update primary bootstrap inets: Suppress deprecated warning on erlang:now/0 inets: Cleanup of multiple copies of functions Add inets_lib with common functions used by multiple modules inets: Update comments Suppress deprecated warning on erlang:now/0 Use new time API and be back-compatible in inets Remove unused functions and removed redundant test asn1 test SUITE: Eliminate use of now/0 Disable deprecated warning on erlang:now/0 in diameter_lib Use new time API and be back-compatible in ssh Replace all calls to now/0 in CT with new time API functions test_server: Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API Replace usage of erlang:now() with usage of new API otp_SUITE: Warn for calls to erlang:now/0 Replace usage of erlang:now() with usage of new API Multiple timer wheels Erlang based BIF timer implementation for scalability Implement ethread events with timeout ... Conflicts: bootstrap/bin/start.boot bootstrap/bin/start_clean.boot bootstrap/lib/compiler/ebin/beam_asm.beam bootstrap/lib/compiler/ebin/compile.beam bootstrap/lib/kernel/ebin/auth.beam bootstrap/lib/kernel/ebin/dist_util.beam bootstrap/lib/kernel/ebin/global.beam bootstrap/lib/kernel/ebin/hipe_unified_loader.beam bootstrap/lib/kernel/ebin/inet_db.beam bootstrap/lib/kernel/ebin/inet_dns.beam bootstrap/lib/kernel/ebin/inet_res.beam bootstrap/lib/kernel/ebin/os.beam bootstrap/lib/kernel/ebin/pg2.beam bootstrap/lib/stdlib/ebin/dets.beam bootstrap/lib/stdlib/ebin/dets_utils.beam bootstrap/lib/stdlib/ebin/erl_tar.beam bootstrap/lib/stdlib/ebin/escript.beam bootstrap/lib/stdlib/ebin/file_sorter.beam bootstrap/lib/stdlib/ebin/otp_internal.beam bootstrap/lib/stdlib/ebin/qlc.beam bootstrap/lib/stdlib/ebin/random.beam bootstrap/lib/stdlib/ebin/supervisor.beam bootstrap/lib/stdlib/ebin/timer.beam erts/aclocal.m4 erts/emulator/beam/bif.c erts/emulator/beam/erl_bif_info.c erts/emulator/beam/erl_db_hash.c erts/emulator/beam/erl_init.c erts/emulator/beam/erl_process.h erts/emulator/beam/erl_thr_progress.c erts/emulator/beam/utils.c erts/emulator/sys/unix/sys.c erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam erts/preloaded/ebin/init.beam erts/preloaded/src/erts_internal.erl lib/common_test/test/ct_hooks_SUITE_data/cth/tests/empty_cth.erl lib/diameter/src/base/diameter_lib.erl lib/kernel/src/os.erl lib/ssh/test/ssh_basic_SUITE.erl system/doc/efficiency_guide/advanced.xml
2015-02-18Update primary bootstrapBjörn Gustavsson
2015-01-12Update primary bootstrapBjörn Gustavsson
2014-12-09Update primary bootstrapMarcus Arendt
2014-10-03Update primary bootstrapBjörn-Egil Dahlberg
2014-09-01Update primary bootstrapBjörn Gustavsson
2014-03-26Update primary bootstrapBjörn Gustavsson
2013-12-18Update primary bootstrapBjörn Gustavsson
2013-03-19Update primary bootstrapBjörn Gustavsson
2013-02-04Update primary bootstrapBjörn Gustavsson
2013-01-26Update primary bootstrapBjörn Gustavsson
2013-01-18Update primary bootstrapBjörn Gustavsson
2012-10-10Update primary bootstrapBjörn Gustavsson
2012-06-25Merge branch 'maint'Björn Gustavsson
* maint: Update primary bootstrap sys_pre_expand: Eliminate bottleneck for modules with many functions Conflicts: bootstrap/bin/start.boot bootstrap/bin/start_clean.boot bootstrap/lib/kernel/ebin/file.beam bootstrap/lib/kernel/ebin/hipe_unified_loader.beam
2011-09-14primary bootstrap: Remove source filesBjörn Gustavsson
The primary bootstrap contains generated source files that are not needed for building Erlang/OTP. Since these files contains dates, version numbers, or absolute path names, new versions of most of those files will be created in the git repository every time the primary bootstrap is updated, thus growing the git repository grow more than necessary.
2011-05-20Update copyright yearsBjörn-Egil Dahlberg
2011-03-30Update primary bootstrapBjörn Gustavsson
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-03-11Update primary bootstrapBjörn-Egil Dahlberg
2010-10-07Update primary bootstrapBjörn Gustavsson
2010-08-03Update primary bootstrapBjörn Gustavsson
2010-05-12Merge branch 'bg/opt-receive' into devErlang/OTP
* bg/opt-receive: Test that gen_server:call/2,3 are fast even with a huge message queue erts: Add tests for the receive optimization Update primary bootstrap erts: Implement recv_mark/1 and recv_set/1 for real compiler tests: Cover the error handling code in beam_receive compiler test: Test optimization of receive statements Optimize selective receives in the presence of a large message queue Introduce the new recv_mark/1 and recv_mark/1 instructions Compile tests that communicate with R12 nodes with the r12 option Move p_run/2 to test_lib gen: Inline wait_resp_mon/2 to help the compiler optimize OTP-8623 bg/opt-receive reveive statements that can only read out a newly created reference are now specially optimized so that it will execute in constant time regardless of the number of messages in the receive queue for the process. That optimization will benefit calls to gen_server:call(). (See gen:do_call/4 for an example of a receive statement that will be optimized.)
2010-05-11Update primary bootstrapBjörn Gustavsson
2010-02-10Update bootstrap compilerBjörn Gustavsson