* master/vm merged into `boehm-demers-weiser-gc'
@ 2009-03-22 15:26 Ludovic Courtès
2009-03-22 18:22 ` Andy Wingo
0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2009-03-22 15:26 UTC (permalink / raw)
To: guile-devel
Hello Guilers!
The `master' branch (which contains the VM) was merged into the
`boehm-demers-weiser-gc' branch:
http://git.savannah.gnu.org/cgit/guile.git/commit/?h=boehm-demers-weiser-gc&id=d9e59f894e1b41958203ddda7f21f4817cfcfe37
I like the commit that immediately follows that:
http://git.savannah.gnu.org/cgit/guile.git/commit/?h=boehm-demers-weiser-gc&id=3d94d862f898929876aaa8ed2937347fa3ce7ec1
The interesting thing is that it actually works! :-)
And it was painless to merge, so thanks Git.
Happy hacking!
Ludo'.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: master/vm merged into `boehm-demers-weiser-gc'
2009-03-22 15:26 master/vm merged into `boehm-demers-weiser-gc' Ludovic Courtès
@ 2009-03-22 18:22 ` Andy Wingo
2009-03-23 9:54 ` Ludovic Courtès
0 siblings, 1 reply; 5+ messages in thread
From: Andy Wingo @ 2009-03-22 18:22 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guile-devel
Hi Ludo,
On Sun 22 Mar 2009 11:26, ludo@gnu.org (Ludovic Courtès) writes:
> The `master' branch (which contains the VM) was merged into the
> `boehm-demers-weiser-gc' branch:
Startup time seems to be the same, which is good. I don't know about
longer runs. I tried to run valgrind on Guile though and it segfaulted:
wingo@unquote:~/src/guile$ ./pre-inst-guile-env gdb --args valgrind --tool=callgrind --num-callers=100 libguile/.libs/lt-guile -c 1
GNU gdb Fedora (6.8-29.fc10)
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...
(gdb) r
Starting program: /usr/bin/valgrind --tool=callgrind --num-callers=100 libguile/.libs/lt-guile -c 1
Executing new program: /usr/lib/valgrind/x86-linux/callgrind
==23226== Callgrind, a call-graph generating cache profiler.
==23226== Copyright (C) 2002-2007, and GNU GPL'd, by Josef Weidendorfer et al.
==23226== Using LibVEX rev 1804, a library for dynamic binary translation.
==23226== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==23226== Using valgrind-3.3.0, a dynamic binary instrumentation framework.
==23226== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==23226== For more details, rerun with: -v
==23226==
==23226== For interactive control, run 'callgrind_control -h'.
Program received signal SIGSEGV, Segmentation fault.
0x62a880bd in ?? ()
(gdb) bt
#0 0x62a880bd in ?? ()
#1 0x62a82f38 in ?? ()
#2 0x00000001 in ?? ()
#3 0x00000025 in ?? ()
#4 0x387062bc in vgPlain_threads ()
#5 0x62a82f2c in ?? ()
#6 0x0062d8ab in ?? ()
#7 0x38037cb6 in run_thread_for_a_while () at m_scheduler/scheduler.c:636
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) c
Continuing.
Program received signal SIGSEGV, Segmentation fault.
0x62ac54bb in ?? ()
(gdb) c
Continuing.
Program received signal SIGSEGV, Segmentation fault.
0x62ad9d9f in ?? ()
(gdb) c
Continuing.
==23226==
==23226== Process terminating with default action of signal 11 (SIGSEGV)
==23226== Access not within mapped region at address 0xBF000000
==23226== at 0x4C091F8: GC_push_all_eager (in /usr/lib/libgc.so.1.0.3)
==23226== by 0x4C09243: GC_push_all_stack (in /usr/lib/libgc.so.1.0.3)
==23226== by 0x4C11F14: GC_push_all_stacks (in /usr/lib/libgc.so.1.0.3)
==23226== by 0x4C0D5D6: GC_default_push_other_roots (in /usr/lib/libgc.so.1.0.3)
==23226== by 0x4C0AFA4: GC_push_roots (in /usr/lib/libgc.so.1.0.3)
==23226== by 0x4C0A89B: GC_mark_some (in /usr/lib/libgc.so.1.0.3)
==23226== by 0x4C0226C: GC_stopped_mark (in /usr/lib/libgc.so.1.0.3)
==23226== by 0x4C024E8: GC_try_to_collect_inner (in /usr/lib/libgc.so.1.0.3)
==23226== by 0x4C0C52C: GC_init_inner (in /usr/lib/libgc.so.1.0.3)
==23226== by 0x4C0C656: GC_init (in /usr/lib/libgc.so.1.0.3)
==23226== by 0x4045D30: scm_storage_prehistory (gc.c:635)
==23226== by 0x4053773: scm_i_init_guile (init.c:432)
==23226== by 0x409C60C: scm_i_init_thread_for_guile (threads.c:670)
==23226== by 0x409C844: scm_i_with_guile_and_parent (threads.c:819)
==23226== by 0x409C99D: scm_with_guile (threads.c:801)
==23226== by 0x405361E: scm_boot_guile (init.c:354)
==23226== by 0x80487B1: main (guile.c:69)
==23226==
==23226== Events : Ir
==23226== Collected : 1893973
==23226==
==23226== I refs: 1,893,973
Program received signal SIGSEGV, Segmentation fault.
0x3802c142 in do_syscall_WRK ()
(gdb) c
Continuing.
Program terminated with signal SIGSEGV, Segmentation fault.
Andy
--
http://wingolog.org/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: master/vm merged into `boehm-demers-weiser-gc'
2009-03-22 18:22 ` Andy Wingo
@ 2009-03-23 9:54 ` Ludovic Courtès
2009-03-24 20:04 ` Neil Jerram
0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2009-03-23 9:54 UTC (permalink / raw)
To: guile-devel
Hey!
Andy Wingo <wingo@pobox.com> writes:
> Startup time seems to be the same, which is good.
I noticed that `subr.bm' runs noticeably faster:
* master
("subr.bm: subr invocation: simple subr" 700000 total 1.11)
("subr.bm: subr invocation: generic subr" 700000 total 1.26)
("subr.bm: subr invocation: generic subr with rest arg" 700000 total 1.38)
("subr.bm: subr invocation: generic subr with rest arg and 3+ parameters" 700000 total 1.82)
* bdw-gc
("subr.bm: subr invocation: simple subr" 700000 total 0.65)
("subr.bm: subr invocation: generic subr" 700000 total 0.77)
("subr.bm: subr invocation: generic subr with rest arg" 700000 total 0.77)
("subr.bm: subr invocation: generic subr with rest arg and 3+ parameters" 700000 total 1.03)
> I tried to run valgrind on Guile though and it segfaulted:
Yes, Valgrind can't cope with libgc, which is inconvenient.
Thanks,
Ludo'.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: master/vm merged into `boehm-demers-weiser-gc'
2009-03-23 9:54 ` Ludovic Courtès
@ 2009-03-24 20:04 ` Neil Jerram
2009-03-24 22:42 ` Ludovic Courtès
0 siblings, 1 reply; 5+ messages in thread
From: Neil Jerram @ 2009-03-24 20:04 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guile-devel
ludo@gnu.org (Ludovic Courtès) writes:
> Yes, Valgrind can't cope with libgc, which is inconvenient.
Interesting. That sounds like a shame, but actually I guess it's not
so bad because libgc will remove many of things that make valgrind of
interest to us. Also, in the last resort, we can contribute to
valgrind to solve the problems... yay free software!
Neil
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: master/vm merged into `boehm-demers-weiser-gc'
2009-03-24 20:04 ` Neil Jerram
@ 2009-03-24 22:42 ` Ludovic Courtès
0 siblings, 0 replies; 5+ messages in thread
From: Ludovic Courtès @ 2009-03-24 22:42 UTC (permalink / raw)
To: guile-devel
Hello,
Neil Jerram <neil@ossau.uklinux.net> writes:
> ludo@gnu.org (Ludovic Courtès) writes:
>
>> Yes, Valgrind can't cope with libgc, which is inconvenient.
>
> Interesting. That sounds like a shame, but actually I guess it's not
> so bad because libgc will remove many of things that make valgrind of
> interest to us.
It also makes it impossible to use Callgrind, Helgrind, etc., which is
unpleasant.
> Also, in the last resort, we can contribute to
> valgrind to solve the problems... yay free software!
Eh eh. :-)
I haven't checked whether others investigated this already.
Thanks,
Ludo'.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-03-24 22:42 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-22 15:26 master/vm merged into `boehm-demers-weiser-gc' Ludovic Courtès
2009-03-22 18:22 ` Andy Wingo
2009-03-23 9:54 ` Ludovic Courtès
2009-03-24 20:04 ` Neil Jerram
2009-03-24 22:42 ` Ludovic Courtès
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).