-
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
Table of Persistance.Reference
at the end of the stream
#9972
Conversation
…cts at the end of the stream
lib/java/persistance/src/test/java/org/enso/persist/PersistanceTest.java
Outdated
Show resolved
Hide resolved
engine/runtime-parser/src/test/java/org/enso/compiler/core/IrPersistanceTest.java
Outdated
Show resolved
Hide resolved
…InPersistance9361
…handle cycles by itself
lib/java/persistance/src/main/java/org/enso/persist/PerBufferReference.java
Show resolved
Hide resolved
lib/java/persistance/src/main/java/org/enso/persist/PerGenerator.java
Outdated
Show resolved
Hide resolved
lib/java/persistance/src/main/java/org/enso/persist/PerInputImpl.java
Outdated
Show resolved
Hide resolved
lib/java/persistance/src/main/java/org/enso/persist/PerGenerator.java
Outdated
Show resolved
Hide resolved
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'm really really happy that the reference loops problems is finally getting addressed! ❤️ I will finally be able to proceed with #9361 :)
The logic for resolving the reference loops may not be the most complicated algorithm, but it is non-trivial enough that I think some comments on what was meant are needed - so that it is easier to understand the whole IR caching system that is getting more and more complex.
I'd also suggest considering moving the -1
reference reconstruction to write-time, not read-time, to make this part of algorithm more localized - thus easier to see 'in whole' at once and thus easier to understand.
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 have similar concerns as @radeusgd re lack of documentation for some magic values/array manipulation
lib/java/persistance/src/main/java/org/enso/persist/PerBufferReference.java
Show resolved
Hide resolved
Co-authored-by: Radosław Waśko <radoslaw.wasko@enso.org>
Thank you @radeusgd for pushing me towards better implementation. Namely, I am very satisfied with d0b0d16 it is clearly better and more easily understandable than the previous version. I believe this PR is ready for integration. |
Pull Request Description
Fixes #9361 by delaying storing of
Persistance.Reference
instances and creating their table at the end of the stream.Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:
Java,