2017-01-26 8:11 GMT+01:00 Clément Bera <bera.clem...@gmail.com>: > The "CAN'T REACH" comment is there because execution never reach that part > of the code. If you write code there, it will never be executed. The > process code performs a return without pushing any value on stack. >
Sorry Clement, maybe I am stupid but it is not clear for me. If I put halt after "CAN'T REACH" I got debugger which means that it "can reach". Maybe by "CAN'T REACH" you mean that any return value will not be used? But it is not true: if I return something it will be result of original assignment expression. But as you said it could crash VM. > > Signalling an error is safe if the error is never resumed. But you'll need > the returnNoValue for performance intensive modification tracking. > Do you have reproducible test case to crash VM when #attemptToAssign is badly implemented? It will help for framework implementation and would be nice description for method. In comment we can point to it. Because this magic with forking process is very confusing. Also I not get your "returnNoValue" sentence.