Commit Graph

121 Commits

Author SHA1 Message Date
Dmitry Bushev
c64298cb8e
Send Method Call Updates After Popping the Frame (#1060)
PR introduces the MetodCallsCache created per frame execution, meaning
that it is not persisted in between the runs. The cache tracks which
calls have been fired during the program execution (and sent as a
notification to the user). When the program finishes, we compute the set
of calls that have not been executed and send them to the user as well.

- add: MethodCallsCache temporary storage tracking the executed method
  calls
- add: sendMethodCallUpdates flag enabling sending all the method calls
  of the frame as a value updates
2020-08-05 13:07:26 +03:00
Dmitry Bushev
467d13a9e7
Update Runtime Notifications API (#1055)
Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-08-04 12:31:56 +02:00
Dmitry Bushev
ef165e4f23
Emit value updates only on change (#1051) 2020-08-03 15:38:39 +01:00
Marcin Kostrzewa
bd027e46bc
Early constructor resolution & import-loops immune compiler (#1048) 2020-07-31 21:20:43 +02:00
Dmitry Bushev
cd6858a01e
Revert expressionId removal from value update (#1043) 2020-07-30 10:26:14 +01:00
Dmitry Bushev
2f9e7f51af
Handle Rename Command Properly (#1041)
In the current workflow, at first, the default Unnamed project is
created, and the Suggestions database is populated with entries from the
Unnamed.* modules. When the user changes the name of the project, we
should update all modules in the Suggestion Database with the new
project name.

This PR implements module renaming in the Suggestions database and fixes
the initialization issues.

- add: search/invalidateSuggestionsDatabase JSON-RPC command that resets
  the corrupted Suggestions database
- update: SuggestionsHandler to rename the modules in the
  SuggestionsDatabase when the project is renamed
- fix: MainModule initialization
2020-07-29 14:51:00 +03:00
Dmitry Bushev
45d75536aa
Wait for Suggestions Database Initialization (#1025) 2020-07-22 17:12:52 +03:00
Marcin Kostrzewa
6137c6559b
Method naming fixes (#1024) 2020-07-22 12:01:35 +02:00
Dmitry Bushev
ded61865a4
Fix the search/getSuggestionsDatabase API (#1021) 2020-07-21 23:15:14 +03:00
Ara Adkins
f5ffbe8fa7
Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00
Dmitry Bushev
30d136a141
Integration with the Searcher Database (#994) 2020-07-20 11:00:49 +03:00
Marcin Kostrzewa
40f44b5b9e
Test Framework for Enso (#998) 2020-07-16 15:53:27 +02:00
Marcin Kostrzewa
be43737a34
Layered State Monad (#991) 2020-07-13 17:00:15 +02:00
Dmitry Bushev
6ba038c800
Implement Search Requests API (#953) 2020-07-06 16:55:21 +03:00
Radosław Waśko
001509b3b8
Fix missing warning for unused arguments (#960) 2020-07-02 13:39:42 +02:00
Łukasz Olczak
a8293eb3a0
Support for Project Renaming (#929) 2020-07-01 15:55:50 +02:00
Radosław Waśko
cf0c735e91
Java 11 Migration (#928) 2020-07-01 13:21:13 +02:00
Marcin Kostrzewa
510d9e4a2d
Implement Interop Library for Unresolved Symbols (#952) 2020-06-30 11:33:31 +02:00
Ara Adkins
e9b676834b
Bump the SBT and Scala versions (#948)
1.  This PR also re-enables windows CI.
2020-06-29 18:24:41 +01:00
Marcin Kostrzewa
b135615670
Benchmarking Utilities (#951) 2020-06-29 17:01:20 +02:00
Radosław Waśko
595003e965
Fix documentation metadata getting lost (#946) 2020-06-29 16:36:44 +02:00
Marcin Kostrzewa
368a1547bb
Interpreter Performance Improvements (#950) 2020-06-29 16:11:03 +02:00
Radosław Waśko
0e139ee42a
Fix unbalanced parentheses parse error (#937) 2020-06-25 16:32:05 +02:00
Marcin Kostrzewa
0b9558d962
Standard Library Nodes DSL (#932) 2020-06-24 19:02:42 +02:00
Dmitry Bushev
9ba1aa6d34
Implement the Suggestions Database (#846) 2020-06-23 11:26:05 +03:00
Marcin Kostrzewa
af786bb1de
Booleans support (#856) 2020-06-19 16:27:41 +02:00
Marcin Kostrzewa
1b1d465bd7
Fix uncached versions of the function call flow. (#844) 2020-06-19 15:15:43 +02:00
Ara Adkins
478ade7cd6
Update the scalafmt version (#854)
1.  This new version will automatically format documentation comments.
2020-06-19 13:45:01 +01:00
Ara Adkins
2f404b7f08
Fix a bug with compiler metadata (#838)
1.  The metadata objects weren't being duplicated when duplicating
    the IR. This meant that the later passes would write metadata
    multiples times into one store (reference), causing wrong
    behaviour at codegen time.
2020-06-16 13:52:11 +01:00
Łukasz Olczak
1f46a3f9a1
Introduce Threaded Executions to the Runtime Server Instrument (#807) 2020-06-16 13:16:07 +02:00
Ara Adkins
dd0f93c328
Add support for writing type signatures (#833)
1.  Adds support for type signature syntax.
2.  Lifts the type operators into metdata.
3.  Uses the signatures to determine arg suspension.
2020-06-15 17:45:14 +01:00
Radosław Waśko
1a6449d329
Migrate the REPL to the New Server (#827)
Also add language stack traces to the REPL.
2020-06-15 13:06:20 +02:00
Radosław Waśko
af8b5f88cf
Implement debbuger server in the instrument (#822) 2020-06-09 16:23:52 +02:00
Dmitry Bushev
2a3ec07c87
Runtime Cache Integration Part 2 (#800) 2020-06-04 20:25:23 +03:00
Dmitry Bushev
7f1f484ada
Runtime Cache Integration (#788)
* add: CachePreferenceAnalysis

* add: enable runtime cache

* doc: update commands

* misc: scalafmt

* misc: reword changeset warning

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>

* misc: extra line

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>

* misc: dot

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>

* misc: redundant newline

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>

* misc: redundant newline

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>

* doc: update CacheInvalidation

* update: IRPass

* misc: scalafmt

* doc: remove inheritdoc

* update: simplify cache preference pass

* doc: scaladoc

* doc: typo

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>

* update: assign weights to all nodes

* add: update visualisations without recomputing

* remove: cache preference metadata from local scope

* add: execute frame with own cache

* doc: typo

* add: store enterables in cache

* Revert "add: store enterables in cache"

This reverts commit eb6a6c7b657bff0c5489822ec1d56356c5458ab9.

* add: instrument return after capture function call

* misc: refactoring

* refactor: rename stackTop

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-06-04 19:00:59 +03:00
Ara Adkins
918bf18b9c
Support nested patterns in pattern matches (#803) 2020-06-04 13:16:33 +01:00
Marcin Kostrzewa
cd8726c2b5
Fix interrupts test for CI (#806) 2020-06-04 13:51:25 +02:00
Marcin Kostrzewa
7e7e3da7b4
Add safepoint manager for tracking thread interrupts (#805) 2020-06-03 21:41:48 +02:00
Marcin Kostrzewa
e2bac23e26
Handles disable and doc comments (#780) 2020-05-27 14:59:23 +02:00
Ara Adkins
2fdd053fd3
Register and verify dependencies between passes (#786) 2020-05-27 10:24:32 +01:00
Dmitry Bushev
d68b3414b0
Implement the Runtime Cache (#778) 2020-05-26 21:37:08 +03:00
Łukasz Olczak
806bf9dcb7
Introduce Threaded Executions to the Runtime Server Instrument - Part 1 (#781) 2020-05-26 17:37:54 +02:00
Ara Adkins
5420ca9482
Bump GraalVM to 20.1 (#775) 2020-05-21 11:46:06 +01:00
Ara Adkins
9a59c80e8b
Support complex type definitions (#773) 2020-05-20 16:42:23 +01:00
Marcin Kostrzewa
64e3f07903
Auto-imported Std Lib and File Operations Cleanup (#771) 2020-05-20 17:05:22 +02:00
Ara Adkins
a2fe01d399
Add syntax sugar for method/function defs (#765) 2020-05-19 15:43:36 +01:00
Ara Adkins
ad9eb285fa
Implement print_err and readln (#754) 2020-05-15 16:21:39 +01:00
Josef
81bde28589
Assign a UUID to Each AST Node (#738) 2020-05-15 13:43:07 +02:00
Dmitry Bushev
4c3b80cfe3
Add Error Handling to Execution Context (#742)
* add: error handling to execution context

* update: error handling

* add: logging

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-05-14 18:48:44 +03:00
Ara Adkins
3fcffc77e2
Add hacky syntactic support for unary negation (#746) 2020-05-14 13:03:09 +01:00