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

Reply via email to