summaryrefslogtreecommitdiff
path: root/src/lj_opt_dce.c
diff options
context:
space:
mode:
authorMike Pall <mike>2010-01-26 21:49:04 +0100
committerMike Pall <mike>2010-01-26 21:49:04 +0100
commit67ca399a30cec05acacd7ea33d5cb0e361f92755 (patch)
tree335806ea53e2f98a71eb2395baa1d3d7bea352ae /src/lj_opt_dce.c
parente058714a2e3745a819b77e6b50551e423897026a (diff)
downloadluajit-67ca399a30cec05acacd7ea33d5cb0e361f92755.tar.gz
luajit-67ca399a30cec05acacd7ea33d5cb0e361f92755.tar.bz2
luajit-67ca399a30cec05acacd7ea33d5cb0e361f92755.zip
Compress snapshots using a simple, extensible 1D-compression.
Typically reduces storage overhead for snapshot maps by 60%. The extensible format is a prerequisite for the next redesign steps: Eliminate IR_FRAME and implement return-to-lower-frame.
Diffstat (limited to 'src/lj_opt_dce.c')
-rw-r--r--src/lj_opt_dce.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lj_opt_dce.c b/src/lj_opt_dce.c
index 636d5183..90e81526 100644
--- a/src/lj_opt_dce.c
+++ b/src/lj_opt_dce.c
@@ -24,9 +24,9 @@ static void dce_marksnap(jit_State *J)
24 for (i = 0; i < nsnap; i++) { 24 for (i = 0; i < nsnap; i++) {
25 SnapShot *snap = &J->cur.snap[i]; 25 SnapShot *snap = &J->cur.snap[i];
26 SnapEntry *map = &J->cur.snapmap[snap->mapofs]; 26 SnapEntry *map = &J->cur.snapmap[snap->mapofs];
27 BCReg s, nslots = snap->nslots; 27 MSize n, nent = snap->nent;
28 for (s = 0; s < nslots; s++) { 28 for (n = 0; n < nent; n++) {
29 IRRef ref = snap_ref(map[s]); 29 IRRef ref = snap_ref(map[n]);
30 if (!irref_isk(ref)) 30 if (!irref_isk(ref))
31 irt_setmark(IR(ref)->t); 31 irt_setmark(IR(ref)->t);
32 } 32 }