annotate README @ 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 a61af66fc99e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 README:
a61af66fc99e Initial load
duke
parents:
diff changeset
2 This file should be located at the top of the hotspot Mercurial repository.
a61af66fc99e Initial load
duke
parents:
diff changeset
3
a61af66fc99e Initial load
duke
parents:
diff changeset
4 See http://openjdk.java.net/ for more information about the OpenJDK.
a61af66fc99e Initial load
duke
parents:
diff changeset
5
a61af66fc99e Initial load
duke
parents:
diff changeset
6 See ../README-builds.html for complete details on build machine requirements.
a61af66fc99e Initial load
duke
parents:
diff changeset
7
a61af66fc99e Initial load
duke
parents:
diff changeset
8 Simple Build Instructions:
a61af66fc99e Initial load
duke
parents:
diff changeset
9
a61af66fc99e Initial load
duke
parents:
diff changeset
10 cd make && gnumake
a61af66fc99e Initial load
duke
parents:
diff changeset
11
a61af66fc99e Initial load
duke
parents:
diff changeset
12 The files that will be imported into the jdk build will be in the "build"
a61af66fc99e Initial load
duke
parents:
diff changeset
13 directory.
a61af66fc99e Initial load
duke
parents:
diff changeset
14