You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
They were created to hack javac, who insist on "captured variables must be final or effectively final", while these local vars are re-assigned in the pattern matching code, so javac rejects them. But this is not a limitation of the JVM itself, and since we're generating bytecode directly, we should flatten these MutableSeq onto the stack.
The text was updated successfully, but these errors were encountered:
In the JIT-compiled defs.
Right now we generate these
MutableSeq
to store some local variables of typeTerm
:https://gist.github.com/ice1000/70fd92ce92bd744c663e4f7e81d61192#file-_baka-java-L529
But they can be replaced with stack variables.
They were created to hack javac, who insist on "captured variables must be final or effectively final", while these local vars are re-assigned in the pattern matching code, so javac rejects them. But this is not a limitation of the JVM itself, and since we're generating bytecode directly, we should flatten these
MutableSeq
onto the stack.The text was updated successfully, but these errors were encountered: