-
- Downloads
Add concurrent attribute evaluation
Added the --concurrent option to generate thread-safe attribute evaluation code. Added possibility to parallelize collection attributes using annotations. The @Parallel annotation causes the collection phase to be parallelized, and the @ParallelSurvey annotation causes the survey phase to be parallelized. The number of threads used in parallel collection attribute evaluation is controlled using the --num_threads option. Changes in attribute evaluation: * The Object.equals(Object) method is now used to compare NTA values for equality in fixed-point computations instead of the generated ASTNode.is$Equal() method. This gives more flexibility for users to use their own equality tests. It also means that is$Equal() can be removed. Other changes: * Added ASTNode.resetState() to reset the global AST state. This is needed in concurrent mode when multiple thread-local state instances can exist. * Added constructor to the Trace class taking a trace receiver as argument.
Showing
- ChangeLog 9 additions, 0 deletionsChangeLog
- src/jastadd/ast/Annotations.jrag 3 additions, 1 deletionsrc/jastadd/ast/Annotations.jrag
- src/jastadd/ast/CollectionAttributes.jrag 25 additions, 2 deletionssrc/jastadd/ast/CollectionAttributes.jrag
- src/jastadd/ast/Flush.jrag 8 additions, 1 deletionsrc/jastadd/ast/Flush.jrag
- src/jastadd/ast/JragCodeGen.jrag 66 additions, 8 deletionssrc/jastadd/ast/JragCodeGen.jrag
- src/jastadd/ast/Rewrites.jrag 14 additions, 3 deletionssrc/jastadd/ast/Rewrites.jrag
- src/jastadd/core/TemplateUtil.jrag 8 additions, 0 deletionssrc/jastadd/core/TemplateUtil.jrag
- src/java/org/jastadd/Configuration.java 24 additions, 1 deletionsrc/java/org/jastadd/Configuration.java
- src/java/org/jastadd/JastAddTask.java 8 additions, 0 deletionssrc/java/org/jastadd/JastAddTask.java
- src/template/ast/ASTNode.tt 45 additions, 5 deletionssrc/template/ast/ASTNode.tt
- src/template/ast/Collections.tt 9 additions, 5 deletionssrc/template/ast/Collections.tt
- src/template/ast/CopyNode.tt 3 additions, 0 deletionssrc/template/ast/CopyNode.tt
- src/template/ast/State.tt 268 additions, 4 deletionssrc/template/ast/State.tt
- src/template/concurrent/Attributes.tt 346 additions, 0 deletionssrc/template/concurrent/Attributes.tt
- src/template/concurrent/Circular.tt 263 additions, 0 deletionssrc/template/concurrent/Circular.tt
- src/template/concurrent/Collections.tt 198 additions, 0 deletionssrc/template/concurrent/Collections.tt
- src/template/concurrent/Flush.tt 82 additions, 0 deletionssrc/template/concurrent/Flush.tt
- src/template/concurrent/InheritedAttributes.tt 65 additions, 0 deletionssrc/template/concurrent/InheritedAttributes.tt
- src/template/concurrent/Trace.tt 169 additions, 0 deletionssrc/template/concurrent/Trace.tt
- src/template/trace/Tracer.tt 11 additions, 0 deletionssrc/template/trace/Tracer.tt
Loading
Please register or sign in to comment