Home | History | Annotate | Download | only in ic

Lines Matching refs:GENERATE

76     Isolate* isolate, void (*Generate)(Isolate*, const BinaryOpICState&)) {
81 #define GENERATE(op, left_kind, right_kind, result_kind, mode) \
88 Generate(isolate, state); \
90 GENERATE(Token::ADD, INT32, INT32, INT32, NO_OVERWRITE);
91 GENERATE(Token::ADD, INT32, INT32, INT32, OVERWRITE_LEFT);
92 GENERATE(Token::ADD, INT32, INT32, NUMBER, NO_OVERWRITE);
93 GENERATE(Token::ADD, INT32, INT32, NUMBER, OVERWRITE_LEFT);
94 GENERATE(Token::ADD, INT32, NUMBER, NUMBER, NO_OVERWRITE);
95 GENERATE(Token::ADD, INT32, NUMBER, NUMBER, OVERWRITE_LEFT);
96 GENERATE(Token::ADD, INT32, NUMBER, NUMBER, OVERWRITE_RIGHT);
97 GENERATE(Token::ADD, INT32, SMI, INT32, NO_OVERWRITE);
98 GENERATE(Token::ADD, INT32, SMI, INT32, OVERWRITE_LEFT);
99 GENERATE(Token::ADD, INT32, SMI, INT32, OVERWRITE_RIGHT);
100 GENERATE(Token::ADD, NUMBER, INT32, NUMBER, NO_OVERWRITE);
101 GENERATE(Token::ADD, NUMBER, INT32, NUMBER, OVERWRITE_LEFT);
102 GENERATE(Token::ADD, NUMBER, INT32, NUMBER, OVERWRITE_RIGHT);
103 GENERATE(Token::ADD, NUMBER, NUMBER, NUMBER, NO_OVERWRITE);
104 GENERATE(Token::ADD, NUMBER, NUMBER, NUMBER, OVERWRITE_LEFT);
105 GENERATE(Token::ADD, NUMBER, NUMBER, NUMBER, OVERWRITE_RIGHT);
106 GENERATE(Token::ADD, NUMBER, SMI, NUMBER, NO_OVERWRITE);
107 GENERATE(Token::ADD, NUMBER, SMI, NUMBER, OVERWRITE_LEFT);
108 GENERATE(Token::ADD, NUMBER, SMI, NUMBER, OVERWRITE_RIGHT);
109 GENERATE(Token::ADD, SMI, INT32, INT32, NO_OVERWRITE);
110 GENERATE(Token::ADD, SMI, INT32, INT32, OVERWRITE_LEFT);
111 GENERATE(Token::ADD, SMI, INT32, NUMBER, NO_OVERWRITE);
112 GENERATE(Token::ADD, SMI, NUMBER, NUMBER, NO_OVERWRITE);
113 GENERATE(Token::ADD, SMI, NUMBER, NUMBER, OVERWRITE_LEFT);
114 GENERATE(Token::ADD, SMI, NUMBER, NUMBER, OVERWRITE_RIGHT);
115 GENERATE(Token::ADD, SMI, SMI, INT32, OVERWRITE_LEFT);
116 GENERATE(Token::ADD, SMI, SMI, SMI, OVERWRITE_RIGHT);
117 GENERATE(Token::BIT_AND, INT32, INT32, INT32, NO_OVERWRITE);
118 GENERATE(Token::BIT_AND, INT32, INT32, INT32, OVERWRITE_LEFT);
119 GENERATE(Token::BIT_AND, INT32, INT32, INT32, OVERWRITE_RIGHT);
120 GENERATE(Token::BIT_AND, INT32, INT32, SMI, NO_OVERWRITE);
121 GENERATE(Token::BIT_AND, INT32, INT32, SMI, OVERWRITE_RIGHT);
122 GENERATE(Token::BIT_AND, INT32, SMI, INT32, NO_OVERWRITE);
123 GENERATE(Token::BIT_AND, INT32, SMI, INT32, OVERWRITE_RIGHT);
124 GENERATE(Token::BIT_AND, INT32, SMI, SMI, NO_OVERWRITE);
125 GENERATE(Token::BIT_AND, INT32, SMI, SMI, OVERWRITE_LEFT);
126 GENERATE(Token::BIT_AND, INT32, SMI, SMI, OVERWRITE_RIGHT);
127 GENERATE(Token::BIT_AND, NUMBER, INT32, INT32, OVERWRITE_RIGHT);
128 GENERATE(Token::BIT_AND, NUMBER, SMI, SMI, NO_OVERWRITE);
129 GENERATE(Token::BIT_AND, NUMBER, SMI, SMI, OVERWRITE_RIGHT);
130 GENERATE(Token::BIT_AND, SMI, INT32, INT32, NO_OVERWRITE);
131 GENERATE(Token::BIT_AND, SMI, INT32, SMI, OVERWRITE_RIGHT);
132 GENERATE(Token::BIT_AND, SMI, NUMBER, SMI, OVERWRITE_RIGHT);
133 GENERATE(Token::BIT_AND, SMI, SMI, SMI, NO_OVERWRITE);
134 GENERATE(Token::BIT_AND, SMI, SMI, SMI, OVERWRITE_LEFT);
135 GENERATE(Token::BIT_AND, SMI, SMI, SMI, OVERWRITE_RIGHT);
136 GENERATE(Token::BIT_OR, INT32, INT32, INT32, OVERWRITE_LEFT);
137 GENERATE(Token::BIT_OR, INT32, INT32, INT32, OVERWRITE_RIGHT);
138 GENERATE(Token::BIT_OR, INT32, INT32, SMI, OVERWRITE_LEFT);
139 GENERATE(Token::BIT_OR, INT32, SMI, INT32, NO_OVERWRITE);
140 GENERATE(Token::BIT_OR, INT32, SMI, INT32, OVERWRITE_LEFT);
141 GENERATE(Token::BIT_OR, INT32, SMI, INT32, OVERWRITE_RIGHT);
142 GENERATE(Token::BIT_OR, INT32, SMI, SMI, NO_OVERWRITE);
143 GENERATE(Token::BIT_OR, INT32, SMI, SMI, OVERWRITE_RIGHT);
144 GENERATE(Token::BIT_OR, NUMBER, SMI, INT32, NO_OVERWRITE);
145 GENERATE(Token::BIT_OR, NUMBER, SMI, INT32, OVERWRITE_LEFT);
146 GENERATE(Token::BIT_OR, NUMBER, SMI, INT32, OVERWRITE_RIGHT);
147 GENERATE(Token::BIT_OR, NUMBER, SMI, SMI, NO_OVERWRITE);
148 GENERATE(Token::BIT_OR, NUMBER, SMI, SMI, OVERWRITE_LEFT);
149 GENERATE(Token::BIT_OR, SMI, INT32, INT32, OVERWRITE_LEFT);
150 GENERATE(Token::BIT_OR, SMI, INT32, INT32, OVERWRITE_RIGHT);
151 GENERATE(Token::BIT_OR, SMI, INT32, SMI, OVERWRITE_RIGHT);
152 GENERATE(Token::BIT_OR, SMI, SMI, SMI, OVERWRITE_LEFT);
153 GENERATE(Token::BIT_OR, SMI, SMI, SMI, OVERWRITE_RIGHT);
154 GENERATE(Token::BIT_XOR, INT32, INT32, INT32, NO_OVERWRITE);
155 GENERATE(Token::BIT_XOR, INT32, INT32, INT32, OVERWRITE_LEFT);
156 GENERATE(Token::BIT_XOR, INT32, INT32, INT32, OVERWRITE_RIGHT);
157 GENERATE(Token::BIT_XOR, INT32, INT32, SMI, NO_OVERWRITE);
158 GENERATE(Token::BIT_XOR, INT32, INT32, SMI, OVERWRITE_LEFT);
159 GENERATE(Token::BIT_XOR, INT32, NUMBER, SMI, NO_OVERWRITE);
160 GENERATE(Token::BIT_XOR, INT32, SMI, INT32, NO_OVERWRITE);
161 GENERATE(Token::BIT_XOR, INT32, SMI, INT32, OVERWRITE_LEFT);
162 GENERATE(Token::BIT_XOR, INT32, SMI, INT32, OVERWRITE_RIGHT);
163 GENERATE(Token::BIT_XOR, NUMBER, INT32, INT32, NO_OVERWRITE);
164 GENERATE(Token::BIT_XOR, NUMBER, SMI, INT32, NO_OVERWRITE);
165 GENERATE(Token::BIT_XOR, NUMBER, SMI, SMI, NO_OVERWRITE);
166 GENERATE(Token::BIT_XOR, SMI, INT32, INT32, NO_OVERWRITE);
167 GENERATE(Token::BIT_XOR, SMI, INT32, INT32, OVERWRITE_LEFT);
168 GENERATE(Token::BIT_XOR, SMI, INT32, SMI, OVERWRITE_LEFT);
169 GENERATE(Token::BIT_XOR, SMI, SMI, SMI, NO_OVERWRITE);
170 GENERATE(Token::BIT_XOR, SMI, SMI, SMI, OVERWRITE_LEFT);
171 GENERATE(Token::BIT_XOR, SMI, SMI, SMI, OVERWRITE_RIGHT);
172 GENERATE(Token::DIV, INT32, INT32, INT32, NO_OVERWRITE);
173 GENERATE(Token::DIV, INT32, INT32, NUMBER, NO_OVERWRITE);
174 GENERATE(Token::DIV, INT32, NUMBER, NUMBER, NO_OVERWRITE);
175 GENERATE(Token::DIV, INT32, NUMBER, NUMBER, OVERWRITE_LEFT);
176 GENERATE(Token::DIV, INT32, SMI, INT32, NO_OVERWRITE);
177 GENERATE(Token::DIV, INT32, SMI, NUMBER, NO_OVERWRITE);
178 GENERATE(Token::DIV, NUMBER, INT32, NUMBER, NO_OVERWRITE);
179 GENERATE(Token::DIV, NUMBER, INT32, NUMBER, OVERWRITE_LEFT);
180 GENERATE(Token::DIV, NUMBER, NUMBER, NUMBER, NO_OVERWRITE);
181 GENERATE(Token::DIV, NUMBER, NUMBER, NUMBER, OVERWRITE_LEFT);
182 GENERATE(Token::DIV, NUMBER, NUMBER, NUMBER, OVERWRITE_RIGHT);
183 GENERATE(Token::DIV, NUMBER, SMI, NUMBER, NO_OVERWRITE);
184 GENERATE(Token::DIV, NUMBER, SMI, NUMBER, OVERWRITE_LEFT);
185 GENERATE(Token::DIV, SMI, INT32, INT32, NO_OVERWRITE);
186 GENERATE(Token::DIV, SMI, INT32, NUMBER, NO_OVERWRITE);
187 GENERATE(Token::DIV, SMI, INT32, NUMBER, OVERWRITE_LEFT);
188 GENERATE(Token::DIV, SMI, NUMBER, NUMBER, NO_OVERWRITE);
189 GENERATE(Token::DIV, SMI, NUMBER, NUMBER, OVERWRITE_LEFT);
190 GENERATE(Token::DIV, SMI, NUMBER, NUMBER, OVERWRITE_RIGHT);
191 GENERATE(Token::DIV, SMI, SMI, NUMBER, NO_OVERWRITE);
192 GENERATE(Token::DIV, SMI, SMI, NUMBER, OVERWRITE_LEFT);
193 GENERATE(Token::DIV, SMI, SMI, NUMBER, OVERWRITE_RIGHT);
194 GENERATE(Token::DIV, SMI, SMI, SMI, NO_OVERWRITE);
195 GENERATE(Token::DIV, SMI, SMI, SMI, OVERWRITE_LEFT);
196 GENERATE(Token::DIV, SMI, SMI, SMI, OVERWRITE_RIGHT);
197 GENERATE(Token::MOD, NUMBER, SMI, NUMBER, OVERWRITE_LEFT);
198 GENERATE(Token::MOD, SMI, SMI, SMI, NO_OVERWRITE);
199 GENERATE(Token::MOD, SMI, SMI, SMI, OVERWRITE_LEFT);
200 GENERATE(Token::MUL, INT32, INT32, INT32, NO_OVERWRITE);
201 GENERATE(Token::MUL, INT32, INT32, NUMBER, NO_OVERWRITE);
202 GENERATE(Token::MUL, INT32, NUMBER, NUMBER, NO_OVERWRITE);
203 GENERATE(Token::MUL, INT32, NUMBER, NUMBER, OVERWRITE_LEFT);
204 GENERATE(Token::MUL, INT32, SMI, INT32, NO_OVERWRITE);
205 GENERATE(Token::MUL, INT32, SMI, INT32, OVERWRITE_LEFT);
206 GENERATE(Token::MUL, INT32, SMI, NUMBER, NO_OVERWRITE);
207 GENERATE(Token::MUL, NUMBER, INT32, NUMBER, NO_OVERWRITE);
208 GENERATE(Token::MUL, NUMBER, INT32, NUMBER, OVERWRITE_LEFT);
209 GENERATE(Token::MUL, NUMBER, INT32, NUMBER, OVERWRITE_RIGHT);
210 GENERATE(Token::MUL, NUMBER, NUMBER, NUMBER, NO_OVERWRITE);
211 GENERATE(Token::MUL, NUMBER, NUMBER, NUMBER, OVERWRITE_LEFT);
212 GENERATE(Token::MUL, NUMBER, SMI, NUMBER, NO_OVERWRITE);
213 GENERATE(Token::MUL, NUMBER, SMI, NUMBER, OVERWRITE_LEFT);
214 GENERATE(Token::MUL, NUMBER, SMI, NUMBER, OVERWRITE_RIGHT);
215 GENERATE(Token::MUL, SMI, INT32, INT32, NO_OVERWRITE);
216 GENERATE(Token::MUL, SMI, INT32, INT32, OVERWRITE_LEFT);
217 GENERATE(Token::MUL, SMI, INT32, NUMBER, NO_OVERWRITE);
218 GENERATE(Token::MUL, SMI, NUMBER, NUMBER, NO_OVERWRITE);
219 GENERATE(Token::MUL, SMI, NUMBER, NUMBER, OVERWRITE_LEFT);
220 GENERATE(Token::MUL, SMI, NUMBER, NUMBER, OVERWRITE_RIGHT);
221 GENERATE(Token::MUL, SMI, SMI, INT32, NO_OVERWRITE);
222 GENERATE(Token::MUL, SMI, SMI, NUMBER, NO_OVERWRITE);
223 GENERATE(Token::MUL, SMI, SMI, NUMBER, OVERWRITE_LEFT);
224 GENERATE(Token::MUL, SMI, SMI, SMI, NO_OVERWRITE);
225 GENERATE(Token::MUL, SMI, SMI, SMI, OVERWRITE_LEFT);
226 GENERATE(Token::MUL, SMI, SMI, SMI, OVERWRITE_RIGHT);
227 GENERATE(Token::SAR, INT32, SMI, INT32, OVERWRITE_RIGHT);
228 GENERATE(Token::SAR, INT32, SMI, SMI, NO_OVERWRITE);
229 GENERATE(Token::SAR, INT32, SMI, SMI, OVERWRITE_RIGHT);
230 GENERATE(Token::SAR, NUMBER, SMI, SMI, NO_OVERWRITE);
231 GENERATE(Token::SAR, NUMBER, SMI, SMI, OVERWRITE_RIGHT);
232 GENERATE(Token::SAR, SMI, SMI, SMI, OVERWRITE_LEFT);
233 GENERATE(Token::SAR, SMI, SMI, SMI, OVERWRITE_RIGHT);
234 GENERATE(Token::SHL, INT32, SMI, INT32, NO_OVERWRITE);
235 GENERATE(Token::SHL, INT32, SMI, INT32, OVERWRITE_RIGHT);
236 GENERATE(Token::SHL, INT32, SMI, SMI, NO_OVERWRITE);
237 GENERATE(Token::SHL, INT32, SMI, SMI, OVERWRITE_RIGHT);
238 GENERATE(Token::SHL, NUMBER, SMI, SMI, OVERWRITE_RIGHT);
239 GENERATE(Token::SHL, SMI, SMI, INT32, NO_OVERWRITE);
240 GENERATE(Token::SHL, SMI, SMI, INT32, OVERWRITE_LEFT);
241 GENERATE(Token::SHL, SMI, SMI, INT32, OVERWRITE_RIGHT);
242 GENERATE(Token::SHL, SMI, SMI, SMI, NO_OVERWRITE);
243 GENERATE(Token::SHL, SMI, SMI, SMI, OVERWRITE_LEFT);
244 GENERATE(Token::SHL, SMI, SMI, SMI, OVERWRITE_RIGHT);
245 GENERATE(Token::SHR, INT32, SMI, SMI, NO_OVERWRITE);
246 GENERATE(Token::SHR, INT32, SMI, SMI, OVERWRITE_LEFT);
247 GENERATE(Token::SHR, INT32, SMI, SMI, OVERWRITE_RIGHT);
248 GENERATE(Token::SHR, NUMBER, SMI, SMI, NO_OVERWRITE);
249 GENERATE(Token::SHR, NUMBER, SMI, SMI, OVERWRITE_LEFT);
250 GENERATE(Token::SHR, NUMBER, SMI, INT32, OVERWRITE_RIGHT);
251 GENERATE(Token::SHR, SMI, SMI, SMI, NO_OVERWRITE);
252 GENERATE(Token::SHR, SMI, SMI, SMI, OVERWRITE_LEFT);
253 GENERATE(Token::SHR, SMI, SMI, SMI, OVERWRITE_RIGHT);
254 GENERATE(Token::SUB, INT32, INT32, INT32, NO_OVERWRITE);
255 GENERATE(Token::SUB, INT32, INT32, INT32, OVERWRITE_LEFT);
256 GENERATE(Token::SUB, INT32, NUMBER, NUMBER, NO_OVERWRITE);
257 GENERATE(Token::SUB, INT32, NUMBER, NUMBER, OVERWRITE_RIGHT);
258 GENERATE(Token::SUB, INT32, SMI, INT32, OVERWRITE_LEFT);
259 GENERATE(Token::SUB, INT32, SMI, INT32, OVERWRITE_RIGHT);
260 GENERATE(Token::SUB, NUMBER, INT32, NUMBER, NO_OVERWRITE);
261 GENERATE(Token::SUB, NUMBER, INT32, NUMBER, OVERWRITE_LEFT);
262 GENERATE(Token::SUB, NUMBER, NUMBER, NUMBER, NO_OVERWRITE);
263 GENERATE(Token::SUB, NUMBER, NUMBER, NUMBER, OVERWRITE_LEFT);
264 GENERATE(Token::SUB, NUMBER, NUMBER, NUMBER, OVERWRITE_RIGHT);
265 GENERATE(Token::SUB, NUMBER, SMI, NUMBER, NO_OVERWRITE);
266 GENERATE(Token::SUB, NUMBER, SMI, NUMBER, OVERWRITE_LEFT);
267 GENERATE(Token::SUB, NUMBER, SMI, NUMBER, OVERWRITE_RIGHT);
268 GENERATE(Token::SUB, SMI, INT32, INT32, NO_OVERWRITE);
269 GENERATE(Token::SUB, SMI, NUMBER, NUMBER, NO_OVERWRITE);
270 GENERATE(Token::SUB, SMI, NUMBER, NUMBER, OVERWRITE_LEFT);
271 GENERATE(Token::SUB, SMI, NUMBER, NUMBER, OVERWRITE_RIGHT);
272 GENERATE(Token::SUB, SMI, SMI, SMI, NO_OVERWRITE);
273 GENERATE(Token::SUB, SMI, SMI, SMI, OVERWRITE_LEFT);
274 GENERATE(Token::SUB, SMI, SMI, SMI, OVERWRITE_RIGHT);
275 #undef GENERATE
276 #define GENERATE(op, left_kind, fixed_right_arg_value, result_kind, mode) \
284 Generate(isolate, state); \
286 GENERATE(Token::MOD, SMI, 2, SMI, NO_OVERWRITE);
287 GENERATE(Token::MOD, SMI, 4, SMI, NO_OVERWRITE);
288 GENERATE(Token::MOD, SMI, 4, SMI, OVERWRITE_LEFT);
289 GENERATE(Token::MOD, SMI, 8, SMI, NO_OVERWRITE);
290 GENERATE(Token::MOD, SMI, 16, SMI, OVERWRITE_LEFT);
291 GENERATE(Token::MOD, SMI, 32, SMI, NO_OVERWRITE);
292 GENERATE(Token::MOD, SMI, 2048, SMI, NO_OVERWRITE);
293 #undef GENERATE