Request for reviews (S): 6827505: sizing logic for vtable and itable stubs needs self-check

Vladimir Kozlov Vladimir.Kozlov at Sun.COM
Tue Apr 7 16:42:16 PDT 2009

John Rose wrote:
> Here are some simple asserts and comments which should make it easier to 
> maintain the correct sizing of certain stubs:

Why the assert checks the room only for first 9 entries?:
"table_index > 10 ||"

Why you did not add +5 for sparc LP64 for slop?:

int slop = (2 LP64_ONLY(+5))*BytesPerInstWord;

For x64 (64-bit x86) the address could be unreachable,
so the slop should be large:

void MacroAssembler::jump(AddressLiteral dst) {
   if (reachable(dst)) {
     jmp_literal(, dst.rspec());
   } else {
     lea(rscratch1, dst);


> This is a follow-up to my push regarding itable stubs, which changed the 
> sizing:
> On retrospect, I wasn't satisfied with the robustness of the sizing 
> logic.  Clearly something more automatic could be done, but I'll leave 
> that for someone else to do.  Meanwhile, these comments and asserts are 
> safe and simple.
> -- John

More information about the hotspot-compiler-dev mailing list