summaryrefslogtreecommitdiff
path: root/src/lj_parse.c
diff options
context:
space:
mode:
authorMike Pall <mike>2011-11-20 19:14:39 +0100
committerMike Pall <mike>2011-11-20 19:16:40 +0100
commitcecbe3c15fc62921098f3468b9de86cf0b631b9e (patch)
treed1b18c59652a3e163ce050e58b7b647fdf312271 /src/lj_parse.c
parentcc7a12be93660677a5128124c11c68127cfe33eb (diff)
downloadluajit-cecbe3c15fc62921098f3468b9de86cf0b631b9e.tar.gz
luajit-cecbe3c15fc62921098f3468b9de86cf0b631b9e.tar.bz2
luajit-cecbe3c15fc62921098f3468b9de86cf0b631b9e.zip
Specialize to prototype for non-monomorphic functions.
Solves the trace-explosion problem with closure-heavy programming.
Diffstat (limited to 'src/lj_parse.c')
-rw-r--r--src/lj_parse.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_parse.c b/src/lj_parse.c
index f0bb4419..4b8a8e6f 100644
--- a/src/lj_parse.c
+++ b/src/lj_parse.c
@@ -1392,7 +1392,7 @@ static GCproto *fs_finish(LexState *ls, BCLine line)
1392 pt->gct = ~LJ_TPROTO; 1392 pt->gct = ~LJ_TPROTO;
1393 pt->sizept = (MSize)sizept; 1393 pt->sizept = (MSize)sizept;
1394 pt->trace = 0; 1394 pt->trace = 0;
1395 pt->flags = fs->flags; 1395 pt->flags = (uint8_t)(fs->flags & ~(PROTO_HAS_RETURN|PROTO_FIXUP_RETURN));
1396 pt->numparams = fs->numparams; 1396 pt->numparams = fs->numparams;
1397 pt->framesize = fs->framesize; 1397 pt->framesize = fs->framesize;
1398 setgcref(pt->chunkname, obj2gco(ls->chunkname)); 1398 setgcref(pt->chunkname, obj2gco(ls->chunkname));