Status: New Owner: ---- New issue 295 by polarjs: ARM port: Function debug info include breaks at stubs though debug break code is not generated for it http://code.google.com/p/v8/issues/detail?id=295
On the ARM port, Debug::GenerateStubNoRegistersDebugBreak() has a comment that says to "Generate nothing as CodeStub CallFunction is not used on ARM." However, I found that when I try to exercise debugger functionality to step into a JS function, the following sequence of code will be executed in v8: Debug::FloodWithOneShot() calls BreakLocationIterator::SetOneShot() which calls BreakLocationIterator::SetDebugBreak() which calls Debug::FindDebugBreak(). I'm seeing that the first debug break point (operated on in FloodWithOneShot()) in any function that I'm trying to step into is always a stub i.e. code->kind() == Code::STUB. This causes FindDebugBreak() to return the code for Builtins::builtin(Builtins::StubNoRegisters_DebugBreak). However, this builtin "code" was never created by Debug::GenerateStubNoRegistersDebugBreak() because it is supposedly not needed. As a result, when exercising the debugger "step into" functionality, v8 crashes with a fault (usually an illegal instruction fault) when it steps into the non-existant debug break code for the stub. It looks like on the ARM port, the debug info that FloodWithOneShot() should not include stubs since Debug::GenerateStubNoRegistersDebugBreak() is not expecting to generate debug break code fragments for it. I tested a hack where I changed Debug::FloodWithOneShot() to simply skip the first debug break element and start iterating from the second. With this hack, v8 no longer faults. Please advise as to what the proper fix for this should be. Thanks. -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---