aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe
AgeCommit message (Collapse)Author
2012-03-22Add user tag spreading functionality to VM and use in filePatrik Nyblom
User tags in a dynamic trace enabled VM are spread throughout the system in the same way as seq_trace tokens. This is used by the file module and various other modules to get hold of the tag from the user process without changing the protocol.
2012-03-22Merge branch 'raimo/close-ports-on-halt/OTP-9985' into maintRaimo Niskanen
* raimo/close-ports-on-halt/OTP-9985: erts: Basic test of erlang:halt/0..2 erts: Document erlang:halt/2 and update erlang:halt/0,1 erts: Implement erlang:halt/2 stdlib: Stop working around erlang:halt not flushing erts: Make erlang:halt/0,1 close ports and flush async threads erts: Remove forgotten and unused function erl_exit0 erts: Implement erl_halt erts: Remove unused ntbuild.erl
2012-03-21erts: Implement erlang:halt/2Raimo Niskanen
2012-03-15Merge branch 'sa/dialyzer-fixes' into maintGustav Simonsson
2012-03-01Fix bug in remote type solvingStavros Aronis
2012-02-28Make hipe hipe-compiled w/ --enable-native-libsPatrik Nyblom
2012-02-22Allow t_opaque_structure to handle multiple opaque typesStavros Aronis
2012-02-22Merge branch 'tst/no_hipe_ceach' into maintGustav Simonsson
* tst/no_hipe_ceach: Remove hipe_ceach from hipe.app.src to fix reltool-generated release startup OTP-9939
2012-02-21Merge branch 'ks/compile_info-fix' into maintGustav Simonsson
* ks/compile_info-fix: compiler: Fix discrepancy in compile_info OTP-9917
2012-02-20Fix discrepancy in compile_infoKostis Sagonas
The BEAM disassembler used the atom 'none' to signify the absence of a compile_info chunk in a .beam file. This clashes with the type declaration of the compile_info field of a #beam_file{} record as containing a list. Use [] to signify the absence of this chunk. This simplifies the code and avoids a dialyzer warning. For fixing a similar problem and for consistency, changed also the return type of the attributes field of the #beam_file{} record. This required a change in the beam_disasm test suite.
2012-02-13Make dialyzer recognize the process_flag option sensitiveHenrik Nord
add missing specs to documentation
2012-02-09Merge branch 'bjorn/remove-is_constant-vestiges/OTP-6454' into maintBjörn Gustavsson
* bjorn/remove-is_constant-vestiges/OTP-6454: HiPE: Remove support for is_constant/1 erl_lint: Remove handling of constant/1 erl_bif_types: Remove type for is_constant/1 erl_eval: Remove support for is_constant/1 Remove support for is_constant/1 in ms_transform Remove references to is_constant/1 from the match spec documentation
2012-02-08Suppress deprecated warnings in all modules that call 'gs'Björn Gustavsson
2012-01-26HiPE: Remove support for is_constant/1Björn Gustavsson
2012-01-26erl_bif_types: Remove type for is_constant/1Björn Gustavsson
2012-01-25Merge branch 'raimo/parallel-make/OTP-9857' into maintRaimo Niskanen
* raimo/parallel-make/OTP-9857: hipe: Fix rtl dependencies erts: Simplify toplevel makefile due to better dependencies erts: Fix make omissions for void emulators erts: Fix dependencies between targets generate and depend erts: Cleanup dependencies for target generate erts,tools: Fix parallel make for erts/lib_src erts: Fix parallel make for emulator zlib Conflicts: erts/emulator/Makefile.in
2012-01-24hipe: Fix rtl dependenciesRaimo Niskanen
2012-01-05hipe: Remove warnings of missing types in recordsBjörn-Egil Dahlberg
2012-01-05Revert "hipe: Add type information to cfg_info record"Björn-Egil Dahlberg
This reverts commit 644a3ec2848da340490c4027df293a3136de60a4.
2012-01-03hipe: Add type information to cfg_info recordBjörn-Egil Dahlberg
Type information was missing from cfg_info record. * Add any() to 'params' * Add list() to 'info' The 'params' field should be constrained to a narrower type.
2012-01-01Remove hipe_ceach from hipe.app.src to fix reltool-generated release startupTim Stewart
hipe_ceach.erl has disappeared, but is still referred to from hipe.app.src, causing reltool-generated releases crash when they cannot find the module.
2011-12-12Prepare releaseErlang/OTP
2011-12-09Update copyright yearsBjörn-Egil Dahlberg
2011-12-09Merge branch 'hb/hipe/unify_optimization/OTP-9768'Hans Bolinder
* hb/hipe/unify_optimization/OTP-9768: Optimize erl_types:t_unify()
2011-12-08Merge branch 'egil/file-info-opt-utc/OTP-7687'Björn-Egil Dahlberg
* egil/file-info-opt-utc/OTP-7687: (39 commits) Remove time_t specific test in prim_file_SUITE Update prim_file.beam and prim_zip.beam Add types for posixtime_to_universaltime and the reverse Set BASEYEAR to 1902 Set lower limit of years handled to 1601 Emulate localtime, gmtime and mktime to enable negative time_t Document file:*_file_info/2 Fix compiler warning in unix_efile.c Change name of bif universaltime_to_seconds/1 Change options to prim_file:*_file_info/* Remove dead code Catch errors from prim_file:*_file_info Testcase for utc <-> seconds conversion Fix negative time in seconds_to_universaltime/1 Remove OS taint from datetime conversion Add utc <-> seconds conversions bifs Let prim_file validate ctime in file_info Teach #file_info spec unix epochs for file times Add file_info_opt tests in prim_file_SUITE unix_efile: Zero is a valid number in utime ... Conflicts: erts/emulator/beam/erl_time_sup.c erts/emulator/sys/win32/erl_win_sys.h erts/emulator/sys/win32/sys_time.c
2011-12-08Add types for posixtime_to_universaltime and the reversePatrik Nyblom
2011-12-08Optimize erl_types:t_unify()Hans Bolinder
Using a list rather than a dict() for unified variables saves quite some time. In particular Dialyzer is a heavy user of t_unify().
2011-12-05Fix misspelling of chosenTuncer Ayaz
2011-12-05Fix misspelling of 'turn off'Tuncer Ayaz
2011-12-05Merge branch 'sa/dialyzer-fixes'Henrik Nord
* sa/dialyzer-fixes: Correct callback spec in application module Refine warning about callback specs with extra ranges Cleanup autoimport compiler directives Fix Dialyzer's warnings in typer Fix Dialyzer's warning for its own code Fix bug in Dialyzer's behaviours analysis Fix crash in Dialyzer OTP-9776
2011-12-01Fix crash in DialyzerStavros Aronis
Variable substitution was not generalizing any unknown variables.
2011-12-01Merge branch 'bjorn/dialyzer-warnings'Björn Gustavsson
* bjorn/dialyzer-warnings: erlang: Eliminate a clause in aa_mem_data/2 that can never match Add type info for erlang:system_info({allocator_sizes,ref(),any()})
2011-11-30Add type info for erlang:system_info({allocator_sizes,ref(),any()})Björn Gustavsson
2011-11-30Fix Dialyzer's warnings in HiPEStavros Aronis
2011-11-28Merge branch 'bjorn/compiler/options/OTP-9752'Björn Gustavsson
* bjorn/compiler/options/OTP-9752: filename documentation: Recommend against using filename:find_src/1,2 Teach filename:find_src/1,2 to handle slim or stripped BEAM files filename: Eliminate failing call to Mod:module_info(source_file) filename.erl:filter_options/1: Remove handling of dead options compiler: Don't include {cwd,_} in module_info(compile) compiler: Don't include source code options in module_info(compile) hipe: Teach hipe to handle slim or stripped BEAM files
2011-11-28hipe: Remove single function compilationBjörn Gustavsson
Compiling single functions (as opposed to whole modules) to native code complicates code management in HiPE. It would also vastly complicate whole-module optimizations, such as returning multiple return values instead of tuples within a module. As a first step, remove the external interface for the single compilation feature. In the future, there are many things that could be restructured and simplified.
2011-11-24hipe: Teach hipe to handle slim or stripped BEAM filesBjörn Gustavsson
2011-11-22Revert "Update version numbers for pre-release of R15"Björn-Egil Dahlberg
This reverts commit e21ff9b0b69219ab3853be7e80813156113152b7.
2011-11-22Update version numbers for pre-release of R15OTP_R15ABjörn Gustavsson
2011-11-17hipe,erts: Allow hipe without floating point exceptionsSverker Eriksson
2011-11-17hipe: Fix bug in hipe_rtl_lcm:calc_killed_expr_bbSverker Eriksson
Bug causing hipe to crash. Only provoked when changing the RTL generation for floating point operations. hipe_rtl:defines() was called with a expression ID instead of an expression. Use expr_id_map_get_expr() to get expression from ID. Need to pass along IdMap in order to do that.
2011-11-10Remove exec bit from: erl, hrl, xml, html, asn, gif, xpmRicardo Catalinas Jiménez
2011-11-09Merge branch 'sverk/bif-args/OTP-9662'Sverker Eriksson
* sverk/bif-args/OTP-9662: erts,hipe: Limited support for hipe cross compilation erts-hipe: Change THE_NON_VALUE for HiPE enabled debug emulator erts-hipe: Enable debug compiled hipe-VM with lock checker erts-hipe: Rename fail_bif_interface_0 to standard_bif_interface_0 erts-hipe: Deliberate leak of native fun entries erts-hipe: Fix new trap conventions for x86, amd64 and ppc Store the trap address in p->i Store the trap arguments in the X register array erts-hipe: Make some primops use new BIF calling convention erts-hipe: Adapt generated BIF wrappers for new calling convention erts-hipe: Remove obscuring macros in generated assembler code erts-hipe: Make hipe enabled emulator compile with new BIF calls Simplify the instructions for calling BIFs Change the calling convention for BIFs Use the proper macros in all BIFs Conflicts: erts/emulator/beam/bif.h erts/emulator/beam/erl_bif_info.c
2011-11-09erts,hipe: Limited support for hipe cross compilationSverker Eriksson
Normally hipe assumes that generated native code will be executed on the same emulator as the hipe compiler is running on. This commit allows you to build a hipe "cross-compiler" for a different configured emulator (but for same architecture). Example: > cd lib/hipe > make clean > make XCOMP=yes FLAVOR=smp TYPE=debug This hipe compiler will generate code to be executed on the debug compiled smp-emulator at $ERL_TOP.
2011-10-27Remove unused */doc/src/make.dep filesBjörn Gustavsson
These dependency files was once used when building the documentation, but are no longer needed.
2011-10-04Merge branch 'dev' into majorBjörn-Egil Dahlberg
2011-10-04Prepare releaseOTP_R14B04Erlang/OTP
2011-09-29Merge branch 'dev' into majorBjörn-Egil Dahlberg
* dev: Update copyright years
2011-09-29Update copyright yearsBjörn-Egil Dahlberg
2011-09-29Merge branch 'dev' into majorHenrik Nord