Commit Graph

188 Commits

Author SHA1 Message Date
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
Ara Adkins
89706e2969
Analyse dependencies for external idents (#743) 2020-05-13 16:33:42 +01:00
Dmitry Bushev
e3e38c6b15
Use the Text Diff to Work Out the Changeset (#736)
* add: compute diff changeset

* test: try fixing windows

* fix: lines warning

* upd: operate on CharSequence

* misc: cleanup
2020-05-12 18:48:20 +03:00
Marcin Kostrzewa
e8ede5114e
Syntactic Java integration (#739) 2020-05-12 16:40:03 +02:00
Marcin Kostrzewa
dd5993d7ff
List Literals (#728) 2020-05-12 13:34:16 +02:00
Marcin Kostrzewa
40d62c882d
Java and Polyglot utility functions (#723) 2020-05-07 15:38:21 +02:00
Dmitry Bushev
ded8d22f43
refactor: fix typo interpeter (#718) 2020-05-07 07:56:04 +03:00
Ara Adkins
ea23cf6fbc
Add sections, underscore args and ignores (#716) 2020-05-06 19:00:03 +01:00
Łukasz Olczak
29190f8339
Truffle Integration for the Binary Protocol (#711) 2020-05-06 14:23:00 +02:00
Dmitry Bushev
7c7bd3e6ae
Add PoC of Caching Injection to IdExecutionInstrument (#709)
* add: impl setOverride

* rem: ValueOverrideInstrument

* debug: clean CI cache

* Revert "debug: clean CI cache"

This reverts commit ad08edd7456a74f210e5544fb5e6e1723cc649bb.

* upd: remove binding from IdExecutionListener

* update: val instrument

* remove: global value from instrument

* cleanup

* Revert "cleanup"

This reverts commit 329822d7d853d808e0869517992ea810f2d1784d.

* Revert "remove: global value from instrument"

This reverts commit 4cff1abe84eade5ae8c4e126c2324d6e942e0be8.

* add: cache to Handler
2020-05-05 18:34:21 +03:00
Marcin Kostrzewa
1c8600e53f
Fix polymorphic frame slot writes (#710) 2020-05-05 14:28:58 +02:00
Ara Adkins
a68c59344b
Fix miscellaneous bugs, refactoring (#705) 2020-05-01 21:25:48 +01:00
Ara Adkins
50e307e6ee
Bump scalac version to 2.13.2 (#703) 2020-04-30 20:30:55 +01:00
Ara Adkins
90d85fc810
Implement lambda consolidation (#701) 2020-04-30 15:58:45 +01:00
Dmitry Bushev
7e48e82dbc
Send Information About Function Calls (#696)
* Add Module reference to ModuleScope

* add: function call info

* add: impl getQualifiedName

* misc: cleanup

* add qualifiedName field

* upd: extend ClosureRootNode constructor

* misc: simplify
2020-04-29 18:56:03 +03:00
Marcin Kostrzewa
1254920482
fix double-eval of this arguments (#700) 2020-04-29 16:59:07 +02:00
Marcin Kostrzewa
d03a5a9dde
Stopgap JSON serialization for Enso objects (#698) 2020-04-29 11:23:46 +02:00
Marcin Kostrzewa
4ba26a3034
Compile Error Handling (#687) 2020-04-28 14:03:33 +02:00
Ara Adkins
92d8393495
Remove non-working caches from CI (#674) 2020-04-24 17:33:27 +01:00
Ara Adkins
9013407091
Implement dataflow analysis for Enso (#673) 2020-04-23 16:25:39 +01:00
Dmitry Bushev
9fcef233a8
Add: executionContext/recompute command (#669)
* add: executionContext/recompute

* doc: review comments
2020-04-23 15:13:02 +03:00
Dmitry Bushev
a10e37342b
Execution Context Integration with Text Change Events (#668)
* add: notifications to CollaborativeBuffer

* impl: trigger re-execution on file notifications

* add: file notifications test

* doc: update

* update: don't re-execute on file open

* fix: typo

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-04-22 21:11:30 +03:00
Marcin Kostrzewa
9020008bc2
String concat and string conversion functions (#667) 2020-04-21 16:27:05 +02:00
Marcin Kostrzewa
e2d901fb68
Module file operations through execution server (#660) 2020-04-20 14:33:51 +02:00
Dmitry Bushev
75f25b66db
Integrate the LS with context management (#657) 2020-04-17 17:31:12 +01:00
Dmitry Bushev
86fdc07ce0
Run scalafmt after updating its version (#661) 2020-04-17 17:05:56 +01:00
Ara Adkins
16b24d58e7
Implement demand analysis (#658) 2020-04-17 12:12:28 +01:00
Ara Adkins
8a99415a30
Fix warnings, docs, and repo structure (#651) 2020-04-14 17:00:51 +01:00
Ara Adkins
875190d7a9
Remove some compilation warnings 2020-04-14 11:56:13 +01:00
Dmitry Bushev
76faaaabcd
Add executionContext push & pop commands (#637)
* add: executionContext/push

* add: executionContext/pop

* add: stack to engine handler

* misc: cleanup

* misc: update error handling

* misc: cleanup
2020-04-09 16:29:14 +03:00
Marcin Kostrzewa
23f7797632
Language Execution Service (#642)
* Execution service

* fix language server

* cr feedbakz

Co-authored-by: Ara Adkins <iamrecursion@users.noreply.github.com>
2020-04-09 15:02:12 +03:00
Dmitry Bushev
dc58fc6b2a
Add executionContext/destroy (#634)
* add: executionContext/destroy

* remove: ExecutionProtocol

* refactor: UnhandledLogging

* add: custom errors

* refactor: runtime errors
2020-04-06 14:15:50 +03:00
Dmitry Bushev
a0d68eca37
Add executionContext/create command (#632)
* WIP Context

* test: executionContext/create

* misc: scalafmt

* add: requestId

* doc: update

* update: routing

* misc: cleanup

* doc: update

* fix: runtime

* fix: runtime tests

* add: message envelope

* refactor: remove ContextManager

* refactor: correlationId
2020-04-02 16:58:32 +03:00
Marcin Kostrzewa
bf758ebc6d
Thread IDs through the compiler pipelines (#627) 2020-03-26 11:59:50 +01:00
Ara Adkins
2c1d967dd6
Extract remaining analyses from codegen (#616) 2020-03-24 10:28:03 +00:00
Ara Adkins
b6221e519a
Implement explicit alias analysis (#613) 2020-03-20 08:01:03 +00:00
Marcin Kostrzewa
ed7c7c75f9
Execution context management (#611) 2020-03-19 12:29:11 +01:00
Marcin Kostrzewa
4b3943ce9b
Create a server instrument for language server <> runtime communications (#602) 2020-03-12 18:32:21 +01:00
Josef
c2df4e7957
Store idmap with metadata in source file. (#586) 2020-03-11 21:13:23 +01:00
Ara Adkins
23d33c4438
Desugar operators to functions (#581) 2020-03-06 15:23:39 +00:00
Rostyslav Zatserkovnyi
dfb4ec43ac
Update GraalVM to 20.0.0 (#576) 2020-03-06 13:40:29 +00:00
Ara Adkins
fa845ee4c6
Convert the compiler pipeline to scala (#563) 2020-03-02 12:33:28 +00:00
Ara Adkins
e8fcb445be
Clean up the stopgap IR (#521) 2020-02-19 14:41:17 +00:00
Ara Adkins
adf5fe7db2
Add more in-depth tests to core (#489) 2020-02-14 16:29:24 +00:00
Dmitry Bushev
8d8e95e14a
Update to scala 2.13.1 (#481) 2020-02-13 14:33:39 +00:00
Ara Adkins
9dee1911f8
Add smart constructors for the core nodes (#480) 2020-02-13 09:52:05 +00:00
Ara Adkins
ba84ee7e6e
Implement the primitive core entities (#463) 2020-01-31 16:58:35 +00:00
Marcin Kostrzewa
a2703bb296
Language Server files interface (#462) 2020-01-29 16:17:36 +01:00
Ara Adkins
053df2ac2b
Upgrade the graph macros (#456) 2020-01-24 18:56:52 +00:00
Marcin Kostrzewa
3b29bc3483 Add value caching for nodes (#438) 2020-01-22 17:04:55 +00:00
Marcin Kostrzewa
e80667a487
Function call instrumentation (#433) 2020-01-21 15:01:52 +01:00
Marcin Kostrzewa
37e383b430
Polyglot API & module-level expression eval (#424) 2020-01-10 15:53:46 +01:00
Marcin Kostrzewa
05118016e1
Implement value extraction from scopes (#419) 2020-01-07 17:38:49 +01:00
Marcin Kostrzewa
4f177aa0f5
Fix uncached flows, refactor and document the function call flow (#417) 2020-01-07 13:39:07 +01:00
Marcin Kostrzewa
1eed651728
Interpreter lifecycle & Module changes (#414) 2019-12-20 16:02:34 +01:00
Ara Adkins
c3acc5c615
Complete AST to AstExpression translation (#374) 2019-12-06 19:22:20 +00:00
Marcin Kostrzewa
2b8af07148
Fix jupyter & tweak stacktrace elements & pretty printer (#373) 2019-12-06 12:58:20 +01:00
Ara Adkins
db4cbacec3
Add suspended blocks, fix thunk performance (#371)
This commit adds support for suspended blocks in the interpreter and also fixes 
a major performance issue with nested thunks that was causing quadratic 
evaluation time.
2019-12-04 16:00:53 +00:00
Marcin Kostrzewa
c7b3d31415
Source locations in Truffle nodes (#368) 2019-12-02 19:41:46 +01:00
Michał Wawrzyniec Urbańczyk
47f9a4889c
Scala AST refactoring (#360)
A new implementation of Scala AST, as described in #352.
2019-12-02 14:30:37 +01:00
Ara Adkins
ed5786d99e
Add pattern matching and lazy arguments (#365)
Add new syntax support for the above constructs.
2019-12-02 11:59:45 +00:00
Marcin Kostrzewa
6bc14a3b9f Add a tiny subset of nodelocs (#364) 2019-11-29 12:36:48 +00:00
Ara Adkins
9a4332108f
Add lambdas, types, and methods support to new syntax (#358) 2019-11-27 11:32:36 +00:00
Marcin Kostrzewa
85272edcb0
Graal upgrade to 19.3.0 (#350) 2019-11-22 16:38:31 +01:00
Ara Adkins
b91ab25fdb
Translate arith expressions using the new parser (#346) 2019-11-20 09:18:53 +00:00
Marcin Kostrzewa
427e784663
Repl & Debugger (#345) 2019-11-19 16:16:58 +01:00
Marcin Kostrzewa
51d66cdef6
Jupyter bindings (#335) 2019-11-18 14:36:03 +01:00
Ara Adkins
22aa4efda8
Add a low-level graph library (#334) 2019-11-18 11:18:16 +00:00
Marcin Kostrzewa
0ec41b5bbd
String literals, caller frame access, eval function (#333) 2019-11-15 15:49:57 +01:00
Josef
8da25bec2d
Text AST Reimplementation. (#327) 2019-11-14 13:55:45 +01:00
Marcin Kostrzewa
3929b3f72c
Implement call strategy controls and a functional if statement. (#328) 2019-11-13 12:27:52 +01:00
Ara Adkins
bfe81a731f
Reorganise repo for further development (#308) 2019-11-08 17:32:48 +00:00