summaryrefslogtreecommitdiff
path: root/lib/debugger
Commit message (Collapse)AuthorAgeFilesLines
* Prepare releaseErlang/OTP2023-03-062-1/+15
|
* Update copyright yearErlang/OTP2023-03-061-1/+1
|
* dialyzer_dataflow: Fix bug in bind_checked_inf/4John Högberg2022-12-211-0/+1
| | | | | | | | | | | | | | | | | | `unit` can't be bound any more than `none` can. This resulted in slightly improved analysis in some cases, taking notice of more functions in OTP that lacked a local return, so I've added specs to those functions in order to silence the warnings. The pattern for that is: ```erlang try function_that_returns_unit() catch _:_ -> error(xyz) end ``` Previously, this expression was treated as returning unit() even though it could only ever return none(), as the wrapped function would never return.
* Merge branch 'deterministic-build' of https://github.com/TD5/otp into maintBjörn Gustavsson2022-06-291-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | * 'deterministic-build' of https://github.com/TD5/otp: make: Allow OTP to be built deterministically compiler: Make test_lib robust to +deterministic compiler: Make compiler forward +determinsitic flag to epp compiler: Make yecc respect +deterministic compiler: Make leex respect +deterministic compiler: Make asn1ct_gen respect +deterministic compiler: Make EPP respect +deterministic OTP-18165
| * make: Allow OTP to be built deterministicallyTom Davies2022-06-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a --enable-deterministic-build to the configure script, which sets ERL_DETERMINISTIC=yes throughout the relevant Makefiles, which then invoke the relevant build stages with the +deterministic option. This addresses absolute paths being included in generated .erl files and compiled .beam files that resulted in builds from different source directories generating different artefacts (which is a component of the issue in erlang#4482). I think it would make sense to make this the default at some stage, but I've put the change behind a flag for now to decouple making deterministic OTP builds possible from making them the default. Having +deterministic set results in compiler options being removed from the module info for modules where this options was used. This may have other implications for users of OTP. For tests themselves, +determinism is not set, since many test cases depend on accessing the test module's compilation options, or other features not available in deterministic mode, in order to configure themselves. For tests of the determinism feature specifically, +deterministic must be explicitly passed to the compiler within the relevant test cases.
* | Prepare releaseErlang/OTP2022-05-172-1/+24
|/
* Revert "Prepare release"Henrik Nord2022-04-132-24/+1
| | | | This reverts commit a2c8df222e6d02fa518d5d6cbbea75a9dd720d30.
* Prepare releaseErlang/OTP2022-04-112-1/+24
|
* Revert "Prepare release"Henrik Nord2022-03-242-24/+1
| | | | This reverts commit 435bc5e68dd45ff6f7992077998930519208e910.
* Prepare releaseErlang/OTP2022-03-232-1/+24
|
* Update copyright yearErlang/OTP2022-03-231-1/+1
|
* Merge branch 'maint' into masterHenrik Nord2022-03-102-1/+17
|\ | | | | | | | | | | | | * maint: Updated OTP version Prepare release Update copyright year
| * Prepare releaseErlang/OTP2022-03-092-1/+17
| |
| * Update copyright yearErlang/OTP2022-03-092-2/+2
| |
* | Revert "Prepare release"Henrik Nord2022-02-162-24/+1
| | | | | | | | This reverts commit 95f5a792610ed4c87457863cb03b047414ad4a14.
* | Prepare releaseErlang/OTP2022-02-152-1/+24
| |
* | Update copyright yearErlang/OTP2022-02-157-7/+7
| |
* | Merge pull request #5631 from josevalim/jv-eval-external-fun-handler-annoBjörn Gustavsson2022-02-111-6/+3
|\ \ | | | | | | | | | | | | Pass Anno to ExternalFunctionHandler in erl_eval OTP-17925
| * | Pass Anno to ExternalFunctionHandler in erl_evalJosé Valim2022-02-081-6/+3
| | | | | | | | | | | | | | | | | | | | | This allows code using `erl_eval` to provide better stacktraces if desired. For this purpose, we also make sure all errors raised from `erl_eval` pass through the ExternalFunctionHandler.
* | | Merge branch 'maint'Dan Gudmundsson2022-01-262-2/+5
|\ \ \ | | |/ | |/|
| * | debugger: Fix record index matchingDan Gudmundsson2022-01-252-2/+5
| | | | | | | | | | | | | | | | | | index_expr needs to be translated before returned. Fixes #5571
* | | otp: Fix `make TYPE=$TYPE` to work for all typesLukas Larsson2022-01-213-3/+3
| |/ |/|
* | Merge pull request #5493 from josevalim/jv-no-value-triplet-masterJohn Högberg2021-12-171-23/+9
|\ \ | | | | | | Remove undocumented {value, Value, Ann} in erl_eval
| * | Remove undocumented {value, Value, Ann} in erl_evalJosé Valim2021-12-141-23/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The shell relies on an implicit contract with erl_eval where value triplet is allowed. Unfortunately, to support this, evaluating anonymous functions would require a look-ahead traversal to hide any value triplet from erl_lint and this affected performance negatively. This patch removes this undocumented contract and removes the lookahead. To address this, we took different approaches: 1. v(N) was expanded to a value before evaluated. Now, we process and validate the arguments, but communicate with the shell process to get the value, similar to how history() works 2. References, Ports, and PIDs were converted to variables and then replaced to values. Now, we expand `#PID<0.13.0>` into an expression such as `erlang:list_to_pid("#PID<0.13.0>").` 3. Finally, the prompt evaluation would use values, but it only had to pass `[{history,integer()}]`, which can be manually converted to AST With this change, evaluating anonymous functions in a loop gets considerably faster, up to 10% in a macro benchmark.
* | | Update copyright yearRickard Green2021-12-1611-11/+11
| | |
* | | Merge branch 'maint'Rickard Green2021-12-1530-30/+30
|\ \ \ | | |/ | |/| | | | | | | * maint: Update copyright year
| * | Update copyright yearRickard Green2021-12-1530-30/+30
| | |
* | | Merge branch 'lukas/kernel/xdg-erlang-config/OTP-17554/OTP-17821'Lukas Larsson2021-12-131-26/+31
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lukas/kernel/xdg-erlang-config/OTP-17554/OTP-17821: stdlib: Fix filename:basedir documentation erl_docgen: Better missing module fault indication debugger: Fix debugger settings to use XDG dialyzer: Place default plt in $XDG_CACHE_HOME stdlib: Search $XDG_CONFIG_HOME for .erlang.crypt kernel: Search $XDG_CONFIG_HOME for .erlang kernel: Search $XDG_CONFIG_HOME for erlang cookie
| * | | debugger: Fix debugger settings to use XDGLukas Larsson2021-12-061-26/+31
| | |/ | |/|
* | | Fix typos in lib/debuggerKian-Meng, Ang2021-12-1015-30/+30
|/ / | | | | | | Co-authored-by: Björn Gustavsson <bgustavsson@gmail.com>
* | stdlib: Optimize fun usageJohn Högberg2021-11-101-1/+1
|/ | | | | | Hoisting the fun check outside these loops lets us skip error checks on the fun calls themselves, which is very nice for functions like foldl/3.
* Prepare releaseErlang/OTP2021-09-172-1/+17
|
* test suites: replace ?t: with test_server:Maxim Fedorov2021-09-081-1/+0
| | | | | | Removing ?t retained for backward compatibility allows to search for test_server callsites easier. Replace ?t:fail and test_server:fail with ct:fail.
* debugger: Update runtime depsDan Gudmundsson2021-08-301-2/+2
| | | | | Required an update, the copied funcitonality uses a new function from erl_parse that is new.
* Fix keyboard shortcutsDan Gudmundsson2021-08-234-5/+10
| | | | | | Didn't not work, seems that stc is stealing keyboard presses, disable all stc keyboard shortcuts and make them explicit in menus and in buttons.
* Print recordsDan Gudmundsson2021-08-235-58/+204
| | | | Format module records in bindings area and in evaluator area.
* Interpret record updatesDan Gudmundsson2021-08-233-15/+407
| | | | | | | | | | | | | | | Before this commit, step or next over a record update required several clicks, since the record update is re-written to several expressions. Having to step several times for a record update is annoying. To be able to handle that, ieval needs to know when we update an record, thus iload can not use erl_expand_records:module/2 anymore. Therefore, much functionality has been directly copied from erl_expand_records to the iload module. erl_expand_records also re-wrote imported functions and translated bif calls to external erlang:bif calls, which have also been added to iload.
* Refactor expr translationsDan Gudmundsson2021-06-291-272/+276
|
* Prepare releaseErlang/OTP2021-05-102-1/+34
|
* Revert "Prepare release"Henrik Nord2021-04-212-34/+1
| | | | This reverts commit 221e41bd32e433f6e08bbfedb013fc49c9aa1283.
* Prepare releaseErlang/OTP2021-04-192-1/+34
|
* Revert "Prepare release"Henrik Nord2021-03-262-34/+1
| | | | This reverts commit 1cc1d15c4e54c1d9d8c34a4c66193a95b10c479a.
* Prepare releaseErlang/OTP2021-03-252-1/+34
|
* Eliminate warnings for underscore variables multiply boundBjörn Gustavsson2021-03-011-2/+2
|
* Inline funs that are immediately usedBjörn Gustavsson2021-02-251-2/+2
| | | | | | | | | | | | | | Funs can be used to hide local variables. Example: a() -> A = fun() -> A = 21, 2 * A end(), foo:bar(A). To avoid the slight runtime cost for such use of funs, teach the compiler to inline funs that are used only once immediately after creation. Resolves #4019.
* Revert "Prepare release"Henrik Nord2021-02-242-34/+1
| | | | This reverts commit bbc0f3386c2546af25936730742d8dee1664f1dd.
* Prepare releaseErlang/OTP2021-02-232-1/+34
|
* Merge pull request #2890 from josevalim/jv-float-16-supportJohn Högberg2021-02-191-1/+1
|\ | | | | | | | | Support IEEE 754-2008 16-bits floats in bitstrings OTP-17207
| * Support IEEE 754-2008 16-bit floats in bitstringsJosé Valim2021-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This format is often used with computer graphics and AI, also in cases where data is large enough that the decreased bandwidth and storage compensates the loss of precision. The _Float16 data type is defined in the C11 extension ISO/IEC TS 18661-3:2015. Recent compilers and platforms provide support for it and recent CPUs provide specific instruction sets for them too. In some, _Float16 is storage only, which is enough for our use cases. If _Float16 is not available, functions for conversion from float to half-floats are used, ported from https://github.com/Maratyszcza/FP16.
* | Quote source as part of error messagesRichard Carlsson2021-02-081-1/+1
|/ | | | | Can be suppressed with the 'brief' compiler option. Moves message formatting code to a separate module.