aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
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-26erts-hipe: Change THE_NON_VALUE for HiPE enabled debug emulatorSverker Eriksson
This is a work-around as there are hipe BIFs that return untagged integers that may be intepreted as THE_NON_VALUE (24). Hipe bifs that return offsets as untagged integers: hipe_bs_put_utf8 hipe_bs_put_utf16be hipe_bs_put_utf16le Hipe bifs that return raw pointers: hipe_find_na_or_make_stub hipe_nonclosure_address
2011-10-26erts-hipe: Enable debug compiled hipe-VM with lock checkerSverker Eriksson
Add hipe_debug_bif_wrapper() as a wrapper for every BIF called by native code.
2011-10-26erts-hipe: Rename fail_bif_interface_0 to standard_bif_interface_0Sverker Eriksson
2011-10-26erts-hipe: Deliberate leak of native fun entriesSverker Eriksson
This is a workaround as hipe code upgrade/unloading does not work properly.
2011-10-26erts-hipe: Fix new trap conventions for x86, amd64 and ppcSverker Eriksson
2011-10-26Store the trap address in p->iBjörn Gustavsson
For cleanliness, store the trap address in p->i instead of in p->def_arg_reg[3].
2011-10-26Store the trap arguments in the X register arrayBjörn Gustavsson
Store arguments for a trap in the X register array to allow traps to have any number of arguments.
2011-10-26erts-hipe: Make some primops use new BIF calling conventionSverker Eriksson
These primops use the standard_bif_interface_X macros in hipe_bif_list.m4 and must therefor be implemented as bifs for things to work. Maybe there is room for optimization here to call the primops more directly with arguments in registers without having to push them on stack to emulate bif calls.
2011-10-26erts-hipe: Adapt generated BIF wrappers for new calling conventionSverker Eriksson
x86 and amd64: Push BIF__ARGS array on C-stack. ppc, sparc and arm: Write BIF__ARGS array to P->def_arg_reg[] Just the simplest solution with limited assembler knowledge, probably room for improvements.
2011-10-26erts-hipe: Remove obscuring macros in generated assembler codeSverker Eriksson
No semantic change. Just easier to debug when jumps are spelled out and not obscured by yet another layer of macros.
2011-10-26erts-hipe: Make hipe enabled emulator compile with new BIF callsSverker Eriksson
A first step to adapt hipe to the new BIF calling convention.
2011-10-26Simplify the instructions for calling BIFsBjörn Gustavsson
Taking advantage of the new calling convention for BIFs, we only need one instruction to handle BIFs with any number of arguments. This change eliminates the limit of three arguments for BIFs, but traps are still limited to three arguments.
2011-10-26Change the calling convention for BIFsBjörn Gustavsson
The current calling convention for BIFs makes it necessary to handle each arity specially, since each argument for the BIF also becomes an argument for the C function implementing the BIF, which makes it hard to allow BIFs with any number of arguments. Change the calling convention for BIFs, so that BIF arguments are passed in an array to the C function implementing the BIF.
2011-10-26Use the proper macros in all BIFsBjörn Gustavsson
As a preparation for changing the calling convention for BIFs, make sure that all BIFs use the macros. Also, eliminate all calls from one BIF to another, since that also breaks the calling convention abstraction.
2011-10-25Merge branch 'egil/eprof-doc'Björn-Egil Dahlberg
* egil/eprof-doc: otp: Update profiling doc with eprof eprof: Fix invalid references to removed functions OTP-9656
2011-10-24otp: Update profiling doc with eprofBjörn-Egil Dahlberg
2011-10-21eprof: Fix invalid references to removed functionsBjörn-Egil Dahlberg
2011-10-21Merge branch 'anders/diameter/make/OTP-9638'Anders Svensson
* anders/diameter/make/OTP-9638: Dumb down release target to Solaris /usr/ucb/install Dumb down opt/release targets to make 3.80 Minor tweaks and cleanup Need absolute -pa for bootstrap build Simpler release targets for src subdirectories Use secondary expansion for src subdirectory rules One makefile for src build instead of recursion Remove app dependency on compiler to avoid forced recompilation Move diameter_exprecs to compiler directory
2011-10-21Merge branch 'anders/diameter/dictionaries/OTP-9641'Anders Svensson
* anders/diameter/dictionaries/OTP-9641: Add diameter_make as compilation interface Update documentation Don't require -i directory to exist Allow @inherits to be set/cleared with diameterc Allow @name/@prefix to be set with diameterc Dependency fix Move dictionaries into own directory and rename Whitespace fixes @result_code -> @define in dictionary files
2011-10-21Merge branch 'hb/stdlib/fix_testsuites/OTP-9637'Hans Bolinder
* hb/stdlib/fix_testsuites/OTP-9637: Fix a few tests that used to fail on the HiPE platform
2011-10-21Fix a few tests that used to fail on the HiPE platformHans Bolinder
2011-10-20Merge branch 'rc/epp-include-path-fix'Henrik Nord
* rc/epp-include-path-fix: Make epp search directory of current file first when including another file OTP-9645
2011-10-20Merge branch 'hl/fix-ms_transform-scope-warn'Henrik Nord
* hl/fix-ms_transform-scope-warn: ms_transform: Fix incorrect `variable shadowed' warnings OTP-9646
2011-10-20Merge branch 'cf/simple_one_for_one_shutdown'Henrik Nord
* cf/simple_one_for_one_shutdown: Explain how dynamic child processes are stopped Stack errors when dynamic children are stopped Explicitly kill dynamic children in supervisors Conflicts: lib/stdlib/doc/src/supervisor.xml OTP-9647
2011-10-20Merge branch 'cf/supervisor_shutdown_infinity'Henrik Nord
* cf/supervisor_shutdown_infinity: Add a warning to docs about workers' shutdown strategy Allow an infinite timeout to shutdown worker processes OTP-9648
2011-10-20Merge branch 'bjorn/unicode-noncharacters/OTP-9624'Björn Gustavsson
* bjorn/unicode-noncharacters/OTP-9624: Allow noncharacter code points in unicode encoding and decoding
2011-10-20Merge branch 'bjorn/parallel-make/OTP-9451'Björn Gustavsson
* bjorn/parallel-make/OTP-9451: corba applications: Fix broken 'make clean' ic documentation: Support parallel make Revert "ic documentation: Support parallel make"
2011-10-19Dumb down release target to Solaris /usr/ucb/installAnders Svensson
2011-10-19Dumb down opt/release targets to make 3.80Anders Svensson
2011-10-19Minor tweaks and cleanupAnders Svensson
Tweak some comments and variable names, move things around a bit (default src target is now opt, not debug), only clean what's built, use +warn_export_vars.
2011-10-19Merge branch 'maint-r14'Lars Thorsen
* maint-r14: Fix match bug
2011-10-19Fix erroneous merge resolutionRickard Green
Previously removed code erroneously reappeared in a merge to the master branch (ec36499d7e329b4dc69a1a3be3422eac7907c260).
2011-10-18Merge branch 'fm/enif_is_number'Henrik Nord
* fm/enif_is_number: Add NIF function enif_is_number Conflicts: erts/emulator/beam/erl_nif_api_funcs.h OTP-9629
2011-10-18Merge branch 'sverker/random-improved-algo'Sverker Eriksson
* sverker/random-improved-algo: Improve algorithm in module random. Fix a bug in the implementation of the pseudo-random number generator OTP-8713
2011-10-18Merge branch 'pg/des-cfb-functions'Sverker Eriksson
* pg/des-cfb-functions: [crypto] Remove swedish characters from test code [crypto] Add DES and Triple DES cipher feedback (CFB) mode functions OTP-9640
2011-10-18Need absolute -pa for bootstrap buildAnders Svensson
Otherwise include_lib will fail.
2011-10-18Simpler release targets for src subdirectoriesAnders Svensson
2011-10-18[crypto] Remove swedish characters from test codeSverker Eriksson
2011-10-18[crypto] Add DES and Triple DES cipher feedback (CFB) mode functionsPaul Guyot
2011-10-17Make epp search directory of current file first when including another fileRichard Carlsson
The expected behaviour of a C-style preprocessor (such as Erlang's epp) is to allow a header file to include another header file in the same directory even though that directory is not explicitly in the include path, and even if the actual include path might reference another directory containing a file with the same name. For example, if src/foo.erl explicitly includes "../include/foo.hrl", then foo.hrl should be able to include "bar.hrl" in that same directory even though "../include" might not be in the search path, and even if another file named bar.hrl could be found using the search path it should not override the one in the same directory as foo.hrl. In Erlang, the most common situation is that a user of an installed application includes a main public header file using include_lib ("appname/include/foo.hrl") and that file includes a secondary header file "bar.hrl". However, if it does this using include_lib, it causes a bootstrapping problem - in the build environment for the application itself, the application is not necessarily found by name. On the other hand, if foo.hrl uses a plain include, then bar.hrl might be found when the application is built (if explicit paths are set in the makefils) but not later on when a user includes the main header file of the installed application via include_lib. By making -include always look in the directory of the current file before it uses the search path, this problem is remedied, and include directives behave in a more intuitive way. This completes a partial fix in R11 that only worked for include_lib().
2011-10-17Use secondary expansion for src subdirectory rulesAnders Svensson
Makes for a quieter rule with no recursion.
2011-10-17One makefile for src build instead of recursionAnders Svensson
Simpler, no duplication of similar makefiles and makes for better dependencies. (Aka, recursive make considered harmful.)
2011-10-17Remove app dependency on compiler to avoid forced recompilationAnders Svensson
2011-10-17Move diameter_exprecs to compiler directoryAnders Svensson
2011-10-17Add diameter_make as compilation interfaceAnders Svensson
As a module-based alternative to the escript diameterc.
2011-10-17Update documentationAnders Svensson
2011-10-17Don't require -i directory to existAnders Svensson
2011-10-17Allow @inherits to be set/cleared with diametercAnders Svensson
This is to enable dictionaries compiled with --name/--prefix to be inherited using --inherits.
2011-10-17Allow @name/@prefix to be set with diametercAnders Svensson