diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-04-24 19:59:57 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-04-24 19:59:57 -0300 |
| commit | 369dd65318488ca888fc76c5667be3a713257aa6 (patch) | |
| tree | bb9e5d6abc397d44b1e9bf8b3d21bcf663fe4f5e /fallback.h | |
| parent | 209602ac31512c9f201d11edca6fe7aa368b85a4 (diff) | |
| download | lua-369dd65318488ca888fc76c5667be3a713257aa6.tar.gz lua-369dd65318488ca888fc76c5667be3a713257aa6.tar.bz2 lua-369dd65318488ca888fc76c5667be3a713257aa6.zip | |
small optimization in the access to i.m. table.
Diffstat (limited to 'fallback.h')
| -rw-r--r-- | fallback.h | 13 |
1 files changed, 9 insertions, 4 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: fallback.h,v 1.21 1997/04/02 23:04:12 roberto Exp roberto $ | 2 | ** $Id: fallback.h,v 1.22 1997/04/04 22:24:51 roberto Exp roberto $ |
| 3 | */ | 3 | */ |
| 4 | 4 | ||
| 5 | #ifndef fallback_h | 5 | #ifndef fallback_h |
| @@ -35,8 +35,15 @@ typedef enum { | |||
| 35 | 35 | ||
| 36 | #define IM_N 18 | 36 | #define IM_N 18 |
| 37 | 37 | ||
| 38 | |||
| 39 | extern struct IM { | ||
| 40 | TObject int_method[IM_N]; | ||
| 41 | } *luaI_IMtable; | ||
| 42 | |||
| 38 | extern char *luaI_eventname[]; | 43 | extern char *luaI_eventname[]; |
| 39 | 44 | ||
| 45 | #define luaI_getim(tag,event) (&luaI_IMtable[-(tag)].int_method[event]) | ||
| 46 | #define luaI_getimbyObj(o,e) (luaI_getim(luaI_efectivetag(o),(e))) | ||
| 40 | 47 | ||
| 41 | void luaI_setfallback (void); | 48 | void luaI_setfallback (void); |
| 42 | int luaI_ref (TObject *object, int lock); | 49 | int luaI_ref (TObject *object, int lock); |
| @@ -47,10 +54,8 @@ char *luaI_travfallbacks (int (*fn)(TObject *)); | |||
| 47 | 54 | ||
| 48 | void luaI_settag (int tag, TObject *o); | 55 | void luaI_settag (int tag, TObject *o); |
| 49 | void luaI_realtag (int tag); | 56 | void luaI_realtag (int tag); |
| 50 | TObject *luaI_getim (int tag, IMS event); | ||
| 51 | #define luaI_getimbyObj(o,e) (luaI_getim(luaI_tag(o),(e))) | ||
| 52 | TObject *luaI_geterrorim (void); | 57 | TObject *luaI_geterrorim (void); |
| 53 | int luaI_tag (TObject *o); | 58 | int luaI_efectivetag (TObject *o); |
| 54 | void luaI_settagmethod (void); | 59 | void luaI_settagmethod (void); |
| 55 | void luaI_gettagmethod (void); | 60 | void luaI_gettagmethod (void); |
| 56 | void luaI_seterrormethod (void); | 61 | void luaI_seterrormethod (void); |
