-
Enhancement
-
Resolution: Fixed
-
P4
-
None
-
None
-
None
-
generic
-
generic
We should make AST classes immutable, with a copy-on-write semantics. Benefits include:
- structural sharing of catch/finally blocks (and finally blocks on return/break/continue)
- structural sharing of AST across type-specialized versions of functions. Aside from reducing footprint and avoiding eager cloning, it also gives us the peace of mind that a previous type-specialized codegen pipeline on the same AST didn't somehow corrupt the state of the AST.
- structural sharing of catch/finally blocks (and finally blocks on return/break/continue)
- structural sharing of AST across type-specialized versions of functions. Aside from reducing footprint and avoiding eager cloning, it also gives us the peace of mind that a previous type-specialized codegen pipeline on the same AST didn't somehow corrupt the state of the AST.
- duplicates
-
JDK-8010701 Immutable IR - part 2
- Resolved