Hi,
I've ported V8 to run on jailbroken iOS devices, where the only tricky part
is in ABI differences between AAPCS and iOS; most significantly the r9
register that is a volatile scratch register on iOS. I've been using this
port for a few years now, and it's only upon recently rebasing my patches
on top of upstream that I ran into a problem.
Basically this is the observed symptom:
try {
callNativeFunctionThatThrows();
} catch (e) {
// We get the exception, but even with an empty block the exception is
still propagated to the parent scope as if our try-catch wasn't there
}
However this works fine:
try {
callPureJSFunctionThatThrows();
} catch (e) {
// Exception is stopped here
}
Anyone familiar with the ARM backend, or the exception propagation, who
could point me in the right direction for debugging this?
I'm aware that iOS is not a supported platform, but I would really
appreciate any pointers about what to look out for.
Here's my patch for V8 as of April 1st:
https://github.com/frida/v8/commit/9a8c4b8165073025ab6dc90eddace2d36531968f
And the same patch rebased on top of the latest V8 master as of yesterday
(exhibiting the same problem):
https://github.com/frida/v8/commit/4ffb14a952c1fdafdac4407f0201b6e3bb426ba4
Cheers,
Ole André
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.