unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* re: Guile 1.8 and 86_64 gcc 4
@ 2006-04-14 14:31 Bill Schottstaedt
  0 siblings, 0 replies; 4+ messages in thread
From: Bill Schottstaedt @ 2006-04-14 14:31 UTC (permalink / raw)


One more bit of info.  The only change needed to get the build
to run to completion is to set SCM_DEBUG_CELL_ACCESSES to 1.
The resultant guile also runs without stack overflow.



_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel


^ permalink raw reply	[flat|nested] 4+ messages in thread

* re: Guile 1.8 and 86_64 gcc 4
@ 2006-04-14 15:58 Bill Schottstaedt
  0 siblings, 0 replies; 4+ messages in thread
From: Bill Schottstaedt @ 2006-04-14 15:58 UTC (permalink / raw)


Or even simpler, just change the SCM_VALIDATE_CELL definition in
gc.h to:

#define SCM_VALIDATE_CELL(cell, expr) (scm_remember_upto_here(cell), (expr))

This is kinda fun!



_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel


^ permalink raw reply	[flat|nested] 4+ messages in thread

* re: Guile 1.8 and 86_64 gcc 4
@ 2006-04-14 18:18 Bill Schottstaedt
  2006-04-15  0:57 ` Kevin Ryde
  0 siblings, 1 reply; 4+ messages in thread
From: Bill Schottstaedt @ 2006-04-14 18:18 UTC (permalink / raw)


Actually the only cases that need the check are SCM_CELL_OBJECT_1 and
SCM_SET_CELL_OBJECT_0.  But perhaps there's some way to embed that
asm business (in gc.h) into the SCM_VALIDATE_CELL macro.
I haven't used "asm" before, but here's a suggestion that seems to work:

  #define SCM_VALIDATE_CELL(cell, expr) ({ __asm__ __volatile__ ("" : : "g" (cell)); expr; })




_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Guile 1.8 and 86_64 gcc 4
  2006-04-14 18:18 Bill Schottstaedt
@ 2006-04-15  0:57 ` Kevin Ryde
  0 siblings, 0 replies; 4+ messages in thread
From: Kevin Ryde @ 2006-04-15  0:57 UTC (permalink / raw)
  Cc: guile-devel

"Bill Schottstaedt" <bil@ccrma.Stanford.EDU> writes:
>
>   #define SCM_VALIDATE_CELL(cell, expr) ({ __asm__ __volatile__ ("" : : "g" (cell)); expr; })

The asm version of scm_remember_upto_here_1 could be made into an
expression like that "({...})", as opposed to the current "statement"
style, if that helped make it usable in macros like this.

But I don't quite follow why a remember would be wanted in
SCM_VALIDATE_CELL.  I'd have thought it was in fact a good thing if
the "cell" value went dead if not being checked.


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-04-15  0:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-14 15:58 Guile 1.8 and 86_64 gcc 4 Bill Schottstaedt
  -- strict thread matches above, loose matches on Subject: below --
2006-04-14 18:18 Bill Schottstaedt
2006-04-15  0:57 ` Kevin Ryde
2006-04-14 14:31 Bill Schottstaedt

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).