- 
    Enhancement 
- 
    Resolution: Fixed
- 
     P4 P4
- 
    None
- 
    9 
- 
        b81
- 
        generic
- 
        generic
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build | 
|---|---|---|---|---|---|---|
| JDK-8142259 | emb-9 | Attila Szegedi | P4 | Resolved | Fixed | team | 
| JDK-8140988 | 8u91 | Attila Szegedi | P4 | Resolved | Fixed | b01 | 
| JDK-8136618 | 8u72 | Attila Szegedi | P4 | Closed | Fixed | b01 | 
| JDK-8147357 | emb-8u91 | Attila Szegedi | P4 | Resolved | Fixed | b01 | 
                    Symbol tables (and symbols themselves) are mutable in Nashorn at the moment. They're the last mutable piece of AST. We should make them immutable; this would allow moving SYMBOL_ASSIGNMENT_PHASE and compilation phases into COMPILE_UPTO_SERIALIZABLE phase group, before SERIALIZE_SPLIT_PHASE. That in turn would allow us to keep ASTs weakly reachable and reuse them in optimistic recompilations as only OPTIMISTIC_TYPE_ASSIGNMENT_PHASE and LOCAL_VARIABLE_TYPE_CALCULATION_PHASE would need to be re-run. That could cut down on compilation cost significantly as we would need to reparse much less frequently while doing deoptimizing recompilation.
            
- backported by
- 
                    JDK-8140988 Ensure symbol table immutability in Nashorn AST -           
- Resolved
 
-         
- 
                    JDK-8142259 Ensure symbol table immutability in Nashorn AST -           
- Resolved
 
-         
- 
                    JDK-8147357 Ensure symbol table immutability in Nashorn AST -           
- Resolved
 
-         
- 
                    JDK-8136618 Ensure symbol table immutability in Nashorn AST -           
- Closed
 
-         
- duplicates
- 
                    JDK-8013860 Need Block.putSymbol to be copy on write -           
- Closed
 
-         
- relates to
- 
                    JDK-8134292 Enable caching of eager pre-pass AST -           
- Closed
 
-         
             (1 relates to)