aboutsummaryrefslogtreecommitdiff
path: root/src/buildvm_fold.c
diff options
context:
space:
mode:
authorMike Pall <mike>2010-12-31 01:00:54 +0100
committerMike Pall <mike>2010-12-31 01:00:54 +0100
commit65b194a2f89eb315029724af56354bb527021192 (patch)
treed932b57effed9283029f49f8ec82b3182d615cc0 /src/buildvm_fold.c
parentdc4b82c33d04930bbc2e54673ebea41ffa3368fc (diff)
downloadluajit-65b194a2f89eb315029724af56354bb527021192.tar.gz
luajit-65b194a2f89eb315029724af56354bb527021192.tar.bz2
luajit-65b194a2f89eb315029724af56354bb527021192.zip
Copy destination type for CONV from ir->t to op2, too.
Diffstat (limited to 'src/buildvm_fold.c')
-rw-r--r--src/buildvm_fold.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/buildvm_fold.c b/src/buildvm_fold.c
index eaca067f..468e5300 100644
--- a/src/buildvm_fold.c
+++ b/src/buildvm_fold.c
@@ -110,6 +110,14 @@ static uint32_t nexttoken(char **pp, int allowlit, int allowany)
110 for (i = 0; ircall_names[i]; i++) 110 for (i = 0; ircall_names[i]; i++)
111 if (!strcmp(ircall_names[i], p+7)) 111 if (!strcmp(ircall_names[i], p+7))
112 return i; 112 return i;
113 } else if (allowlit && !strncmp(p, "IRCONV_", 7)) {
114 for (i = 0; irt_names[i]; i++)
115 if (!strncmp(irt_names[i], p+7, 3) && p[10] == '_') {
116 uint32_t j;
117 for (j = 0; irt_names[j]; j++)
118 if (!strncmp(irt_names[j], p+11, 3))
119 return (i << 5) + j;
120 }
113 } else if (allowlit && *p >= '0' && *p <= '9') { 121 } else if (allowlit && *p >= '0' && *p <= '9') {
114 for (i = 0; *p >= '0' && *p <= '9'; p++) 122 for (i = 0; *p >= '0' && *p <= '9'; p++)
115 i = i*10 + (*p - '0'); 123 i = i*10 + (*p - '0');