Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Reserved Keyword

"next" is a reserved keyword for phasers. The frontend will throw an error whenever a local or a field is name next.

IN clause

  • Pitfall: It is forbidden to pass addresses of locals on stack to an async IN clause
  • Solutions: 
    • Use the OUT clause
    • Pass a pointer to a data-structure allocated on the heap

...

Code Block
// Legal code: a single IN clause, that takes a list several arguments
async IN(a,b) OUT(x) { code }

// Invalid example => Compile time error (two IN clauses specified)
async IN(a) IN(b) OUT(x) { code }

OUT clause

  • Pitfall: OUT variables are guaranteed to have been written back only after the enclosing finish scope is finished

...