I've added a number of small tweaks to the changelist. 1) to reduce pressure on GDB now I emit ELF objects only for code that has a meaningful line information attached. Ryan's sample now starts in a reasonable amount of time.
2) I fixed a small bug in .debug_line section writer. But stepping through JS code still does not work. I also discovered that setting delayed breakpoint on the given line seems to be completely broken in GDB. 3) I added support for ELF64 objects. Unfortunately on x64 GDB can't unwind stack properly, so --gdbjit does not improve backtrace much: #0 baz () at test.js:10 #1 0x00007fffd30912aa in ?? () #2 0x00007ffff7f7eed1 in ?? () #3 0x0000000100000000 in ?? () #4 0x00007ffff7f7fcc1 in ?? () #5 0x0000000800000000 in ?? () #6 0x00007fffffffe048 in ?? () #7 0x00007fffd30acba9 in bar () at test.js:6 Backtrace stopped: frame did not save the PC I think this could be fixed by generating a proper .eh_frame section. -- Vyacheslav Egorov On Thu, Dec 30, 2010 at 1:25 PM, Vyacheslav Egorov <[email protected]>wrote: > Thanks for testing it Ryan! > > I fixed the release build. > > But it seems that GDB itself is not optimized to handle many small ELF > objects: I just commented calls to __jit_debug_register_code (leaving all > ELF generation in place) and everything started working fast. > > This is extremely disappointing. I'll see what I can do. > > -- > Vyacheslav Egorov > > > On Thu, Dec 30, 2010 at 5:53 AM, <[email protected]> wrote: > >> Tested in Node ( >> https://github.com/ry/node/commit/3f45187815ba043ef04b591da53d6cacb11937c1) >> and >> it seems to work. It's extremely slow though; like 5 minutes to start a >> hello >> world http server. Is it possible to run on non-debug builds? >> >> >> http://codereview.chromium.org/5965011/ >> > > -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
