enso/engine
Dmitry Bushev 80317dc950
Eliminate scala.Some allocations (#11259)
close #10973

Changelog:
- update: `IR` interface add nullable `identifiedLocation()`, and create a `location()` getter
- update: IR nodes contain nullable `identifiedLocation` field
- update: persistence of `IdentifiedLocation` supports nullable values

# Important Notes
80% less allocations of `scala.Some`

#### Before

![2024-10-07-131421_1165x185_scrot](https://github.com/user-attachments/assets/1d84ef19-652c-4bef-8d7f-eed63a7b6b50)

#### After

![2024-10-07-131513_1163x186_scrot](https://github.com/user-attachments/assets/3d71a932-7861-4a97-bc84-eafc530dcce3)
2024-10-09 08:54:37 +00:00
..
common/src Fixing Enso projects classpath while updating to IGV 1.20 (#11195) 2024-10-01 13:48:50 +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 Eliminate Akka's shutdown hook (#11202) 2024-09-27 20:54:22 +02:00
launcher/src engine-runner and language-server are separate JPMS modules (#10823) 2024-09-25 21:33:13 +02:00
polyglot-api/src engine-runner and language-server are separate JPMS modules (#10823) 2024-09-25 21:33:13 +02:00
polyglot-api-macros/src/main engine-runner and language-server are separate JPMS modules (#10823) 2024-09-25 21:33:13 +02:00
runner Compute the exception message sooner than context is closed (#11241) 2024-10-07 14:26:40 +02:00
runner-common/src/main engine-runner and language-server are separate JPMS modules (#10823) 2024-09-25 21:33:13 +02:00
runtime Eliminate scala.Some allocations (#11259) 2024-10-09 08:54:37 +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 Eliminate scala.Some allocations (#11259) 2024-10-09 08:54:37 +00:00
runtime-instrument-common/src Eliminate scala.Some allocations (#11259) 2024-10-09 08:54:37 +00:00
runtime-instrument-id-execution/src/main/java engine-runner and language-server are separate JPMS modules (#10823) 2024-09-25 21:33:13 +02:00
runtime-instrument-repl-debugger/src/main/java engine-runner and language-server are separate JPMS modules (#10823) 2024-09-25 21:33:13 +02:00
runtime-instrument-runtime-server/src/main/java engine-runner and language-server are separate JPMS modules (#10823) 2024-09-25 21:33:13 +02:00
runtime-integration-tests/src/test Eliminate scala.Some allocations (#11259) 2024-10-09 08:54:37 +00:00
runtime-language-arrow/src Avoid dependency on org.graalvm.collections (#11107) 2024-09-17 11:25:18 +00:00
runtime-language-epb/src engine-runner and language-server are separate JPMS modules (#10823) 2024-09-25 21:33:13 +02:00
runtime-parser/src Eliminate scala.Some allocations (#11259) 2024-10-09 08:54:37 +00:00
runtime-suggestions/src/main Eliminate scala.Some allocations (#11259) 2024-10-09 08:54:37 +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.