Skip to content
Snippets Groups Projects
Commit b15bdaa6 authored by Jesper's avatar Jesper
Browse files

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.
parent d2ea60cc
No related branches found
No related tags found
Loading
Showing
with 1624 additions and 30 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment