I've not been playing close attention to parrot recently [Been busy hacking for the dark side :-)] I've just noticed that Leo added a check for whether the C compiler supports the inline keyword:
http://nntp.x.perl.org/group/perl.cvs.parrot/5176 PARROT_INLINE conditionally becomes either inline or "". A few parrot C files now have PARROT_INLINE static functions, which means that the inline is acting as a compiler optimiser hint, but only within the single source file. I was wondering whether it would be feasible to replace macros (some, most or even all) conditionally with inline functions if the inline keyword is available. This ought to make symbolic debugging easier. Debuggers don't understand macros, but ought to understand inline functions. ("ought" because I'm pretty sure it's not perfect yet, probably due to inline functions not having stack frames, and the debugging info expecting stack frames to hang off) But: 1: I'm not sure how easy this is logistically. We'd have to have some way of munging the C source to give one or the other 2: I'm not sure if inline functions have any downsides compared with macros, such as not always giving as good optimisations as macro-re-written code. Is this something worth taking further? (Ulterior motive - I'm curious whether doing this would also help perl 5) Nicholas Clark