diff --git a/ase/stx/method.h b/ase/stx/method.h index 1c1b64aa..7f405d54 100644 --- a/ase/stx/method.h +++ b/ase/stx/method.h @@ -1,5 +1,5 @@ /* - * $Id: method.h,v 1.5 2005-08-18 15:28:18 bacon Exp $ + * $Id: method.h,v 1.6 2005-08-18 15:39:40 bacon Exp $ */ #ifndef _XP_STX_METHOD_H_ @@ -12,13 +12,25 @@ #define XP_STX_METHOD_SELECTOR 1 #define XP_STX_METHOD_BYTECODES 2 + +/* dolphin smalltalk's flags representation + 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 +------------------------------------------------------------------------------------------------- +| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 0| 1| | | | 0| 0| 0| 1| +------------------------------------------------------------------------------------------------- +\----------|-----------/ \----------|----------/ \---------|-----------/ | \---|--/ | + extraIndex arg Count temp Count | flags | + | | + Block flag SmallInteger flag" +*/ + struct xp_stx_method_t { xp_stx_objhdr_t header; xp_word_t text; xp_word_t selector; /* is this necessary? */ + xp_word_t flags; xp_word_t bytecodes; - xp_word_t temporaries; /* number of temporaries required */ xp_word_t literals[1]; };