enso/engine
Hubert Plociniczak ff7e31c237
Reducing memory leaks in runtime-integration-tests (#10793)
Inspired by the revert done in https://github.com/enso-org/enso/pull/10778, started looking into apparent memory leaks in `runtime-integration-tests`, written in Java.

Initial state:
![Screenshot from 2024-08-09 14-36-29](https://github.com/user-attachments/assets/39abd48f-503b-49d8-af97-da051352c70d)

After:
![Screenshot from 2024-08-12 16-33-40](https://github.com/user-attachments/assets/2bf4cc2d-7e0e-4d22-8810-c2e7e5c3b065)

# Important Notes
Some remaining issues:
- [ ] [TCK tests](https://github.com/enso-org/enso/tree/develop/engine/runtime-integration-tests/src/test/java/org/enso/interpreter/test/tck) appear to have some memory leaks but we are essentially enabling them via simple inheritance
- [ ] [RuntimeManagementTest](https://github.com/enso-org/enso/blob/develop/engine/runtime-integration-tests/src/test/scala/org/enso/interpreter/test/semantic/RuntimeManagementTest.scala) appears to be broken as it doesn't seem to shutdown properly created threads:
![Screenshot from 2024-08-12 16-29-09](https://github.com/user-attachments/assets/d90aca62-0562-4287-88b7-6d4719e5cf50)

Leaving this for now, as it will probably need to be taken care by initial authors of those tests, if possible. Plus this PR leaves tests in a much better state than before.
2024-08-13 08:01:31 +00:00
..
common/src/main/java/org/enso/common Revert "Import all available libraries in --repl mode (#10746)" (#10778) 2024-08-09 14:38:05 +02:00
interpreter-dsl-test/src/test/java/org/enso/interpreter/dsl/test WithWarnings uses EnsoHashMap to speed things up (#10555) 2024-08-07 15:29:57 +00:00
language-server Propagate FS errors when creating a new project (#10708) 2024-08-05 10:58:03 +00:00
launcher/src Relative paths are relative to current project locally and in Cloud (#10660) 2024-07-31 09:43:17 +00:00
polyglot-api/src Revert "Import all available libraries in --repl mode (#10746)" (#10778) 2024-08-09 14:38:05 +02:00
polyglot-api-macros/src/main/scala/org/enso/polyglot/macros Replace Jackson serde (#10035) 2024-06-11 15:03:12 +00:00
runner Revert "Import all available libraries in --repl mode (#10746)" (#10778) 2024-08-09 14:38:05 +02:00
runner-common/src/main ContextFactory reused to initialize language-server context (#10670) 2024-07-29 09:49:14 +02:00
runtime Reducing memory leaks in runtime-integration-tests (#10793) 2024-08-13 08:01:31 +00:00
runtime-benchmarks/src/main WithWarnings uses EnsoHashMap to speed things up (#10555) 2024-08-07 15:29:57 +00:00
runtime-compiler/src Reducing memory leaks in runtime-integration-tests (#10793) 2024-08-13 08:01:31 +00:00
runtime-fat-jar/src/main/java ydoc-server is a separate module (#10156) 2024-06-07 12:56:42 +02:00
runtime-instrument-common/src WithWarnings uses EnsoHashMap to speed things up (#10555) 2024-08-07 15:29:57 +00:00
runtime-instrument-id-execution/src/main/java/org/enso/interpreter/instrument Instrumentation, visualization and autoscoped constructors (#9452) 2024-04-03 12:14:23 +00:00
runtime-instrument-repl-debugger/src/main/java/org/enso/interpreter/instrument Introducing engine/runtime-compiler project (#8197) 2023-11-01 12:42:34 +01:00
runtime-instrument-runtime-server/src/main/java/org/enso/interpreter/instrument Towards simplifying runtime-compiler dependencies (#8894) 2024-04-25 10:03:42 +02:00
runtime-integration-tests/src/test Reducing memory leaks in runtime-integration-tests (#10793) 2024-08-13 08:01:31 +00:00
runtime-language-arrow/src Implement and benchmark ArrowOperationPlus node (#10150) 2024-06-11 12:50:59 +00:00
runtime-language-epb/src Atom constructors can be private (#9692) 2024-04-29 14:43:18 +02:00
runtime-parser/src Implement full new-lambda syntax (#10756) 2024-08-06 17:02:32 +00:00
runtime-suggestions/src/main/scala/org/enso/compiler/suggestions Extension methods can be exported by name (#10274) 2024-06-25 12:08:22 +00:00
runtime-test-instruments/src/main/java Binary operator resolution based on that value (#8779) 2024-01-27 08:38:47 +01:00
README.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00

The Enso Engine

The Enso engine is the codebase responsible for compiling and executing Enso code, as well as providing language server functionality to users of the language. It is subdivided into two major components:

  • Language Server: The Enso language service.
  • Polyglot API: The truffle-boundary safe API for communication between the language server and the runtime.
  • Runner: The command-line interface for Enso.
  • Runtime: The compiler and interpreter for Enso.