aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
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-25Workaround gcc bug affecting ARM debug buildSverker Eriksson
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-25Add armv7l and armv5tejl as a recognized ARM architecturesSverker Eriksson
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
2012-06-25Update primary bootstrapBjörn Gustavsson
2012-06-25Merge branch 'bjorn/compiler/eliminate-bottleneck/OTP-10123' into maintBjörn Gustavsson
* bjorn/compiler/eliminate-bottleneck/OTP-10123: sys_pre_expand: Eliminate bottleneck for modules with many functions
2012-06-25Don't go to single-scheduler mode when managing breakpointsBjörn Gustavsson
Calls to erlang:set_trace_pattern/3 will no longer block all other schedulers. We will still go to single-scheduler mode when new code is loaded for a module that is traced, or when loading code when there is a default trace pattern set. That is not impossible to fix, but that requires much closer cooperation between tracing BIFs and the loader BIFs.
2012-06-25Refactor the code for managing breakpointsBjörn Gustavsson
To allow us to manage breakpoints without going to single-scheduler mode, we will need to update the breakpoints in several stages with memory barriers in between each stage. Prepare for that by splitting up the breakpoint setting and clearing functions into several smaller functions.
2012-06-25Change the data structures for breakpointsBjörn Gustavsson
Change the data structures for breakpoints to make it possible (in a future commit) to manage breakpoints without taking down the system to single-scheduling mode. The current "breakpoint wheel" data structure (a circular, double-linked list of breakpoints) was invented before the SMP emulator. To support it in the SMP emulator, there is essentially one breakpoint wheel per scheduler. As more breakpoint types have been added, the implementation has become messy and hard to understand and maintain. Therefore, the time for a rewrite has come. Use one struct to hold all breakpoint data for a breakpoint in a function. Use a flag field to indicate what different type of break actions that are enabled.
2012-06-25Add trace_local_SUITE:concurrency/1Björn Gustavsson
2012-06-25Make the lock check in erts_is_code_ix_locked() strongerBjörn Gustavsson
Make sure that the the currently running thread has the lock, not only that that some thread has the lock.
2012-06-25Merge branch 'maint'Henrik Nord
2012-06-25Merge branch 'rj/fix-eprof-doc' into maintHenrik Nord
* rj/fix-eprof-doc: Fix nonsense of eprof doc OTP-10121
2012-06-25Merge branch 'tab/fix-indentation-records-emacs' into maintHenrik Nord
* tab/fix-indentation-records-emacs: Fix indentation of record fields in Emacs OTP-10120
2012-06-25Merge branch 'rj/fix-et-doc' into maintHenrik Nord
* rj/fix-et-doc: Fix typo in ET doc OTP-10119
2012-06-21Fix missing accounting for outbound distribution bytes.Rick Reed
2012-06-20Optimize inet:tcp_controlling_processSverker Eriksson
by removing unecessary inet:setops calls.
2012-06-20Merge remote branch 'upstream/maint'Ingela Anderton Andin
* upstream/maint: ssl: Fix bug in the handling of remote connection closure of {active,false} ssl sockets.
2012-06-20Merge branch 'ia/ssl/recv-bug/OTP-10118' into maintIngela Anderton Andin
* ia/ssl/recv-bug/OTP-10118: ssl: Fix bug in the handling of remote connection closure of {active,false} ssl sockets.
2012-06-20Merge branch 'maint'Rickard Green
* maint: Fix faulty use of thread progress in handle_aux_work() Conflicts: erts/emulator/beam/erl_process.c Needed modifications: erts/emulator/beam/beam_bif_load.c
2012-06-20Merge branch 'rickard/thr-prgr-use/OTP-10116' into maintRickard Green
* rickard/thr-prgr-use/OTP-10116: Fix faulty use of thread progress in handle_aux_work()
2012-06-20erts: Update obsolete HARD_DEBUG codeSverker Eriksson
2012-06-20sys_pre_expand: Eliminate bottleneck for modules with many functionsBjörn Gustavsson
Use a gb_set instead of an ordset to store the set of defined functions in the module to avoid quadritic time complexity.
2012-06-20Merge remote branch 'upstream/maint'Ingela Anderton Andin
* upstream/maint: ssl: Fix pem cache bug
2012-06-20Merge branch 'ia/ssl/pem-cache-bug' into maintIngela Anderton Andin
* ia/ssl/pem-cache-bug: ssl: Fix pem cache bug
2012-06-19ssl: Fix pem cache bugIngela Anderton Andin
A general case clause was put before a less general so that the less general case would never match.
2012-06-18Fix faulty use of thread progress in handle_aux_work()Rickard Green
As an optimization old thread progress data was kept and used in handle_aux_work() in erl_process.c. This could cause memory to be deallocated at a later time than intended, which is quite harmless. This has, however, now been fixed.
2012-06-18Merge branch 'bjorn/inviso/remove/OTP-10117'Björn Gustavsson
* bjorn/inviso/remove/OTP-10117: Remove the deprecated inviso application
2012-06-18Merge branch 'sverk/code-upgrade-test'Sverker Eriksson
* sverk/code-upgrade-test: Add kernel/test/code_SUITE:upgrade
2012-06-18Revert conceptually wrong little fix as part of check_io optSverker Eriksson
2012-06-18Make allocation of check_io tables more scalable.Rick Reed
2012-06-15ssl: Fix bug in the handling of remote connection closure of {active,false} ↵Ingela Anderton Andin
ssl sockets.
2012-06-13Merge remote branch 'upstream/maint'Ingela Anderton Andin
* upstream/maint: ssl: Test case fixes ssl: Avoid second bottleneck in supervisor ssl: File handling optimization ssl: Simpler PEM cache ssl: Refactored for readability ssl: Use md5 as file ref id instead of filenames ssl: Move ets:select bottleneck in server ssl: Renegotiate updates session id in gen_fsm state ssl: Use ordered_set in cache ssl: Move and avoid ets:select bottleneck in client ssl: Reuse session check optimization ssl: Avoid supervior bottleneck
2012-06-13Merge branch 'ia/ssl/bottlenecks/OTP-10113' into maintIngela Anderton Andin
* ia/ssl/bottlenecks/OTP-10113: ssl: Test case fixes ssl: Avoid second bottleneck in supervisor ssl: File handling optimization ssl: Simpler PEM cache ssl: Refactored for readability ssl: Use md5 as file ref id instead of filenames ssl: Move ets:select bottleneck in server ssl: Renegotiate updates session id in gen_fsm state ssl: Use ordered_set in cache ssl: Move and avoid ets:select bottleneck in client ssl: Reuse session check optimization ssl: Avoid supervior bottleneck
2012-06-12Merge branch 'maint'Ingela Anderton Andin
* maint: Improved handling of multiple closes
2012-06-12Merge branch 'ia/ssh/missing-reason-in-catch-exit/OTP-10112' into maintIngela Anderton Andin
* ia/ssh/missing-reason-in-catch-exit/OTP-10112: Improved handling of multiple closes
2012-06-12Remove the deprecated inviso applicationBjörn Gustavsson
2012-06-12Fix indentation of record fields in EmacsTomas Abrahamsson
In some situations, the indentation of record fields in Emacs was strange. This example below shows how Emacs previously would indent two similar pieces of code very differently: some_function_with_a_very_long_name() -> #'a-long-record-name-like-it-sometimes-is-with-asn.1-records'{ field1=a, field2=b}. x() -> #some_record_name{ field1=a, field2=b}. This changes the indentation to be like below for both cases: some_function() -> #some_record{ field1=a, field2=b}.
2012-06-12Fix nonsense of eprof docRicardo Catalinas Jiménez
2012-06-12ssl: Test case fixesIngela Anderton Andin
2012-06-12Add kernel/test/code_SUITE:upgradeSverker Eriksson
For now we only test beam as hipe doesn't pass the test
2012-06-08ssl: Avoid second bottleneck in supervisorIngela Anderton Andin
Do proc_lib:spawn_link instead of proc_lib:start_link as synchronized init is not used/needed anyway.
2012-06-08ssl: File handling optimizationIngela Anderton Andin
Avoid cach validation with file:file_info/2 as this i too expensive and causes a bottleneck in the file server. Instead we expose a new API function ssl:clear_pem_cache/0 to deal with the problem. As we think it will be of occasional use and the normal case is that the cache will be valid we think it is the right thing to do. Convert file paths to binary representation in the ssl API module to avoid uncessarry calls in file later on. Also add sanity checks for openssl versions in testsuite due to new openssl bugs.
2012-06-08Merge branch 'maint'Lukas Larsson
* maint: Update to work with space in include path Update to work with whitespace in exec path
2012-06-08Merge branch 'lukas/otp/install_with_whitespace/OTP-10107' into maintLukas Larsson
* lukas/otp/install_with_whitespace/OTP-10107: Update to work with space in include path Update to work with whitespace in exec path
2012-06-08Update to work with space in include pathLukas Larsson
OTP-10109
2012-06-08ssl: Simpler PEM cacheIngela Anderton Andin
2012-06-08ssl: Refactored for readabilityIngela Anderton Andin
Instance of state variable that are "updated" in a function is called for example State0 and the last instance, that should be returned, is called State possible intermidiat versions are suffixed by increasing numbers. State0 may be rturned in error cases. Avoid nesting case statments.