aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/hipe
AgeCommit message (Collapse)Author
2012-12-07Merge branch 'rickard/port-optimizations/OTP-10336' into ↵Rickard Green
rickard/r16/port-optimizations/OTP-10336 * rickard/port-optimizations/OTP-10336: Change annotate level for emacs-22 in cerl Update etp-commands Add documentation on communication in Erlang Add support for busy port message queue Add driver callback epilogue Implement true asynchronous signaling between processes and ports Add erl_drv_[send|output]_term Move busy port flag Use rwlock for driver list Optimize management of port tasks Improve configuration of process and port tables Remove R9 compatibility features Use ptab functionality also for ports Prepare for use of ptab functionality also for ports Atomic port state Generalize process table implementation Implement functionality for delaying thread progress from unmanaged threads Conflicts: erts/doc/src/erl_driver.xml erts/doc/src/erlang.xml erts/emulator/beam/beam_bif_load.c erts/emulator/beam/beam_bp.c erts/emulator/beam/beam_emu.c erts/emulator/beam/bif.c erts/emulator/beam/copy.c erts/emulator/beam/erl_alloc.c erts/emulator/beam/erl_alloc.types erts/emulator/beam/erl_bif_info.c erts/emulator/beam/erl_bif_port.c erts/emulator/beam/erl_bif_trace.c erts/emulator/beam/erl_init.c erts/emulator/beam/erl_message.c erts/emulator/beam/erl_port_task.c erts/emulator/beam/erl_process.c erts/emulator/beam/erl_process.h erts/emulator/beam/erl_process_lock.c erts/emulator/beam/erl_trace.c erts/emulator/beam/export.h erts/emulator/beam/global.h erts/emulator/beam/io.c erts/emulator/sys/unix/sys.c erts/emulator/sys/vxworks/sys.c erts/emulator/test/port_SUITE.erl erts/etc/unix/cerl.src erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/prim_inet.beam erts/preloaded/src/prim_inet.erl lib/hipe/cerl/erl_bif_types.erl lib/kernel/doc/src/inet.xml lib/kernel/src/inet.erl
2012-12-03Use ptab functionality also for portsRickard Green
2012-12-03Prepare for use of ptab functionality also for portsRickard Green
2012-12-03Generalize process table implementationRickard Green
2012-11-27Merge branch 'egil/darwin-fixes'Björn-Egil Dahlberg
* egil/darwin-fixes: erl_interface: Avoid redefinition of ALIGNBYTES erts: Fix '#ifdef' for unused static functions erts: Remove forgotten vxworks includes hipe: Cast offsetof to int in hipe_arch_print_pcb
2012-11-23Merge branch 'maint'Björn-Egil Dahlberg
2012-11-23Update copyright yearsBjörn-Egil Dahlberg
2012-11-14Merge remote branch 'upstream/maint'Ingela Anderton Andin
Conflicts: lib/ssl/src/ssl_connection.erl
2012-11-13erts: Change assembler comment for hipe on x86 and amd64Sverker Eriksson
Previously done for ppc in c469d8ce14e9544a297d9af48c9da43137122d9a
2012-11-13erts: Fix compile error on solaris in generated hipe_amd64_bifs.SSverker Eriksson
2012-10-10hipe: Cast offsetof to int in hipe_arch_print_pcbBjörn-Egil Dahlberg
* Silence compiler warning * This is the same style as the rest of the debug printing in hipe. Keeping to the same style, though changing the printing format would probably be better. Not a critical change.
2012-08-31Merge branch 'maint'Björn-Egil Dahlberg
Conflicts: lib/diameter/autoconf/vxworks/sed.general xcomp/README.md
2012-08-31Update copyright yearsBjörn-Egil Dahlberg
2012-08-23Merge branch 'maint'Sverker Eriksson
Conflicts: erts/preloaded/ebin/init.beam
2012-08-23Merge branch 'sverk/hipelibs-code_server-crash-maint' into maintSverker Eriksson
* sverk/hipelibs-code_server-crash-maint: Fix init:restart with hipelibs kernel: Disable hipe compilation for hipe_unified_loader
2012-08-23Merge branch 'maint'Ingela Anderton Andin
* maint: Fix assembler comments for hipe on ppc odbc: remove "-" in hostname from generated unique table name
2012-08-22Fix assembler comments for hipe on ppcSverker Eriksson
Change to preprocessor comments to work on all OS.
2012-08-21Fix init:restart with hipelibsSverker Eriksson
This is a workaround for init:restart. The root problem is that delete/purge_module does not clean up internal hipe bookkeeping (hipe_mfa_info's) properly. Symptom: Execution of deallocated beam code.
2012-08-17Remove support for tuple funsBjörn Gustavsson
Tuple funs were deprecated in R15B (in commit a4029940e309518f5500).
2012-07-05Merge branch 'maint'Sverker Eriksson
2012-06-25hipe_arm.c: remove dead codeMikael Pettersson
erts/emulator/hipe/hipe_arm.c started out as a clone of hipe_ppc.c, with #ifdefs to select ARM-specific code. Somehow those #ifdefs never got cleaned out, resulting in fairly ugly-looking code. This eliminates the #ifdefs, deletes dead PowerPC-specific code, and keeps only the ARM-specific code. I've verified that the exact same assembly code is generated for hipe_arm.c before and after this patch (if you compile without -g, with -g there are unavoidable changes to the debug data). Signed-off-by: Mikael Pettersson <[email protected]>
2012-06-25Fix compile error of HIPE enabled DEBUG emulator for ARMSverker Eriksson
2012-06-25Fix hipe bif calling bug on ARMSverker Eriksson
Bug introduced in R15.
2012-06-04Merge branch 'maint'Lukas Larsson
* maint: Remove stale code for hybrid heap and incremental GC Remove the hipe_bifs:show_message_area/0 BIF Remove support for erlang:system_info(global_heaps_size) Remove the erlang:garbage_collect_message_area/0 BIF Remove workarounds for hybrid and shared heaps in test suites Conflicts: erts/doc/src/erlang.xml erts/emulator/beam/erl_message.c erts/emulator/beam/erl_process.c erts/emulator/beam/erl_process.h erts/emulator/hipe/hipe_bif2.tab lib/hipe/cerl/erl_bif_types.erl
2012-05-10Remove stale code for hybrid heap and incremental GCBjörn Gustavsson
The hybrid heap emulator was last working in the non-SMP R11B run-time system. When the constant pools were introduced in R12B, the hybrid heap emulator was not updated to handle them. At this point, the harm from reduced readability of the code is greater than any potential usefulness of keeping the code.
2012-05-10Remove the hipe_bifs:show_message_area/0 BIFBjörn Gustavsson
2012-04-27Merge branch 'rickard/proc-sched/OTP-9892'Rickard Green
* rickard/proc-sched/OTP-9892: Teach etp-commands to understand new emulator internal data structures Optimize process state changes Optimize process table access Implement possibility to use ordinary mutexes as process locks Conflicts: erts/emulator/beam/erl_alloc.types
2012-04-27Optimize process state changesRickard Green
2012-03-30Merge branch 'maint'Björn-Egil Dahlberg
2012-03-30Update copyright yearsBjörn-Egil Dahlberg
2012-03-09Merge branch 'sverk/threadsafe-code-loading'Sverker Eriksson
* sverk/threadsafe-code-loading: (59 commits) erts: Fix assert failure when code_server exits "during" commit erts: Fix memory leak in code loading erts: Adapt gdb etp-command for new beam_ranges erts: Set correct default tracing when loading code erts: Fix faulty assert in non-smp debug vm erts: Use correct macro for "yield-return" erts: Refactor code loading with renaming erts: Seize code_ix lock when updating trace settings erts: Switch order between code_ix lock and thread blocking erts: Fix race bug in finish_after_on_load erts: Refactor export staging lock erts: Activate staged code in a thread safe way erts: Suspend processes waiting for code_ix lock erts: Fix compiler warning in inet_drv erts: Fix single threaded fallback in new BIF finish_loading_1 erts: Fix type bug Break apart erlang:load_module/2 into two separate BIFs Use magic binaries in erts_prepare_loading() and erts_finish_loading() erts: Cleanup non-blocking load erts: Fix memory query for non-blocking module table ... OTP-9974
2012-02-21erts: Fix hipe loading bug for new non-blocking loadSverker Eriksson
2012-02-21erts: Cleanup code loadingSverker Eriksson
2012-02-21erts: Rename "loader" code_ix as "staging" code_ixSverker Eriksson
Staging is a better and more general name as does not necessary need to involve code loading (can be deletion, tracing, etc).
2012-02-21erts: Multiple module tables using code_ixSverker Eriksson
2012-02-21erts: Use several addresses in each ExportSverker Eriksson
2012-02-21erts: Multiple export tab's using code_ixSverker Eriksson
Still blocking code loading
2012-02-21erts: Refactor Module structSverker Eriksson
2012-02-17hipe,erts: Add DEBUG support with MFA's in stack descriptorsSverker Eriksson
2012-02-09hipe,erts: Debug support for native call traceSverker Eriksson
2012-01-11Merge branch 'sverk/hipe-hibernate-sparc-bug' into maintSverker Eriksson
* sverk/hipe-hibernate-sparc-bug: erts: Make GC tolerate hibernated process without hipe stack
2012-01-03hipe: Suppress warnings for unused variablesBjörn-Egil Dahlberg
2011-12-19erts: Make GC tolerate hibernated process without hipe stackSverker Eriksson
Seen causing segv on sparc with hibernate_native_SUITE:basic: nstack_walk_frame_ra (nsp=0x0, sdesc=0x6c8f2c) at hipe_risc_gc.h:105 gensweep_nstack (p=0x6a6930, ptr_old_htop=0xffbfea50, ptr_n_htop=0xffbfea4c) at hipe/hipe_gc.c:224 do_minor (p=0x6a6930, new_sz=233, objv=0x6a6984, nobj=3) at beam/erl_gc.c:949 minor_collection (p=0x6a6930, need=3, objv=0x6a6984, nobj=3, recl=0xffbfece4) at beam/erl_gc.c:811 erts_garbage_collect (p=0x6a6930, need=3, objv=0x6a6984, nobj=3) at beam/erl_gc.c:379 erts_send_message (sender=0x6a6048, receiver=0x6a6930, receiver_locks=0xffbfedf8, message=6132762, flags=0) at beam/erl_message.c:922 do_send (p=0x6a6048, to=515, msg=6132762, suspend=1) at beam/bif.c:2052 erl_send (p=0x6a6048, to=515, msg=6132762) at beam/bif.c:2151 send_2 (A__p=0x6a6048, BIF__ARGS=0x6a609c) at beam/bif.c:2146 nbif_send_2 ()
2011-12-08Declare hipe_mode_switch_debug extern in headerPatrik Nyblom
Fixes alignment warning from ld on 64bit platforms with gcc 4.6.1
2011-12-06Merge branch 'sverk/ppc-hibernate-fix'Sverker Eriksson
* sverk/ppc-hibernate-fix: erts: Fix hipe bug in hibernate on PowerPC
2011-12-02Get cerl and distribution working in Win64Patrik Nyblom
Can still not setup -a, but cerl works.
2011-12-01erts: Fix hipe bug in hibernate on PowerPCSverker Eriksson
Seems to apply to Sparc and ARM as well (even if not observed).
2011-11-17hipe,erts: Allow hipe without floating point exceptionsSverker Eriksson
2011-11-13Merge branch 'rickard/alloc-opt/OTP-7775'Rickard Green
* rickard/alloc-opt/OTP-7775: Optimize memory allocation Conflicts: erts/aclocal.m4 erts/emulator/hipe/hipe_bif_list.m4 erts/preloaded/ebin/erl_prim_loader.beam erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/init.beam erts/preloaded/ebin/otp_ring0.beam erts/preloaded/ebin/prim_file.beam erts/preloaded/ebin/prim_inet.beam erts/preloaded/ebin/prim_zip.beam erts/preloaded/ebin/zlib.beam
2011-11-13Optimize memory allocationRickard Green
A number of memory allocation optimizations have been implemented. Most optimizations reduce contention caused by synchronization between threads during allocation and deallocation of memory. Most notably: * Synchronization of memory management in scheduler specific allocator instances has been rewritten to use lock-free synchronization. * Synchronization of memory management in scheduler specific pre-allocators has been rewritten to use lock-free synchronization. * The 'mseg_alloc' memory segment allocator now use scheduler specific instances instead of one instance. Apart from reducing contention this also ensures that memory allocators always create memory segments on the local NUMA node on a NUMA system.