/[jscoverage]/trunk/js/imacros.c.out
ViewVC logotype

Annotation of /trunk/js/imacros.c.out

Parent Directory Parent Directory | Revision Log Revision Log


Revision 507 - (hide annotations)
Sun Jan 10 07:23:34 2010 UTC (12 years, 5 months ago) by siliconforks
File size: 25367 byte(s)
Update SpiderMonkey from Firefox 3.6rc1.

1 siliconforks 507 /* GENERATED BY imacro_asm.js -- DO NOT EDIT!!! */
2     static struct {
3     jsbytecode any_obj[36];
4     jsbytecode obj_any[38];
5     } equality_imacros = {
6     {
7     /* 0*/ JSOP_DUP,
8     /* 1*/ JSOP_DUP,
9     /* 2*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
10     /* 5*/ JSOP_IFPRIMTOP, 0, 18,
11     /* 8*/ JSOP_SWAP,
12     /* 9*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
13     /*12*/ JSOP_CALL, 0, 1,
14     /*15*/ JSOP_IFPRIMTOP, 0, 17,
15     /*18*/ JSOP_POP,
16     /*19*/ JSOP_DUP,
17     /*20*/ JSOP_GOTO, 0, 4,
18     /*23*/ JSOP_POP,
19     /*24*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
20     /*27*/ JSOP_CALL, 0, 0,
21     /*30*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
22     /*32*/ JSOP_SWAP,
23     /*33*/ JSOP_POP,
24     /*34*/ JSOP_IMACOP,
25     /*35*/ JSOP_STOP,
26     },
27     {
28     /* 0*/ JSOP_SWAP,
29     /* 1*/ JSOP_DUP,
30     /* 2*/ JSOP_DUP,
31     /* 3*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
32     /* 6*/ JSOP_IFPRIMTOP, 0, 18,
33     /* 9*/ JSOP_SWAP,
34     /*10*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
35     /*13*/ JSOP_CALL, 0, 1,
36     /*16*/ JSOP_IFPRIMTOP, 0, 17,
37     /*19*/ JSOP_POP,
38     /*20*/ JSOP_DUP,
39     /*21*/ JSOP_GOTO, 0, 4,
40     /*24*/ JSOP_POP,
41     /*25*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
42     /*28*/ JSOP_CALL, 0, 0,
43     /*31*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
44     /*33*/ JSOP_SWAP,
45     /*34*/ JSOP_POP,
46     /*35*/ JSOP_SWAP,
47     /*36*/ JSOP_IMACOP,
48     /*37*/ JSOP_STOP,
49     },
50     };
51     static struct {
52     jsbytecode any_obj[36];
53     jsbytecode obj_any[38];
54     jsbytecode obj_obj[72];
55     } binary_imacros = {
56     {
57     /* 0*/ JSOP_DUP,
58     /* 1*/ JSOP_DUP,
59     /* 2*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
60     /* 5*/ JSOP_IFPRIMTOP, 0, 18,
61     /* 8*/ JSOP_SWAP,
62     /* 9*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_NUMBER),
63     /*12*/ JSOP_CALL, 0, 1,
64     /*15*/ JSOP_IFPRIMTOP, 0, 17,
65     /*18*/ JSOP_POP,
66     /*19*/ JSOP_DUP,
67     /*20*/ JSOP_GOTO, 0, 4,
68     /*23*/ JSOP_POP,
69     /*24*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
70     /*27*/ JSOP_CALL, 0, 0,
71     /*30*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
72     /*32*/ JSOP_SWAP,
73     /*33*/ JSOP_POP,
74     /*34*/ JSOP_IMACOP,
75     /*35*/ JSOP_STOP,
76     },
77     {
78     /* 0*/ JSOP_SWAP,
79     /* 1*/ JSOP_DUP,
80     /* 2*/ JSOP_DUP,
81     /* 3*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
82     /* 6*/ JSOP_IFPRIMTOP, 0, 18,
83     /* 9*/ JSOP_SWAP,
84     /*10*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_NUMBER),
85     /*13*/ JSOP_CALL, 0, 1,
86     /*16*/ JSOP_IFPRIMTOP, 0, 17,
87     /*19*/ JSOP_POP,
88     /*20*/ JSOP_DUP,
89     /*21*/ JSOP_GOTO, 0, 4,
90     /*24*/ JSOP_POP,
91     /*25*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
92     /*28*/ JSOP_CALL, 0, 0,
93     /*31*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
94     /*33*/ JSOP_SWAP,
95     /*34*/ JSOP_POP,
96     /*35*/ JSOP_SWAP,
97     /*36*/ JSOP_IMACOP,
98     /*37*/ JSOP_STOP,
99     },
100     {
101     /* 0*/ JSOP_SWAP,
102     /* 1*/ JSOP_DUP,
103     /* 2*/ JSOP_DUP,
104     /* 3*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
105     /* 6*/ JSOP_IFPRIMTOP, 0, 18,
106     /* 9*/ JSOP_SWAP,
107     /*10*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_NUMBER),
108     /*13*/ JSOP_CALL, 0, 1,
109     /*16*/ JSOP_IFPRIMTOP, 0, 17,
110     /*19*/ JSOP_POP,
111     /*20*/ JSOP_DUP,
112     /*21*/ JSOP_GOTO, 0, 4,
113     /*24*/ JSOP_POP,
114     /*25*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
115     /*28*/ JSOP_CALL, 0, 0,
116     /*31*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
117     /*33*/ JSOP_SWAP,
118     /*34*/ JSOP_POP,
119     /*35*/ JSOP_SWAP,
120     /*36*/ JSOP_DUP,
121     /*37*/ JSOP_DUP,
122     /*38*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
123     /*41*/ JSOP_IFPRIMTOP, 0, 18,
124     /*44*/ JSOP_SWAP,
125     /*45*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_NUMBER),
126     /*48*/ JSOP_CALL, 0, 1,
127     /*51*/ JSOP_IFPRIMTOP, 0, 17,
128     /*54*/ JSOP_POP,
129     /*55*/ JSOP_DUP,
130     /*56*/ JSOP_GOTO, 0, 4,
131     /*59*/ JSOP_POP,
132     /*60*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
133     /*63*/ JSOP_CALL, 0, 0,
134     /*66*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
135     /*68*/ JSOP_SWAP,
136     /*69*/ JSOP_POP,
137     /*70*/ JSOP_IMACOP,
138     /*71*/ JSOP_STOP,
139     },
140     };
141     static struct {
142     jsbytecode any_obj[36];
143     jsbytecode obj_any[38];
144     jsbytecode obj_obj[72];
145     } add_imacros = {
146     {
147     /* 0*/ JSOP_DUP,
148     /* 1*/ JSOP_DUP,
149     /* 2*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
150     /* 5*/ JSOP_IFPRIMTOP, 0, 18,
151     /* 8*/ JSOP_SWAP,
152     /* 9*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
153     /*12*/ JSOP_CALL, 0, 1,
154     /*15*/ JSOP_IFPRIMTOP, 0, 17,
155     /*18*/ JSOP_POP,
156     /*19*/ JSOP_DUP,
157     /*20*/ JSOP_GOTO, 0, 4,
158     /*23*/ JSOP_POP,
159     /*24*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
160     /*27*/ JSOP_CALL, 0, 0,
161     /*30*/ JSOP_PRIMTOP, (JSTYPE_VOID),
162     /*32*/ JSOP_SWAP,
163     /*33*/ JSOP_POP,
164     /*34*/ JSOP_ADD,
165     /*35*/ JSOP_STOP,
166     },
167     {
168     /* 0*/ JSOP_SWAP,
169     /* 1*/ JSOP_DUP,
170     /* 2*/ JSOP_DUP,
171     /* 3*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
172     /* 6*/ JSOP_IFPRIMTOP, 0, 18,
173     /* 9*/ JSOP_SWAP,
174     /*10*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
175     /*13*/ JSOP_CALL, 0, 1,
176     /*16*/ JSOP_IFPRIMTOP, 0, 17,
177     /*19*/ JSOP_POP,
178     /*20*/ JSOP_DUP,
179     /*21*/ JSOP_GOTO, 0, 4,
180     /*24*/ JSOP_POP,
181     /*25*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
182     /*28*/ JSOP_CALL, 0, 0,
183     /*31*/ JSOP_PRIMTOP, (JSTYPE_VOID),
184     /*33*/ JSOP_SWAP,
185     /*34*/ JSOP_POP,
186     /*35*/ JSOP_SWAP,
187     /*36*/ JSOP_ADD,
188     /*37*/ JSOP_STOP,
189     },
190     {
191     /* 0*/ JSOP_SWAP,
192     /* 1*/ JSOP_DUP,
193     /* 2*/ JSOP_DUP,
194     /* 3*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
195     /* 6*/ JSOP_IFPRIMTOP, 0, 18,
196     /* 9*/ JSOP_SWAP,
197     /*10*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
198     /*13*/ JSOP_CALL, 0, 1,
199     /*16*/ JSOP_IFPRIMTOP, 0, 17,
200     /*19*/ JSOP_POP,
201     /*20*/ JSOP_DUP,
202     /*21*/ JSOP_GOTO, 0, 4,
203     /*24*/ JSOP_POP,
204     /*25*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
205     /*28*/ JSOP_CALL, 0, 0,
206     /*31*/ JSOP_PRIMTOP, (JSTYPE_VOID),
207     /*33*/ JSOP_SWAP,
208     /*34*/ JSOP_POP,
209     /*35*/ JSOP_SWAP,
210     /*36*/ JSOP_DUP,
211     /*37*/ JSOP_DUP,
212     /*38*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
213     /*41*/ JSOP_IFPRIMTOP, 0, 18,
214     /*44*/ JSOP_SWAP,
215     /*45*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
216     /*48*/ JSOP_CALL, 0, 1,
217     /*51*/ JSOP_IFPRIMTOP, 0, 17,
218     /*54*/ JSOP_POP,
219     /*55*/ JSOP_DUP,
220     /*56*/ JSOP_GOTO, 0, 4,
221     /*59*/ JSOP_POP,
222     /*60*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
223     /*63*/ JSOP_CALL, 0, 0,
224     /*66*/ JSOP_PRIMTOP, (JSTYPE_VOID),
225     /*68*/ JSOP_SWAP,
226     /*69*/ JSOP_POP,
227     /*70*/ JSOP_ADD,
228     /*71*/ JSOP_STOP,
229     },
230     };
231     static struct {
232     jsbytecode sign[41];
233     } unary_imacros = {
234     {
235     /* 0*/ JSOP_DUP,
236     /* 1*/ JSOP_DUP,
237     /* 2*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
238     /* 5*/ JSOP_IFPRIMTOP, 0, 23,
239     /* 8*/ JSOP_SWAP,
240     /* 9*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_NUMBER),
241     /*12*/ JSOP_CALL, 0, 1,
242     /*15*/ JSOP_IFPRIMTOP, 0, 8,
243     /*18*/ JSOP_POP,
244     /*19*/ JSOP_DUP,
245     /*20*/ JSOP_GOTO, 0, 9,
246     /*23*/ JSOP_SWAP,
247     /*24*/ JSOP_POP,
248     /*25*/ JSOP_GOTO, 0, 14,
249     /*28*/ JSOP_POP,
250     /*29*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
251     /*32*/ JSOP_CALL, 0, 0,
252     /*35*/ JSOP_PRIMTOP, (JSTYPE_NUMBER),
253     /*37*/ JSOP_SWAP,
254     /*38*/ JSOP_POP,
255     /*39*/ JSOP_IMACOP,
256     /*40*/ JSOP_STOP,
257     },
258     };
259     static struct {
260     jsbytecode String[38];
261     } call_imacros = {
262     {
263     /* 0*/ JSOP_DUP,
264     /* 1*/ JSOP_DUP,
265     /* 2*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(toString),
266     /* 5*/ JSOP_IFPRIMTOP, 0, 15,
267     /* 8*/ JSOP_SWAP,
268     /* 9*/ JSOP_CALL, 0, 0,
269     /*12*/ JSOP_IFPRIMTOP, 0, 20,
270     /*15*/ JSOP_POP,
271     /*16*/ JSOP_DUP,
272     /*17*/ JSOP_GOTO, 0, 4,
273     /*20*/ JSOP_POP,
274     /*21*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(valueOf),
275     /*24*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_STRING),
276     /*27*/ JSOP_CALL, 0, 1,
277     /*30*/ JSOP_PRIMTOP, (JSTYPE_STRING),
278     /*32*/ JSOP_SWAP,
279     /*33*/ JSOP_POP,
280     /*34*/ JSOP_CALL, 0, 1,
281     /*37*/ JSOP_STOP,
282     },
283     };
284     static struct {
285     jsbytecode String[38];
286     } new_imacros = {
287     {
288     /* 0*/ JSOP_DUP,
289     /* 1*/ JSOP_DUP,
290     /* 2*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(toString),
291     /* 5*/ JSOP_IFPRIMTOP, 0, 15,
292     /* 8*/ JSOP_SWAP,
293     /* 9*/ JSOP_CALL, 0, 0,
294     /*12*/ JSOP_IFPRIMTOP, 0, 20,
295     /*15*/ JSOP_POP,
296     /*16*/ JSOP_DUP,
297     /*17*/ JSOP_GOTO, 0, 4,
298     /*20*/ JSOP_POP,
299     /*21*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(valueOf),
300     /*24*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_STRING),
301     /*27*/ JSOP_CALL, 0, 1,
302     /*30*/ JSOP_PRIMTOP, (JSTYPE_STRING),
303     /*32*/ JSOP_SWAP,
304     /*33*/ JSOP_POP,
305     /*34*/ JSOP_NEW, 0, 1,
306     /*37*/ JSOP_STOP,
307     },
308     };
309     static struct {
310     jsbytecode apply0[8];
311     jsbytecode apply1[12];
312     jsbytecode apply2[16];
313     jsbytecode apply3[21];
314     jsbytecode apply4[26];
315     jsbytecode apply5[31];
316     jsbytecode apply6[36];
317     jsbytecode apply7[41];
318     jsbytecode apply8[46];
319     jsbytecode call0[7];
320     jsbytecode call1[7];
321     jsbytecode call2[7];
322     jsbytecode call3[7];
323     jsbytecode call4[7];
324     jsbytecode call5[7];
325     jsbytecode call6[7];
326     jsbytecode call7[7];
327     jsbytecode call8[7];
328     } apply_imacros = {
329     {
330     /* 0*/ JSOP_PICK, 3,
331     /* 2*/ JSOP_POP,
332     /* 3*/ JSOP_POP,
333     /* 4*/ JSOP_CALL, 0, 0,
334     /* 7*/ JSOP_STOP,
335     },
336     {
337     /* 0*/ JSOP_PICK, 3,
338     /* 2*/ JSOP_POP,
339     /* 3*/ JSOP_DUP,
340     /* 4*/ JSOP_ZERO,
341     /* 5*/ JSOP_GETELEM,
342     /* 6*/ JSOP_SWAP,
343     /* 7*/ JSOP_POP,
344     /* 8*/ JSOP_CALL, 0, 1,
345     /*11*/ JSOP_STOP,
346     },
347     {
348     /* 0*/ JSOP_PICK, 3,
349     /* 2*/ JSOP_POP,
350     /* 3*/ JSOP_DUP,
351     /* 4*/ JSOP_ZERO,
352     /* 5*/ JSOP_GETELEM,
353     /* 6*/ JSOP_SWAP,
354     /* 7*/ JSOP_DUP,
355     /* 8*/ JSOP_ONE,
356     /* 9*/ JSOP_GETELEM,
357     /*10*/ JSOP_SWAP,
358     /*11*/ JSOP_POP,
359     /*12*/ JSOP_CALL, 0, 2,
360     /*15*/ JSOP_STOP,
361     },
362     {
363     /* 0*/ JSOP_PICK, 3,
364     /* 2*/ JSOP_POP,
365     /* 3*/ JSOP_DUP,
366     /* 4*/ JSOP_ZERO,
367     /* 5*/ JSOP_GETELEM,
368     /* 6*/ JSOP_SWAP,
369     /* 7*/ JSOP_DUP,
370     /* 8*/ JSOP_ONE,
371     /* 9*/ JSOP_GETELEM,
372     /*10*/ JSOP_SWAP,
373     /*11*/ JSOP_DUP,
374     /*12*/ JSOP_INT8, 2,
375     /*14*/ JSOP_GETELEM,
376     /*15*/ JSOP_SWAP,
377     /*16*/ JSOP_POP,
378     /*17*/ JSOP_CALL, 0, 3,
379     /*20*/ JSOP_STOP,
380     },
381     {
382     /* 0*/ JSOP_PICK, 3,
383     /* 2*/ JSOP_POP,
384     /* 3*/ JSOP_DUP,
385     /* 4*/ JSOP_ZERO,
386     /* 5*/ JSOP_GETELEM,
387     /* 6*/ JSOP_SWAP,
388     /* 7*/ JSOP_DUP,
389     /* 8*/ JSOP_ONE,
390     /* 9*/ JSOP_GETELEM,
391     /*10*/ JSOP_SWAP,
392     /*11*/ JSOP_DUP,
393     /*12*/ JSOP_INT8, 2,
394     /*14*/ JSOP_GETELEM,
395     /*15*/ JSOP_SWAP,
396     /*16*/ JSOP_DUP,
397     /*17*/ JSOP_INT8, 3,
398     /*19*/ JSOP_GETELEM,
399     /*20*/ JSOP_SWAP,
400     /*21*/ JSOP_POP,
401     /*22*/ JSOP_CALL, 0, 4,
402     /*25*/ JSOP_STOP,
403     },
404     {
405     /* 0*/ JSOP_PICK, 3,
406     /* 2*/ JSOP_POP,
407     /* 3*/ JSOP_DUP,
408     /* 4*/ JSOP_ZERO,
409     /* 5*/ JSOP_GETELEM,
410     /* 6*/ JSOP_SWAP,
411     /* 7*/ JSOP_DUP,
412     /* 8*/ JSOP_ONE,
413     /* 9*/ JSOP_GETELEM,
414     /*10*/ JSOP_SWAP,
415     /*11*/ JSOP_DUP,
416     /*12*/ JSOP_INT8, 2,
417     /*14*/ JSOP_GETELEM,
418     /*15*/ JSOP_SWAP,
419     /*16*/ JSOP_DUP,
420     /*17*/ JSOP_INT8, 3,
421     /*19*/ JSOP_GETELEM,
422     /*20*/ JSOP_SWAP,
423     /*21*/ JSOP_DUP,
424     /*22*/ JSOP_INT8, 4,
425     /*24*/ JSOP_GETELEM,
426     /*25*/ JSOP_SWAP,
427     /*26*/ JSOP_POP,
428     /*27*/ JSOP_CALL, 0, 5,
429     /*30*/ JSOP_STOP,
430     },
431     {
432     /* 0*/ JSOP_PICK, 3,
433     /* 2*/ JSOP_POP,
434     /* 3*/ JSOP_DUP,
435     /* 4*/ JSOP_ZERO,
436     /* 5*/ JSOP_GETELEM,
437     /* 6*/ JSOP_SWAP,
438     /* 7*/ JSOP_DUP,
439     /* 8*/ JSOP_ONE,
440     /* 9*/ JSOP_GETELEM,
441     /*10*/ JSOP_SWAP,
442     /*11*/ JSOP_DUP,
443     /*12*/ JSOP_INT8, 2,
444     /*14*/ JSOP_GETELEM,
445     /*15*/ JSOP_SWAP,
446     /*16*/ JSOP_DUP,
447     /*17*/ JSOP_INT8, 3,
448     /*19*/ JSOP_GETELEM,
449     /*20*/ JSOP_SWAP,
450     /*21*/ JSOP_DUP,
451     /*22*/ JSOP_INT8, 4,
452     /*24*/ JSOP_GETELEM,
453     /*25*/ JSOP_SWAP,
454     /*26*/ JSOP_DUP,
455     /*27*/ JSOP_INT8, 5,
456     /*29*/ JSOP_GETELEM,
457     /*30*/ JSOP_SWAP,
458     /*31*/ JSOP_POP,
459     /*32*/ JSOP_CALL, 0, 6,
460     /*35*/ JSOP_STOP,
461     },
462     {
463     /* 0*/ JSOP_PICK, 3,
464     /* 2*/ JSOP_POP,
465     /* 3*/ JSOP_DUP,
466     /* 4*/ JSOP_ZERO,
467     /* 5*/ JSOP_GETELEM,
468     /* 6*/ JSOP_SWAP,
469     /* 7*/ JSOP_DUP,
470     /* 8*/ JSOP_ONE,
471     /* 9*/ JSOP_GETELEM,
472     /*10*/ JSOP_SWAP,
473     /*11*/ JSOP_DUP,
474     /*12*/ JSOP_INT8, 2,
475     /*14*/ JSOP_GETELEM,
476     /*15*/ JSOP_SWAP,
477     /*16*/ JSOP_DUP,
478     /*17*/ JSOP_INT8, 3,
479     /*19*/ JSOP_GETELEM,
480     /*20*/ JSOP_SWAP,
481     /*21*/ JSOP_DUP,
482     /*22*/ JSOP_INT8, 4,
483     /*24*/ JSOP_GETELEM,
484     /*25*/ JSOP_SWAP,
485     /*26*/ JSOP_DUP,
486     /*27*/ JSOP_INT8, 5,
487     /*29*/ JSOP_GETELEM,
488     /*30*/ JSOP_SWAP,
489     /*31*/ JSOP_DUP,
490     /*32*/ JSOP_INT8, 6,
491     /*34*/ JSOP_GETELEM,
492     /*35*/ JSOP_SWAP,
493     /*36*/ JSOP_POP,
494     /*37*/ JSOP_CALL, 0, 7,
495     /*40*/ JSOP_STOP,
496     },
497     {
498     /* 0*/ JSOP_PICK, 3,
499     /* 2*/ JSOP_POP,
500     /* 3*/ JSOP_DUP,
501     /* 4*/ JSOP_ZERO,
502     /* 5*/ JSOP_GETELEM,
503     /* 6*/ JSOP_SWAP,
504     /* 7*/ JSOP_DUP,
505     /* 8*/ JSOP_ONE,
506     /* 9*/ JSOP_GETELEM,
507     /*10*/ JSOP_SWAP,
508     /*11*/ JSOP_DUP,
509     /*12*/ JSOP_INT8, 2,
510     /*14*/ JSOP_GETELEM,
511     /*15*/ JSOP_SWAP,
512     /*16*/ JSOP_DUP,
513     /*17*/ JSOP_INT8, 3,
514     /*19*/ JSOP_GETELEM,
515     /*20*/ JSOP_SWAP,
516     /*21*/ JSOP_DUP,
517     /*22*/ JSOP_INT8, 4,
518     /*24*/ JSOP_GETELEM,
519     /*25*/ JSOP_SWAP,
520     /*26*/ JSOP_DUP,
521     /*27*/ JSOP_INT8, 5,
522     /*29*/ JSOP_GETELEM,
523     /*30*/ JSOP_SWAP,
524     /*31*/ JSOP_DUP,
525     /*32*/ JSOP_INT8, 6,
526     /*34*/ JSOP_GETELEM,
527     /*35*/ JSOP_SWAP,
528     /*36*/ JSOP_DUP,
529     /*37*/ JSOP_INT8, 7,
530     /*39*/ JSOP_GETELEM,
531     /*40*/ JSOP_SWAP,
532     /*41*/ JSOP_POP,
533     /*42*/ JSOP_CALL, 0, 8,
534     /*45*/ JSOP_STOP,
535     },
536     {
537     /* 0*/ JSOP_SWAP,
538     /* 1*/ JSOP_POP,
539     /* 2*/ JSOP_NULL,
540     /* 3*/ JSOP_CALL, 0, 0,
541     /* 6*/ JSOP_STOP,
542     },
543     {
544     /* 0*/ JSOP_PICK, 2,
545     /* 2*/ JSOP_POP,
546     /* 3*/ JSOP_CALL, 0, 0,
547     /* 6*/ JSOP_STOP,
548     },
549     {
550     /* 0*/ JSOP_PICK, 3,
551     /* 2*/ JSOP_POP,
552     /* 3*/ JSOP_CALL, 0, 1,
553     /* 6*/ JSOP_STOP,
554     },
555     {
556     /* 0*/ JSOP_PICK, 4,
557     /* 2*/ JSOP_POP,
558     /* 3*/ JSOP_CALL, 0, 2,
559     /* 6*/ JSOP_STOP,
560     },
561     {
562     /* 0*/ JSOP_PICK, 5,
563     /* 2*/ JSOP_POP,
564     /* 3*/ JSOP_CALL, 0, 3,
565     /* 6*/ JSOP_STOP,
566     },
567     {
568     /* 0*/ JSOP_PICK, 6,
569     /* 2*/ JSOP_POP,
570     /* 3*/ JSOP_CALL, 0, 4,
571     /* 6*/ JSOP_STOP,
572     },
573     {
574     /* 0*/ JSOP_PICK, 7,
575     /* 2*/ JSOP_POP,
576     /* 3*/ JSOP_CALL, 0, 5,
577     /* 6*/ JSOP_STOP,
578     },
579     {
580     /* 0*/ JSOP_PICK, 8,
581     /* 2*/ JSOP_POP,
582     /* 3*/ JSOP_CALL, 0, 6,
583     /* 6*/ JSOP_STOP,
584     },
585     {
586     /* 0*/ JSOP_PICK, 9,
587     /* 2*/ JSOP_POP,
588     /* 3*/ JSOP_CALL, 0, 7,
589     /* 6*/ JSOP_STOP,
590     },
591     };
592     static struct {
593     jsbytecode for_in[13];
594     jsbytecode for_each[13];
595     jsbytecode for_in_native[10];
596     jsbytecode for_each_native[10];
597     } iter_imacros = {
598     {
599     /* 0*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(iterator),
600     /* 3*/ JSOP_INT8, (JSITER_ENUMERATE),
601     /* 5*/ JSOP_CALL, 0, 1,
602     /* 8*/ JSOP_OBJTOP, ((JSMSG_BAD_ITERATOR_RETURN) & 0xff00) >> 8, ((JSMSG_BAD_ITERATOR_RETURN) & 0xff),
603     /*11*/ JSOP_PUSH,
604     /*12*/ JSOP_STOP,
605     },
606     {
607     /* 0*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(iterator),
608     /* 3*/ JSOP_INT8, (JSITER_ENUMERATE|JSITER_FOREACH),
609     /* 5*/ JSOP_CALL, 0, 1,
610     /* 8*/ JSOP_OBJTOP, ((JSMSG_BAD_ITERATOR_RETURN) & 0xff00) >> 8, ((JSMSG_BAD_ITERATOR_RETURN) & 0xff),
611     /*11*/ JSOP_PUSH,
612     /*12*/ JSOP_STOP,
613     },
614     {
615     /* 0*/ JSOP_CALLBUILTIN, ((JSBUILTIN_ObjectToIterator) & 0xff00) >> 8, ((JSBUILTIN_ObjectToIterator) & 0xff),
616     /* 3*/ JSOP_INT8, (JSITER_ENUMERATE),
617     /* 5*/ JSOP_CALL, 0, 1,
618     /* 8*/ JSOP_PUSH,
619     /* 9*/ JSOP_STOP,
620     },
621     {
622     /* 0*/ JSOP_CALLBUILTIN, ((JSBUILTIN_ObjectToIterator) & 0xff00) >> 8, ((JSBUILTIN_ObjectToIterator) & 0xff),
623     /* 3*/ JSOP_INT8, (JSITER_ENUMERATE|JSITER_FOREACH),
624     /* 5*/ JSOP_CALL, 0, 1,
625     /* 8*/ JSOP_PUSH,
626     /* 9*/ JSOP_STOP,
627     },
628     };
629     static struct {
630     jsbytecode custom_iter_next[12];
631     jsbytecode native_iter_next[12];
632     } nextiter_imacros = {
633     {
634     /* 0*/ JSOP_POP,
635     /* 1*/ JSOP_DUP,
636     /* 2*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(next),
637     /* 5*/ JSOP_CALL, 0, 0,
638     /* 8*/ JSOP_DUP,
639     /* 9*/ JSOP_HOLE,
640     /*10*/ JSOP_STRICTNE,
641     /*11*/ JSOP_STOP,
642     },
643     {
644     /* 0*/ JSOP_POP,
645     /* 1*/ JSOP_DUP,
646     /* 2*/ JSOP_CALLBUILTIN, ((JSBUILTIN_CallIteratorNext) & 0xff00) >> 8, ((JSBUILTIN_CallIteratorNext) & 0xff),
647     /* 5*/ JSOP_CALL, 0, 0,
648     /* 8*/ JSOP_DUP,
649     /* 9*/ JSOP_HOLE,
650     /*10*/ JSOP_STRICTNE,
651     /*11*/ JSOP_STOP,
652     },
653     };
654     static struct {
655     jsbytecode string[38];
656     } defvalue_imacros = {
657     {
658     /* 0*/ JSOP_SWAP,
659     /* 1*/ JSOP_DUP,
660     /* 2*/ JSOP_DUP,
661     /* 3*/ JSOP_GETPROP, 0, COMMON_ATOM_INDEX(valueOf),
662     /* 6*/ JSOP_IFPRIMTOP, 0, 18,
663     /* 9*/ JSOP_SWAP,
664     /*10*/ JSOP_STRING, 0, COMMON_TYPE_ATOM_INDEX(JSTYPE_VOID),
665     /*13*/ JSOP_CALL, 0, 1,
666     /*16*/ JSOP_IFPRIMTOP, 0, 17,
667     /*19*/ JSOP_POP,
668     /*20*/ JSOP_DUP,
669     /*21*/ JSOP_GOTO, 0, 4,
670     /*24*/ JSOP_POP,
671     /*25*/ JSOP_CALLPROP, 0, COMMON_ATOM_INDEX(toString),
672     /*28*/ JSOP_CALL, 0, 0,
673     /*31*/ JSOP_PRIMTOP, (JSTYPE_VOID),
674     /*33*/ JSOP_SWAP,
675     /*34*/ JSOP_POP,
676     /*35*/ JSOP_SWAP,
677     /*36*/ JSOP_IMACOP,
678     /*37*/ JSOP_STOP,
679     },
680     };
681     uint8 js_opcode2extra[JSOP_LIMIT] = {
682     0, /* JSOP_NOP */
683     0, /* JSOP_PUSH */
684     0, /* JSOP_POPV */
685     0, /* JSOP_ENTERWITH */
686     0, /* JSOP_LEAVEWITH */
687     0, /* JSOP_RETURN */
688     0, /* JSOP_GOTO */
689     0, /* JSOP_IFEQ */
690     0, /* JSOP_IFNE */
691     0, /* JSOP_ARGUMENTS */
692     0, /* JSOP_FORARG */
693     0, /* JSOP_FORLOCAL */
694     0, /* JSOP_DUP */
695     0, /* JSOP_DUP2 */
696     0, /* JSOP_SETCONST */
697     3, /* JSOP_BITOR */
698     3, /* JSOP_BITXOR */
699     3, /* JSOP_BITAND */
700     3, /* JSOP_EQ */
701     3, /* JSOP_NE */
702     3, /* JSOP_LT */
703     3, /* JSOP_LE */
704     3, /* JSOP_GT */
705     3, /* JSOP_GE */
706     3, /* JSOP_LSH */
707     3, /* JSOP_RSH */
708     3, /* JSOP_URSH */
709     3, /* JSOP_ADD */
710     3, /* JSOP_SUB */
711     3, /* JSOP_MUL */
712     3, /* JSOP_DIV */
713     3, /* JSOP_MOD */
714     0, /* JSOP_NOT */
715     0, /* JSOP_BITNOT */
716     3, /* JSOP_NEG */
717     3, /* JSOP_POS */
718     0, /* JSOP_DELNAME */
719     0, /* JSOP_DELPROP */
720     0, /* JSOP_DELELEM */
721     0, /* JSOP_TYPEOF */
722     0, /* JSOP_VOID */
723     0, /* JSOP_INCNAME */
724     0, /* JSOP_INCPROP */
725     0, /* JSOP_INCELEM */
726     0, /* JSOP_DECNAME */
727     0, /* JSOP_DECPROP */
728     0, /* JSOP_DECELEM */
729     0, /* JSOP_NAMEINC */
730     0, /* JSOP_PROPINC */
731     0, /* JSOP_ELEMINC */
732     0, /* JSOP_NAMEDEC */
733     0, /* JSOP_PROPDEC */
734     0, /* JSOP_ELEMDEC */
735     0, /* JSOP_GETPROP */
736     0, /* JSOP_SETPROP */
737     0, /* JSOP_GETELEM */
738     0, /* JSOP_SETELEM */
739     0, /* JSOP_CALLNAME */
740     3, /* JSOP_CALL */
741     0, /* JSOP_NAME */
742     0, /* JSOP_DOUBLE */
743     0, /* JSOP_STRING */
744     0, /* JSOP_ZERO */
745     0, /* JSOP_ONE */
746     0, /* JSOP_NULL */
747     0, /* JSOP_THIS */
748     0, /* JSOP_FALSE */
749     0, /* JSOP_TRUE */
750     0, /* JSOP_OR */
751     0, /* JSOP_AND */
752     0, /* JSOP_TABLESWITCH */
753     0, /* JSOP_LOOKUPSWITCH */
754     0, /* JSOP_STRICTEQ */
755     0, /* JSOP_STRICTNE */
756     0, /* JSOP_SETCALL */
757     2, /* JSOP_ITER */
758     2, /* JSOP_NEXTITER */
759     0, /* JSOP_ENDITER */
760     8, /* JSOP_APPLY */
761     0, /* JSOP_SWAP */
762     0, /* JSOP_OBJECT */
763     0, /* JSOP_POP */
764     3, /* JSOP_NEW */
765     0, /* JSOP_TRAP */
766     0, /* JSOP_GETARG */
767     0, /* JSOP_SETARG */
768     0, /* JSOP_GETLOCAL */
769     0, /* JSOP_SETLOCAL */
770     0, /* JSOP_UINT16 */
771     0, /* JSOP_NEWINIT */
772     0, /* JSOP_ENDINIT */
773     0, /* JSOP_INITPROP */
774     0, /* JSOP_INITELEM */
775     0, /* JSOP_DEFSHARP */
776     0, /* JSOP_USESHARP */
777     0, /* JSOP_INCARG */
778     0, /* JSOP_DECARG */
779     0, /* JSOP_ARGINC */
780     0, /* JSOP_ARGDEC */
781     0, /* JSOP_INCLOCAL */
782     0, /* JSOP_DECLOCAL */
783     0, /* JSOP_LOCALINC */
784     0, /* JSOP_LOCALDEC */
785     0, /* JSOP_IMACOP */
786     0, /* JSOP_FORNAME */
787     0, /* JSOP_FORPROP */
788     0, /* JSOP_FORELEM */
789     0, /* JSOP_POPN */
790     0, /* JSOP_BINDNAME */
791     0, /* JSOP_SETNAME */
792     0, /* JSOP_THROW */
793     0, /* JSOP_IN */
794     0, /* JSOP_INSTANCEOF */
795     0, /* JSOP_DEBUGGER */
796     0, /* JSOP_GOSUB */
797     0, /* JSOP_RETSUB */
798     0, /* JSOP_EXCEPTION */
799     0, /* JSOP_LINENO */
800     0, /* JSOP_CONDSWITCH */
801     0, /* JSOP_CASE */
802     0, /* JSOP_DEFAULT */
803     0, /* JSOP_EVAL */
804     0, /* JSOP_ENUMELEM */
805     0, /* JSOP_GETTER */
806     0, /* JSOP_SETTER */
807     0, /* JSOP_DEFFUN */
808     0, /* JSOP_DEFCONST */
809     0, /* JSOP_DEFVAR */
810     0, /* JSOP_LAMBDA */
811     0, /* JSOP_CALLEE */
812     0, /* JSOP_SETLOCALPOP */
813     0, /* JSOP_PICK */
814     0, /* JSOP_TRY */
815     0, /* JSOP_FINALLY */
816     0, /* JSOP_GETDSLOT */
817     0, /* JSOP_CALLDSLOT */
818     0, /* JSOP_ARGSUB */
819     0, /* JSOP_ARGCNT */
820     0, /* JSOP_DEFLOCALFUN */
821     0, /* JSOP_GOTOX */
822     0, /* JSOP_IFEQX */
823     0, /* JSOP_IFNEX */
824     0, /* JSOP_ORX */
825     0, /* JSOP_ANDX */
826     0, /* JSOP_GOSUBX */
827     0, /* JSOP_CASEX */
828     0, /* JSOP_DEFAULTX */
829     0, /* JSOP_TABLESWITCHX */
830     0, /* JSOP_LOOKUPSWITCHX */
831     0, /* JSOP_BACKPATCH */
832     0, /* JSOP_BACKPATCH_POP */
833     0, /* JSOP_THROWING */
834     0, /* JSOP_SETRVAL */
835     0, /* JSOP_RETRVAL */
836     0, /* JSOP_GETGVAR */
837     0, /* JSOP_SETGVAR */
838     0, /* JSOP_INCGVAR */
839     0, /* JSOP_DECGVAR */
840     0, /* JSOP_GVARINC */
841     0, /* JSOP_GVARDEC */
842     0, /* JSOP_REGEXP */
843     0, /* JSOP_DEFXMLNS */
844     0, /* JSOP_ANYNAME */
845     0, /* JSOP_QNAMEPART */
846     0, /* JSOP_QNAMECONST */
847     0, /* JSOP_QNAME */
848     0, /* JSOP_TOATTRNAME */
849     0, /* JSOP_TOATTRVAL */
850     0, /* JSOP_ADDATTRNAME */
851     0, /* JSOP_ADDATTRVAL */
852     0, /* JSOP_BINDXMLNAME */
853     0, /* JSOP_SETXMLNAME */
854     0, /* JSOP_XMLNAME */
855     0, /* JSOP_DESCENDANTS */
856     0, /* JSOP_FILTER */
857     0, /* JSOP_ENDFILTER */
858     0, /* JSOP_TOXML */
859     0, /* JSOP_TOXMLLIST */
860     0, /* JSOP_XMLTAGEXPR */
861     0, /* JSOP_XMLELTEXPR */
862     0, /* JSOP_XMLOBJECT */
863     0, /* JSOP_XMLCDATA */
864     0, /* JSOP_XMLCOMMENT */
865     0, /* JSOP_XMLPI */
866     0, /* JSOP_CALLPROP */
867     0, /* JSOP_GETUPVAR */
868     0, /* JSOP_CALLUPVAR */
869     0, /* JSOP_DELDESC */
870     0, /* JSOP_UINT24 */
871     0, /* JSOP_INDEXBASE */
872     0, /* JSOP_RESETBASE */
873     0, /* JSOP_RESETBASE0 */
874     0, /* JSOP_STARTXML */
875     0, /* JSOP_STARTXMLEXPR */
876     0, /* JSOP_CALLELEM */
877     0, /* JSOP_STOP */
878     0, /* JSOP_GETXPROP */
879     0, /* JSOP_CALLXMLNAME */
880     0, /* JSOP_TYPEOFEXPR */
881     0, /* JSOP_ENTERBLOCK */
882     0, /* JSOP_LEAVEBLOCK */
883     0, /* JSOP_IFPRIMTOP */
884     0, /* JSOP_PRIMTOP */
885     0, /* JSOP_GENERATOR */
886     0, /* JSOP_YIELD */
887     0, /* JSOP_ARRAYPUSH */
888     0, /* JSOP_GETFUNNS */
889     0, /* JSOP_ENUMCONSTELEM */
890     0, /* JSOP_LEAVEBLOCKEXPR */
891     0, /* JSOP_GETTHISPROP */
892     0, /* JSOP_GETARGPROP */
893     0, /* JSOP_GETLOCALPROP */
894     0, /* JSOP_INDEXBASE1 */
895     0, /* JSOP_INDEXBASE2 */
896     0, /* JSOP_INDEXBASE3 */
897     0, /* JSOP_CALLGVAR */
898     0, /* JSOP_CALLLOCAL */
899     0, /* JSOP_CALLARG */
900     0, /* JSOP_CALLBUILTIN */
901     0, /* JSOP_INT8 */
902     0, /* JSOP_INT32 */
903     0, /* JSOP_LENGTH */
904     0, /* JSOP_NEWARRAY */
905     0, /* JSOP_HOLE */
906     0, /* JSOP_DEFFUN_FC */
907     0, /* JSOP_DEFLOCALFUN_FC */
908     0, /* JSOP_LAMBDA_FC */
909     0, /* JSOP_OBJTOP */
910     0, /* JSOP_TRACE */
911     0, /* JSOP_GETUPVAR_DBG */
912     0, /* JSOP_CALLUPVAR_DBG */
913     0, /* JSOP_DEFFUN_DBGFC */
914     0, /* JSOP_DEFLOCALFUN_DBGFC */
915     0, /* JSOP_LAMBDA_DBGFC */
916     3, /* JSOP_CONCATN */
917     };
918     #define JSOP_IS_IMACOP(x) (0 \
919     || x == JSOP_BITOR \
920     || x == JSOP_BITXOR \
921     || x == JSOP_BITAND \
922     || x == JSOP_EQ \
923     || x == JSOP_NE \
924     || x == JSOP_LT \
925     || x == JSOP_LE \
926     || x == JSOP_GT \
927     || x == JSOP_GE \
928     || x == JSOP_LSH \
929     || x == JSOP_RSH \
930     || x == JSOP_URSH \
931     || x == JSOP_ADD \
932     || x == JSOP_SUB \
933     || x == JSOP_MUL \
934     || x == JSOP_DIV \
935     || x == JSOP_MOD \
936     || x == JSOP_NEG \
937     || x == JSOP_POS \
938     || x == JSOP_CALL \
939     || x == JSOP_ITER \
940     || x == JSOP_NEXTITER \
941     || x == JSOP_APPLY \
942     || x == JSOP_NEW \
943     || x == JSOP_CONCATN \
944     )
945     jsbytecode*
946     js_GetImacroStart(jsbytecode* pc) {
947     if (size_t(pc - equality_imacros.any_obj) < 36) return equality_imacros.any_obj;
948     if (size_t(pc - equality_imacros.obj_any) < 38) return equality_imacros.obj_any;
949     if (size_t(pc - binary_imacros.any_obj) < 36) return binary_imacros.any_obj;
950     if (size_t(pc - binary_imacros.obj_any) < 38) return binary_imacros.obj_any;
951     if (size_t(pc - binary_imacros.obj_obj) < 72) return binary_imacros.obj_obj;
952     if (size_t(pc - add_imacros.any_obj) < 36) return add_imacros.any_obj;
953     if (size_t(pc - add_imacros.obj_any) < 38) return add_imacros.obj_any;
954     if (size_t(pc - add_imacros.obj_obj) < 72) return add_imacros.obj_obj;
955     if (size_t(pc - unary_imacros.sign) < 41) return unary_imacros.sign;
956     if (size_t(pc - call_imacros.String) < 38) return call_imacros.String;
957     if (size_t(pc - new_imacros.String) < 38) return new_imacros.String;
958     if (size_t(pc - apply_imacros.apply0) < 8) return apply_imacros.apply0;
959     if (size_t(pc - apply_imacros.apply1) < 12) return apply_imacros.apply1;
960     if (size_t(pc - apply_imacros.apply2) < 16) return apply_imacros.apply2;
961     if (size_t(pc - apply_imacros.apply3) < 21) return apply_imacros.apply3;
962     if (size_t(pc - apply_imacros.apply4) < 26) return apply_imacros.apply4;
963     if (size_t(pc - apply_imacros.apply5) < 31) return apply_imacros.apply5;
964     if (size_t(pc - apply_imacros.apply6) < 36) return apply_imacros.apply6;
965     if (size_t(pc - apply_imacros.apply7) < 41) return apply_imacros.apply7;
966     if (size_t(pc - apply_imacros.apply8) < 46) return apply_imacros.apply8;
967     if (size_t(pc - apply_imacros.call0) < 7) return apply_imacros.call0;
968     if (size_t(pc - apply_imacros.call1) < 7) return apply_imacros.call1;
969     if (size_t(pc - apply_imacros.call2) < 7) return apply_imacros.call2;
970     if (size_t(pc - apply_imacros.call3) < 7) return apply_imacros.call3;
971     if (size_t(pc - apply_imacros.call4) < 7) return apply_imacros.call4;
972     if (size_t(pc - apply_imacros.call5) < 7) return apply_imacros.call5;
973     if (size_t(pc - apply_imacros.call6) < 7) return apply_imacros.call6;
974     if (size_t(pc - apply_imacros.call7) < 7) return apply_imacros.call7;
975     if (size_t(pc - apply_imacros.call8) < 7) return apply_imacros.call8;
976     if (size_t(pc - iter_imacros.for_in) < 13) return iter_imacros.for_in;
977     if (size_t(pc - iter_imacros.for_each) < 13) return iter_imacros.for_each;
978     if (size_t(pc - iter_imacros.for_in_native) < 10) return iter_imacros.for_in_native;
979     if (size_t(pc - iter_imacros.for_each_native) < 10) return iter_imacros.for_each_native;
980     if (size_t(pc - nextiter_imacros.custom_iter_next) < 12) return nextiter_imacros.custom_iter_next;
981     if (size_t(pc - nextiter_imacros.native_iter_next) < 12) return nextiter_imacros.native_iter_next;
982     if (size_t(pc - defvalue_imacros.string) < 38) return defvalue_imacros.string;
983     return NULL;
984     }

  ViewVC Help
Powered by ViewVC 1.1.24