-
Notifications
You must be signed in to change notification settings - Fork 323
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable caching in visualization functions #3618
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am surprised there is a change needed in the engine. Especially the change in callArguments
in FunctionCallInstrumentationNode
is surprising.
...truments/src/test/scala/org/enso/interpreter/test/instrument/RuntimeVisualizationsTest.scala
Show resolved
Hide resolved
...guage-server/src/main/scala/org/enso/languageserver/runtime/VisualisationConfiguration.scala
Show resolved
Hide resolved
...untime/src/main/java/org/enso/interpreter/node/callable/FunctionCallInstrumentationNode.java
Show resolved
Hide resolved
engine/runtime/src/main/java/org/enso/interpreter/service/ExecutionService.java
Show resolved
Hide resolved
engine/runtime/src/main/java/org/enso/interpreter/service/ExecutionService.java
Show resolved
Hide resolved
engine/runtime/src/main/scala/org/enso/interpreter/instrument/job/UpsertVisualisationJob.scala
Show resolved
Hide resolved
| y = x + 1 | ||
| encode y | ||
| | ||
|""".stripMargin.linesIterator.mkString("\n") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|""".stripMargin.linesIterator.mkString("\n") | |
|""".stripMargin |
isn't this bit spurious? This is equivalent, right?
Pull Request Description
PR allows to attach metod pointers as a visualization expressions. This way it allows to attach a runtime instrument that enables caching of intermediate expressions.
Important Notes
ℹ️ API is backward compatible.
To attach the visualization with caching support, the same
executionContext/attachVisualisation
method is used, butVisualisationConfig
message should contain the message pointer.While
VisualisationConfiguration
message has changed, the language server accepts both new and old formats to keep visualisations working in IDE.Old format
New format
Checklist
Please include the following checklist in your PR:
Scala,
Java,
and
Rust
style guides.
If GUI codebase was changed: Enso GUI was tested when built using BOTH
./run ide dist
and./run ide watch
.