1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-30 06:50:31 +02:00
guile/lib/jit_x86-sz.c
Paulo Andrade 52448473be x86: Update instruction size information for Windows x64
* lib/jit_x86-sz.c: Generate information about instruction
	lengths for more precise calculation of buffer size on
	Windows x64. This change is specially important because
	the maximum instruction length is larger than other
	systems, what could cause an out of bounds write on
	special conditions without this update.
2014-09-24 14:56:20 -03:00

1051 lines
7.9 KiB
C

#if __WORDSIZE == 32
#define JIT_INSTR_MAX 42
0,
0,
0,
0,
0,
0,
3,
26,
0,
3,
6,
4,
6,
4,
5,
4,
6,
6,
6,
6,
5,
5,
7,
20,
23,
20,
23,
21,
24,
22,
25,
23,
24,
24,
25,
21,
24,
22,
25,
4,
7,
4,
8,
4,
8,
16,
7,
16,
5,
16,
5,
4,
4,
15,
16,
15,
16,
15,
16,
15,
16,
15,
16,
15,
16,
15,
16,
15,
16,
15,
16,
15,
16,
2,
5,
11,
11,
3,
3,
0,
0,
4,
3,
7,
3,
7,
3,
7,
3,
7,
2,
6,
0,
0,
0,
0,
4,
4,
4,
4,
4,
4,
4,
4,
3,
6,
0,
0,
0,
0,
10,
14,
3,
7,
2,
6,
0,
0,
11,
11,
4,
4,
3,
6,
0,
0,
8,
9,
8,
9,
8,
12,
8,
9,
8,
12,
8,
9,
8,
9,
8,
9,
8,
9,
8,
12,
8,
12,
8,
12,
8,
9,
8,
9,
8,
9,
8,
9,
8,
9,
8,
9,
8,
9,
8,
9,
0,
5,
4,
7,
24,
0,
8,
17,
12,
17,
8,
17,
12,
17,
12,
12,
6,
13,
27,
13,
27,
15,
29,
13,
27,
13,
27,
18,
32,
13,
27,
13,
27,
13,
27,
13,
27,
13,
27,
13,
27,
13,
27,
13,
27,
8,
0,
8,
4,
10,
15,
4,
8,
5,
5,
6,
10,
7,
7,
10,
18,
10,
18,
12,
20,
10,
18,
10,
18,
13,
21,
10,
18,
10,
18,
10,
18,
10,
18,
10,
18,
10,
18,
10,
18,
10,
18,
0,
8,
26,
12,
26,
8,
26,
12,
26,
18,
13,
6,
13,
37,
13,
37,
15,
39,
13,
37,
13,
37,
18,
42,
13,
37,
13,
37,
13,
37,
13,
37,
13,
37,
13,
37,
13,
37,
13,
37,
8,
0,
8,
4,
10,
24,
4,
8,
5,
8,
6,
10,
7,
7,
10,
28,
10,
28,
12,
30,
10,
28,
10,
28,
13,
31,
10,
28,
10,
28,
10,
28,
10,
28,
10,
28,
10,
28,
10,
28,
10,
28,
0,
0,
0,
0,
0,
0,
0,
0,
0,
10,
10,
#endif /* __WORDSIZE */
#if __WORDSIZE == 64
#if __CYGWIN__
#define JIT_INSTR_MAX 71
0,
0,
0,
0,
0,
0,
7,
71,
0,
4,
13,
6,
13,
6,
7,
6,
13,
9,
13,
9,
7,
7,
14,
20,
30,
20,
30,
22,
29,
23,
30,
25,
32,
26,
33,
22,
29,
23,
30,
6,
13,
6,
13,
6,
13,
9,
8,
9,
7,
9,
7,
6,
6,
13,
14,
13,
14,
13,
14,
13,
14,
13,
14,
13,
14,
13,
14,
13,
14,
13,
14,
13,
14,
3,
10,
7,
7,
4,
4,
3,
3,
6,
4,
15,
4,
15,
4,
15,
4,
15,
3,
14,
3,
14,
3,
14,
5,
8,
5,
8,
5,
8,
5,
8,
4,
7,
4,
6,
4,
7,
6,
17,
4,
15,
3,
14,
3,
14,
7,
7,
5,
5,
4,
6,
4,
8,
9,
10,
9,
10,
9,
13,
9,
10,
9,
19,
9,
10,
9,
10,
9,
10,
9,
10,
9,
19,
9,
13,
9,
13,
9,
10,
9,
10,
9,
10,
9,
10,
9,
10,
9,
10,
9,
10,
9,
10,
3,
5,
3,
13,
68,
0,
10,
21,
15,
21,
10,
21,
15,
21,
15,
15,
5,
16,
31,
16,
31,
18,
33,
16,
31,
16,
31,
20,
35,
16,
31,
16,
31,
16,
31,
16,
31,
16,
31,
16,
31,
16,
31,
16,
31,
5,
5,
5,
5,
5,
15,
5,
16,
6,
8,
5,
16,
6,
9,
10,
21,
10,
24,
12,
27,
10,
25,
10,
25,
13,
28,
10,
25,
10,
25,
10,
25,
10,
25,
10,
25,
10,
25,
10,
25,
10,
25,
0,
10,
25,
15,
25,
10,
25,
15,
25,
22,
16,
5,
17,
32,
17,
32,
19,
34,
17,
32,
17,
32,
21,
36,
17,
32,
17,
32,
17,
32,
17,
32,
17,
32,
17,
32,
17,
32,
17,
32,
5,
5,
5,
5,
5,
15,
5,
16,
6,
8,
5,
16,
6,
9,
11,
26,
11,
26,
13,
28,
11,
26,
11,
26,
14,
29,
11,
26,
11,
26,
11,
26,
11,
26,
11,
26,
11,
26,
11,
26,
11,
26,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
#else
#define JIT_INSTR_MAX 43
0,
0,
0,
0,
0,
0,
7,
43,
0,
5,
13,
6,
13,
6,
7,
6,
13,
9,
13,
9,
7,
7,
14,
20,
30,
20,
30,
22,
29,
23,
30,
25,
32,
26,
33,
22,
29,
23,
30,
6,
13,
6,
13,
6,
13,
9,
8,
9,
7,
9,
7,
6,
6,
13,
14,
13,
14,
13,
14,
13,
14,
13,
14,
13,
14,
13,
14,
13,
14,
13,
14,
13,
14,
3,
10,
4,
4,
4,
4,
3,
3,
6,
5,
9,
5,
9,
5,
9,
5,
9,
4,
8,
4,
8,
4,
8,
6,
5,
6,
5,
6,
5,
6,
5,
5,
7,
5,
4,
5,
7,
4,
8,
5,
9,
4,
8,
4,
8,
5,
4,
6,
5,
5,
6,
5,
7,
9,
10,
9,
10,
9,
13,
9,
10,
9,
19,
9,
10,
9,
10,
9,
10,
9,
10,
9,
19,
9,
13,
9,
13,
9,
10,
9,
10,
9,
10,
9,
10,
9,
10,
9,
10,
9,
10,
9,
10,
0,
5,
3,
13,
37,
0,
10,
20,
15,
20,
10,
20,
15,
20,
14,
15,
5,
11,
26,
11,
26,
13,
28,
11,
26,
11,
26,
16,
31,
11,
26,
11,
26,
11,
26,
11,
26,
11,
26,
11,
26,
11,
26,
11,
26,
5,
5,
5,
5,
5,
15,
6,
10,
7,
6,
6,
10,
7,
7,
10,
20,
10,
25,
12,
27,
10,
25,
10,
25,
13,
28,
10,
25,
10,
25,
10,
25,
10,
25,
10,
25,
10,
25,
10,
25,
10,
25,
0,
10,
25,
15,
25,
10,
25,
15,
25,
21,
16,
5,
12,
27,
12,
27,
14,
29,
12,
27,
12,
27,
17,
32,
12,
27,
12,
27,
12,
27,
12,
27,
12,
27,
12,
27,
12,
27,
12,
27,
5,
5,
5,
5,
5,
15,
6,
10,
7,
6,
6,
10,
7,
7,
11,
26,
11,
26,
13,
28,
11,
26,
11,
26,
14,
29,
11,
26,
11,
26,
11,
26,
11,
26,
11,
26,
11,
26,
11,
26,
11,
26,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
#endif /* __CYGWIN__ */
#endif /* __WORDSIZE */