Don't crash when creating backtrace for built-in JS function (2nd try)
Commit
147df10403ba280b3f04c1e3d6c4b1cf386abe5d did not quite
fix the issue; other places need the same checks.
When the JIT is enabled, frames for built-in JS host calls
(such as Array.prototype.forEach) are not fully initialized.
In particular, the CodeBlock register of such frames is not
set (see comment in JITCall.cpp).
We need to check if the codeBlock is actually valid before we
start using it.
This fixes the crash(es) but not the problem of actually getting
the arguments for such frames through the API. There's also a
related problem when a QtScript function (newFunction()) is called
as a callback of a built-in JS host function (QTBUG-17287).
These problems will go away once JavaScriptCore is updated to a
more recent version (4.8 at the earliest), since the
native-vs-script frame handling has been unified.
Task-number: QTBUG-17137
Reviewed-by: Olivier Goffart
(cherry picked from commit
640436345645b6cf6ff3334399f33c9d1c089492)