annotate test/compiler/5091921/output6890943.txt @ 11825:463f51256c86

AMD64HotSpot: emit jump to IC miss handler directly instead of emitting it inside verfied_entry for empty methods we emitted something like this if a inline cache is needed: prefix: 00: < IC check > ... 0b: jne <ic_miss_call> 11: nop ... verified_entry: 20: ret ic_miss_call: 21: jmp <entry of runtime function> when a method is deoptimized, HotSpot patches the verified_entry (0x20) with a jump to a stub that handles call-sites that has been made non-entrant. since this jump is 5 bytes long, it will overwrite ic_miss_call and blow up every caller that calls this method via the unverified entry (prefix). the fix is to emit the jump to the runtime function inside the unverfied entry: prefix: 00: < IC check > ... 0b: je <verified_entry> 11: jeq <entry of runtime function> 16: nop ... verified_entry: 20: ret
author Bernhard Urban <bernhard.urban@jku.at>
date Mon, 30 Sep 2013 09:32:18 +0200
parents bad7ecd0b6ed
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3345
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
1 Case #1: Yes 2
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
2 Case #2: Yes 2
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
3 Case #3: Yes 1
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
4 Case #4: Yes 0
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
5 Case #5: No
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
6 Case #6: No
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
7 Case #7: Yes 6
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
8 Case #8: Yes 6
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
9 Case #9: No
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
10 Case #10: Yes 1
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
11 Case #11: Yes 6
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
12 Case #12: Yes 0
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
13 Case #13: No
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
14 Case #14: Yes 22
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
15 Case #15: Yes 1225
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
16 Case #16: Yes 178
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
17 Case #17: No
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
18 Case #18: Yes 1
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
19 Case #19: Yes 7
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
20 Case #20: Yes 2
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
21 Case #21: Yes 1
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
22 Case #22: No
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
23 Case #23: Yes 3
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
24 Case #24: Yes 1
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
25 Case #25: Yes 7
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
26 Case #26: No
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
27 Case #27: Yes 2
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
28 Case #28: Yes 4
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
29 Case #29: Yes 2
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
30 Case #30: Yes 1
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
31 Case #31: Yes 2
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
32 Case #32: Yes 20
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
33 Case #33: Yes 161
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
34 Case #34: Yes 48
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
35 Case #35: No
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
36 Case #36: Yes 218
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
37 Case #37: Yes 51
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
38 Case #38: Yes 247
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
39 Case #39: Yes 32
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
40 Case #40: Yes 31
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
41 Case #41: Yes 31
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
42 Case #42: Yes 25
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
43 Case #43: Yes 17
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
44 Case #44: Yes 2
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
45 Case #45: Yes 61
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
46 Case #46: Yes 25
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
47 Case #47: No
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
48 Case #48: No
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
49 Case #49: Yes 8
bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer
kvn
parents:
diff changeset
50 Case #50: Yes 0