SOMns icon indicating copy to clipboard operation
SOMns copied to clipboard

Async Stack Traces 2022

Open smarr opened this issue 1 year ago • 0 comments

@Marmat21 I hope it's ok for you to document this based on your notes:

""" Main change: make SOMns tests pass when async stack traces are enabled (aka make async stack traces work across several language constructs) + add native support for promise groups.

As described above, the main changes in this branch involve passing the correct async stack trace entry in the right spot. This entailed many changes in many spots of the interpreter making sure that assertion would not be broken.

On the SOMns side, I added some tests for the async stack traces in the core-lib/TestSuite/AsyncStackTracesTest.ns. This cover testing the presence of certain methods across promised execution, forked execution, and asynchronous calls in actors. Tests use a new primitive (asyncTrace) to retrieve the async trace at a certain moment. This is a bit of a hack but it was the only way to make this work from the SOMns point of view.

I also added native support for promise groups through an actor primitive (actorsChainPromise:with:) which implements the creation of a promise group. Minimal testing for this is in the same file indicated above. """

smarr avatar Dec 22 '22 09:12 smarr