Bug
1843499 - Part 3: Add exception stack to finally. r=iain
Similar to the last part 2, re-throw the original stack trace in `finally`
blocks. This is implemented by changing `finally` blocks to push the exception
stack onto the value stack.
Using test262 assertions:
```
try {
assert.throws(TypeError, () => {}); // This is line 2.
} finally {
assert.sameValue(0, 0); // This is line 4. (End of finally block)
}
```
Before:
```
/tmp/a.js:4:10 uncaught exception: Test262Error: Expected a TypeError to be thrown but no exception was thrown at all
Stack:
@/tmp/a.js:4:10
```
Now:
```
/tmp/test262-assert.js:104:9 uncaught exception: Test262Error: Expected a TypeError to be thrown but no exception was thrown at all
Stack:
assert.throws@/tmp/test262-assert.js:104:9
@/tmp/a.js:2:10
```
Differential Revision: https://phabricator.services.mozilla.com/
D183564