aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2010-06-03Add trace call_time tests for nifs and bifsBjörn-Egil Dahlberg
2010-06-03Teach call count tracing to use atomicsBjörn-Egil Dahlberg
Call count previously used a global lock for accessing and writing its counter in the breakpoint. This is now changed to atomics instead. The change will let call count tracing and cprof to scale better when increasing the number of schedulers.
2010-06-03Add first phase of trace call time test suiteBjörn-Egil Dahlberg
2010-06-03Add a scheduler array for BpData at BeamInstr[-4]Björn-Egil Dahlberg
To solve the issue of multiple schedulers constantly updating the head pointer to the bp data wheel, each scheduler now has its own entrypoint to the wheel. This head pointer can be updated without a locking being taken. Previously there were no lock ...
2010-06-03Add search keys in breakpoints and a searchfunctionBjörn-Egil Dahlberg
2010-06-03Fix BeamInstr for call_timeBjörn-Egil Dahlberg
2010-06-03Teach call_time trace to use intruction pointersBjörn-Egil Dahlberg
call_time trace will use instruction pointers instead of breakpoint data pointers. More costly lookup but the bdt structure might be deallocated, we do not want that. Remove unnecessary pattern lock.
2010-06-03Add return_time trace and PSD deletionsBjörn-Egil Dahlberg
2010-06-03Remove trailing character in beam_bif_loadBjörn-Egil Dahlberg
2010-06-03Fix set_function_break to use correct breakpointBjörn-Egil Dahlberg
op_i_time_breakpoint is now used
2010-06-03Add processes hashes for call time breakpointsBjörn-Egil Dahlberg
Call time breakpoint tracing traces per call trace per process. - Add hashes to support the extra dimension. - Teach trace_info/2 to handle the extra information dimension.
2010-06-03Fix lock-checking for PSD call_time breakpointsBjörn-Egil Dahlberg
2010-06-03Call time breakpoint tracing frameworkBjörn-Egil Dahlberg
Initial commit with a new breakpoint instruction and PSD areas for temporary time storage during tracing.
2010-06-03dialyzer: Build the PLT even if there are unresolved remote typesKostis Sagonas
2010-06-03OTP-8675 Fix erroneous return value from erlang:system_info(multi_scheduling)Rickard Green
erlang:system_info(multi_scheduling) sometimes erroneously returned enabled when it should have returned blocked.
2010-06-03OTP-8673 Adjust alignment of scheduler data and run queuesRickard Green
Alignment of scheduler data and run queues were adjusted.
2010-06-03OTP-8666 Enable automatic binding of schedulers when possibleRickard Green
The runtime system will by default bind schedulers to logical processors using the default_bind bind type if the amount of schedulers are at least equal to the amount of logical processors configured, binding of schedulers is supported, and a CPU topology is available at startup. NOTE: If the Erlang runtime system is the only operating system process that binds threads to logical processors, this improves the performance of the runtime system. However, if other operating system processes (as for example another Erlang runtime system) also bind threads to logical processors, there might be a performance penalty instead. If this is the case you, are are advised to unbind the schedulers using the <seealso marker="erl#+sbt">+sbtu</seealso> command line argument, or by invoking <seealso marker="erlang#system_flag_scheduler_bind_type">erlang:system_flag(schedule r_bind_type, unbound)</seealso>.
2010-06-03OTP-8555 Send message from NIFSverker Eriksson
New NIF features: Send messages from a NIF, or from thread created by NIF, to any local process (enif_send) Store terms between NIF calls (enif_alloc_env, enif_make_copy) Create binary terms with user defined memory management (enif_make_resource_binary)
2010-06-03proplists: Export the type property()Björn Gustavsson
2010-06-03erl_lint: Issue warnings for undefined exported typesKostis Sagonas
2010-06-03Minor fix in a print messageKostis Sagonas
2010-06-03Add handling of unknown typesMaria Christakis
2010-06-03Add declaration for exported typesKostis Sagonas
2010-06-03Add types and specs; performed some cleanups alsoKostis Sagonas
2010-06-03erl_scan: Add declarations for exported typesKostis Sagonas
While at it, added some types to a record and did some cleanups suggested by tidier.
2010-06-03stdlib: Add declarations for exported typesKostis Sagonas
2010-06-03hipe: Add declarations for exported typesKostis Sagonas
2010-06-03compiler: Add declarations for exported typesKostis Sagonas
2010-06-03syntax_tools: Add declarations for exported typesKostis Sagonas
2010-06-03kernel: Add declaration for exported typesKostis Sagonas
2010-06-03Support -export_type() in dialyzer and erl_typesKostis Sagonas
2010-06-03Add infrastructure for the -export_type() attributeKostis Sagonas
erl_lint has been updated so that it takes the new -export_type() attribute into account. This means: - do not complain about types which are defined but nowhere used in the module but exported to other modules - check that all types which are exported are indeed defined in the module - warn when there are multiple occurrences of exported types. In doing this change, I've also taken the liberty to introduce many types and specs for functions of this module and to do small cleanups here and there.
2010-06-03OTP-8665 epp bugHans Bolinder
The Erlang code preprocessor (epp) did not correctly handle premature end-of-input when defining macros. This bug, introduced in STDLIB 1.16, has been fixed.
2010-06-03Merge branch 'pan/otp_8579_autoimport_override' into devErlang/OTP
* origin/pan/otp_8579_autoimport_override: Update preloaded modules Update primary bootstrap Remove outcommented code from erl_lint Make port_command/3 auto-imported Remove (harmless) warnings about min/max in core applications Autoimport min/2 and max/2 Improve coverage of erl_int in testcases Change warning to error for nowarn_bif_clash compiler directive Add -compile({no_auto_import,[F/A]}) doc to compiler.xml Add some testcases to compiler to verify that overriding really happens Return nowarn_bif_clash functionality but with warning Teach erl_lint to better override BIFs with local functions and imports Teach compiler to override autoimport with import First prototype for local functions overriding autoimported OTP-8579 Local functions should override auto-imported Local and imported functions now override the autoimported BIFs when the names clash. The pre R14 behaviour was that autoimported BIFs would override local functions. To avoid that old programs change behaviour, the following will generate an error: Doing a call without explicit module name to a local function having a name clashing with the name of an autoimported BIF that was present (and autoimported) before OTP R14A Explicitly importing a function having a name clashing with the name of an autoimported BIF that was present (and autoimported) before OTP R14A Using any form of the old compiler directive nowarn_bif_clash If the BIF was added or autoimported in OTP R14A or later, overriding it with an import or a local function will only result in a warning, To resolve clashes, you can either use the explicit module name erlang to call the BIF, or you can remove the autoimport of that specific BIF by using the new compiler directive -compile({no_auto_import,[F/A]})., which makes all calls to the local or imported function without explicit module name pass without warnings or errors. The change makes it possible to add autoimported BIFs without breaking or silently changing old code in the future. However some current code ingeniously utilizing the old behaviour or the nowarn_bif_clash compiler directive, might need changing to be accepted by the compiler.
2010-06-03Merge branch 'pan/otp_8577_re_pattern_doc' into devErlang/OTP
* pan/otp_8577_re_pattern_doc: Add documentation of what part of a re mp() can be used for guard tests OTP-8577 Document re_pattern properties Some properties of a compiled re pattern are defined to allow for guard tests.
2010-06-03Merge branch 'pan/otp_8611_standard_io' into devErlang/OTP
* pan/otp_8611_standard_io: Teach file:write/read/read_line about named io_servers OTP-8611 file:write,read and read_line on named io_device() The file module's functions write,read and read_line now handles named io_servers like 'standard_io' and 'standard_error' correctly.
2010-06-03Merge branch 'pan/unregister_error' into devErlang/OTP
* pan/unregister_error: Add possibly missing process lock before unregistering oneself Keep process lock over trace of unregister OTP-8663 Unregister may crash VM Extreme combinations of register/unregister in a highly parallell SMP application could crash the VM. The error is corrected.
2010-06-03Merge branch 'pan/otp_8086_ms_grammar' into devErlang/OTP
* pan/otp_8086_ms_grammar: Add match_specification grammar documentation specifically for ets OTP-8086 Grammar for match specification describes tracing only The grammar for match specifications in ERTS users guide only described the tracing dialect of match specifications. An informal grammar for the ETS dialect is added.
2010-06-03Merge branch 'pan/otp_3626_win_find_executable' into devErlang/OTP
* pan/otp_3626_win_find_executable: Teach os.erl to find executable names with extension (i.e. .exe) on windows OTP-3626 os:find_executable bug on Windows os:find_executable can now be fed with the complete name of the executable on Windows and still find it. I.e os:find_executable("werl.exe") will work as os:find_executable("werl").
2010-06-03Fixed a bug in the spec which caused dsa parameters to be lost in the ↵Dan Gudmundsson
certificates.
2010-06-02OTP-8529: Raise condition processing repliesMicael Karlberg
2010-06-02OTP-8634: Pending counter raise condition.Micael Karlberg
2010-06-02Update preloaded modulesPatrik Nyblom
2010-06-02Update primary bootstrapPatrik Nyblom
2010-06-02Remove outcommented code from erl_lintPatrik Nyblom
2010-06-02Make port_command/3 auto-importedPatrik Nyblom
2010-06-02Remove (harmless) warnings about min/max in core applicationsPatrik Nyblom
2010-06-02Autoimport min/2 and max/2Patrik Nyblom
2010-06-02Improve coverage of erl_int in testcasesPatrik Nyblom
2010-06-02Change warning to error for nowarn_bif_clash compiler directivePatrik Nyblom