aboutsummaryrefslogtreecommitdiff
path: root/fallback.h
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>1997-04-24 19:59:57 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>1997-04-24 19:59:57 -0300
commit369dd65318488ca888fc76c5667be3a713257aa6 (patch)
treebb9e5d6abc397d44b1e9bf8b3d21bcf663fe4f5e /fallback.h
parent209602ac31512c9f201d11edca6fe7aa368b85a4 (diff)
downloadlua-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.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/fallback.h b/fallback.h
index 00d23625..12c82702 100644
--- a/fallback.h
+++ b/fallback.h
@@ -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
39extern struct IM {
40 TObject int_method[IM_N];
41} *luaI_IMtable;
42
38extern char *luaI_eventname[]; 43extern 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
41void luaI_setfallback (void); 48void luaI_setfallback (void);
42int luaI_ref (TObject *object, int lock); 49int luaI_ref (TObject *object, int lock);
@@ -47,10 +54,8 @@ char *luaI_travfallbacks (int (*fn)(TObject *));
47 54
48void luaI_settag (int tag, TObject *o); 55void luaI_settag (int tag, TObject *o);
49void luaI_realtag (int tag); 56void luaI_realtag (int tag);
50TObject *luaI_getim (int tag, IMS event);
51#define luaI_getimbyObj(o,e) (luaI_getim(luaI_tag(o),(e)))
52TObject *luaI_geterrorim (void); 57TObject *luaI_geterrorim (void);
53int luaI_tag (TObject *o); 58int luaI_efectivetag (TObject *o);
54void luaI_settagmethod (void); 59void luaI_settagmethod (void);
55void luaI_gettagmethod (void); 60void luaI_gettagmethod (void);
56void luaI_seterrormethod (void); 61void luaI_seterrormethod (void);