Created attachment 597539[details][diff][review]
Patch v1
The argument should be converted to a boolean, but it is converted to an int32_t. This is observable from script by passing
{ valueOf: function() { throw "Error"; } }
This should simply be treated as true, but currently will (I believe) propagate the exception back to user code.
This should be tested in the conformance test suite, but I have no idea how to write a good test for this stuff. Benoit, could you perhaps have a look?