diff options
author | Mike Pall <mike> | 2010-12-31 01:00:54 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-12-31 01:00:54 +0100 |
commit | 65b194a2f89eb315029724af56354bb527021192 (patch) | |
tree | d932b57effed9283029f49f8ec82b3182d615cc0 /src/buildvm_fold.c | |
parent | dc4b82c33d04930bbc2e54673ebea41ffa3368fc (diff) | |
download | luajit-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.c | 8 |
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'); |