enso/engine
Hubert Plociniczak 0402e8bafb
Ensure compilation is run with a compilation lock (#8395)
Evaluating visualization expression may trigger a full compilation. A change in #7042 went a bit too far and led to a situation when there could be compilations running at the same time leading to a rather obscure `RedefinedMethodException` when the compilation on one thread already finished. This will make the logic correct again at the price of potentially slowing the processing of visualization.

Closes #8296.

# Important Notes
Should make visualizations a bit more stable as well.
2023-11-27 14:01:23 +00:00
..
interpreter-dsl-test/src/test/java/org/enso/interpreter/dsl/test Use TruffleLogger bound to the engine to prevent illegal usage (#8169) 2023-10-31 08:53:05 +00:00
language-server Don't NPE on op ._ when translating tree to IR (#8381) 2023-11-23 19:56:56 +00:00
launcher/src Upgrade enso to GraalVM for jdk 21 (#7991) 2023-11-17 18:02:36 +00:00
polyglot-api/src Report failures when upserting visualizations (#8306) 2023-11-20 11:38:51 +00:00
runner Add Chrome devtools and DAP tools for debugging (#8344) 2023-11-22 17:18:41 +00:00
runtime Rewriting MetadataStorage into Java (#8366) 2023-11-27 13:55:40 +01:00
runtime-compiler/src/main Rewriting MetadataStorage into Java (#8366) 2023-11-27 13:55:40 +01:00
runtime-instrument-common/src Ensure compilation is run with a compilation lock (#8395) 2023-11-27 14:01:23 +00:00
runtime-instrument-id-execution/src/main/java/org/enso/interpreter/instrument Avoid NPE during instrumentation (#8317) 2023-11-17 14:38:27 +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 Fix initialization race-condition in runtime connector (#7985) 2023-10-13 10:03:27 +00:00
runtime-language-epb/src/main/java/org/enso/interpreter/epb Ensure compilation is run with a compilation lock (#8395) 2023-11-27 14:01:23 +00:00
runtime-parser/src Rewriting MetadataStorage into Java (#8366) 2023-11-27 13:55:40 +01:00
runtime-with-instruments/src Upgrade enso to GraalVM for jdk 21 (#7991) 2023-11-17 18:02:36 +00:00
runtime-with-polyglot/src/test Report failures when upserting visualizations (#8306) 2023-11-20 11:38:51 +00: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.