aboutsummaryrefslogtreecommitdiffstats
path: root/bootstrap
AgeCommit message (Collapse)Author
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-20Update primary bootstrapHans Nilsson
2017-06-14Update primary bootstrapRickard Green
2017-06-12Update primary bootstrapBjörn Gustavsson
2017-05-19Update primary bootstrapHans Bolinder
2017-05-19Update primary bootstrapBjörn Gustavsson
2017-05-04Update primary bootstrapBjörn Gustavsson
2017-04-26Update primary bootstrapBjörn Gustavsson
2017-04-26Update primary bootstrapLukas Larsson
2017-04-20Update primary bootstrapBjörn Gustavsson
2017-03-30Update primary bootstrapBjörn-Egil Dahlberg
2017-03-24Update primary bootstrapBjörn-Egil Dahlberg
2017-03-22Merge branch 'sverker/ets-table-identifiers/OTP-14094'Sverker Eriksson
* sverker/ets-table-identifiers: observer: Polish crashdump viewer for ETS observer: Polish Table Viewer tab stdlib: Remove ets_SUITE:memory_check_summary erts: Improve reduction count during table cleanup erts: Cleanup table status bits erts: Remove now redundant 'id' from DbTableCommon erts: Remove meta_main_tab erts: Pass tid argument down to trapping functions erts: Print table id as ref in crashdump and break menu erts: Replace meta_pid_to{_fixed}_tab with linked lists erts: Correct erl_rbtree comments about yielding erts: Add ERTS_RBT_YIELD_STAT_INIT to erl_rbtree Fix node_container_SUITE list_to_ref/1 Implement ets:all() using scheduler specific data Rename fixation count in ets table to avoid confusion Introduce references as table identifiers
2017-03-02Implement ets:all() using scheduler specific dataRickard Green
2017-02-27Update primary bootstrapBjörn Gustavsson
2017-02-17Update primary bootstrapBjörn Gustavsson
2017-02-14Fixed typos in bootstrap/libAndrew Dryga
2017-02-06Use magic refs for compiled match specsRickard Green
2017-02-06Use magic refs for code loading stateRickard Green
2017-02-01Update primary bootstrapBjörn Gustavsson
2017-01-13Update primary bootstrapBjörn Gustavsson
2016-12-12Update primary bootstrapBjörn Gustavsson
2016-12-02Update primary bootstrapBjörn-Egil Dahlberg
2016-12-02Update primary bootstrapBjörn Gustavsson
2016-11-30Update primary bootstrapHans Bolinder
2016-11-28Update primary bootstrapBjörn Gustavsson
2016-11-23Update primary bootstrapBjörn Gustavsson
2016-11-23Merge branch 'maint'Björn Gustavsson
* maint: Update primary bootstrap document {yield/nb_yield}() limitation Suppress warnings from v3_kernel when inlining is turned on
2016-11-23Update primary bootstrapBjörn Gustavsson
2016-10-14erts: Fix early hipe patch loadingSverker Eriksson
by introducing hipe_bifs:commit_patch_load/1 that creates the HipeModule.
2016-10-14erts: Move new hipe ref and sdesc lists to loader stateSverker Eriksson
2016-10-14Add a loader state for HiPE code loadingMagnus Lång
Just like the BEAM loader state (as returned by erlang:prepare_loading/2), the HiPE loader state is contained in a magic binary. Eventually, we will separate HiPE loading into a prepare and a finalise phase, like the BEAM loader, where the prepare phase will be implemented by hipe_unified_loader and the finalise phase be implemented in C by hipe_load.c and beam_load.c, making prepare side-effect free and finalise atomic. The finalise phase will be exposed through the erlang:finish_loading/1 API, just like the BEAM loader, as this will allow HiPE and BEAM modules to be mixed in the same atomic "commit". The usage of a loader state makes it easier to keep track of all resources allocated during loading, and will not only make it easy to prevent leaks when hipe_unified_loader crashes, but also paves the way for proper, leak-free, unloading of HiPE modules.
2016-10-10erts: Improve hipe load/upgrade/purge machinerySverker Eriksson
A step toward better integration of hipe load and purge Highlights: * code_server no longer needs to call hipe_unified_loader:post_beam_load/1 Instead new internal function hipe_redirect_to_module() is called by loading BIFs to patch native call sites if needed. * hipe_purge_module() is called by erts_internal:purge_module/2 to purge any native code. * struct hipe_mfa_info redesigned and only used for exported functions that are called from or implemented by native code. A list of native call sites (struct hipe_ref) are kept for each hipe_mfa_info. * struct hipe_sdesc used by hipe_find_mfa_from_ra() to build native stack traces.
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-05Update primary bootstrapBjörn Gustavsson
2016-09-02Update primary bootstrapBjörn Gustavsson
2016-08-19Merge branch 'maint'Sverker Eriksson
2016-08-19Merge branch 'sverker/net_kernel-setopts/OTP-13564' into maintSverker Eriksson
2016-08-15Update bootstrapSverker Eriksson
2016-08-10Update primary bootstrapBjörn Gustavsson
2016-08-05Merge branch 'maint'Björn Gustavsson
* maint: Update primary bootstrap beam_block: Fix potentially unsafe optimization in move_allocates/1
2016-08-05Update primary bootstrapBjörn Gustavsson
2016-07-15Merge branch 'maint'Björn-Egil Dahlberg
Conflicts: OTP_VERSION
2016-07-12Update primary bootstrapBjörn-Egil Dahlberg
2016-06-29Update primary bootstrapBjörn Gustavsson
2016-06-20Update primary bootstrapHenrik Nord
2016-06-13Update primary bootstrapBjörn Gustavsson
2016-06-10Update primary bootstrapHans Bolinder