enso icon indicating copy to clipboard operation
enso copied to clipboard

Upgrade to GraalVM 22.1.0

Open JaroslavTulach opened this issue 3 years ago • 4 comments

Pull Request Description

Upgrading to GraalVM 22.1.0. Mostly fixes related to removal of FrameSlot.

Important Notes

LazyBodyNode is not used right now.

Checklist

Please include the following checklist in your PR:

  • [ ] The documentation has been updated if necessary.
  • [ ] All code conforms to the Scala, Java, and Rust style guides.
  • All code has been tested:
    • [ ] Unit tests have been written where possible.
    • [ ] If GUI codebase was changed: Enso GUI was tested when built using BOTH ./run ide build and ./run ide watch.

JaroslavTulach avatar Aug 23 '22 07:08 JaroslavTulach

CI run shows that the DebuggingEnsoTest is failing. Local variables aren't visible as the default visualization doesn't work for int based variable indexes. That's going to take a time, but it is an opportunity to display variable values properly.

JaroslavTulach avatar Aug 23 '22 09:08 JaroslavTulach

Formatting CI check seems to be using GraalVM 21.3 instead of 22.1. Ccing @mwu-tow ...

JaroslavTulach avatar Aug 23 '22 09:08 JaroslavTulach

CI run shows that the DebuggingEnsoTest is failing. Local variables aren't visible as the default visualization doesn't work for int based variable indexes. That's going to take a time, but it is an opportunity to display variable values properly.

Right. The reason why this particular test does not work is that the default implementation of NodeLibrary ( DefaultfNodeExports$DefaultScope.readMember ) reads only auxiliary slots from the frame, but ignores all the indexed slots. For, now deprecated, FrameSlot it was OK, because the default implementation just traversed all the FrameSlots. We have to correctly implement this behavior by exporting scope messages from NodeLibrary in BaseNode or ExpressionNode. The getScope message would return a TruffleObject representing a scope that would export all member and scope messages from InteropLibrary, where there are parent scopes, among other things.

I suggest we ignore, or provide a quick fix, for this test for now, and create a follow-up issue to implement variable displaying in the Truffle debugger properly.

jtulach avatar Aug 23 '22 12:08 jtulach

@JaroslavTulach

Formatting CI check seems to be using GraalVM 21.3 instead of 22.1. Ccing @mwu-tow ...

The workflow has hardcoded GraalVM version, it needs to be bumped as well.

You don't need to do this for my build-script-based workflows, as the build script parses build.sbt to figure out proper GraalVM version.

mwu-tow avatar Aug 23 '22 13:08 mwu-tow

Checking the failures is see two:

Great job! Looks like you'll be able to merge soon.

JaroslavTulach avatar Nov 16 '22 08:11 JaroslavTulach