Comment 28 for bug 978060

Revision history for this message
Olivier Cozette (olivier-cozette) wrote :

The SIGSEGV in dvmInterpret() is in the jit code.
Most of the time the current JIT instruction is OP_IGET_OBJECT_QUICK (0xf4) or invoke-virtual-quick (0xf8).

In the first case, the object pointer can be 0x1 (r3 == 0x1 as it was in the stack of the interpreter), and so it SIGSEGV just after the checking if the pointer is NULL, while to access the field (r1 == 8).

In the second, the object pointer is valid (r9), so no problem with the check, but the clazz field is -1, so it SIGSEGV while accessing the vtable.