hotspot/src/cpu/x86/vm/vtableStubs_x86_32.cpp
changeset 24424 2658d7834c6e
parent 22234 da823d78ad65
child 31592 43f48e165466
equal deleted inserted replaced
24358:8528b67f6562 24424:2658d7834c6e
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
   116 
   116 
   117   masm->flush();
   117   masm->flush();
   118 
   118 
   119   if (PrintMiscellaneous && (WizardMode || Verbose)) {
   119   if (PrintMiscellaneous && (WizardMode || Verbose)) {
   120     tty->print_cr("vtable #%d at "PTR_FORMAT"[%d] left over: %d",
   120     tty->print_cr("vtable #%d at "PTR_FORMAT"[%d] left over: %d",
   121                   vtable_index, s->entry_point(),
   121                   vtable_index, p2i(s->entry_point()),
   122                   (int)(s->code_end() - s->entry_point()),
   122                   (int)(s->code_end() - s->entry_point()),
   123                   (int)(s->code_end() - __ pc()));
   123                   (int)(s->code_end() - __ pc()));
   124   }
   124   }
   125   guarantee(__ pc() <= s->code_end(), "overflowed buffer");
   125   guarantee(__ pc() <= s->code_end(), "overflowed buffer");
   126   // shut the door on sizing bugs
   126   // shut the door on sizing bugs
   197   __ jump(RuntimeAddress(StubRoutines::throw_IncompatibleClassChangeError_entry()));
   197   __ jump(RuntimeAddress(StubRoutines::throw_IncompatibleClassChangeError_entry()));
   198   masm->flush();
   198   masm->flush();
   199 
   199 
   200   if (PrintMiscellaneous && (WizardMode || Verbose)) {
   200   if (PrintMiscellaneous && (WizardMode || Verbose)) {
   201     tty->print_cr("itable #%d at "PTR_FORMAT"[%d] left over: %d",
   201     tty->print_cr("itable #%d at "PTR_FORMAT"[%d] left over: %d",
   202                   itable_index, s->entry_point(),
   202                   itable_index, p2i(s->entry_point()),
   203                   (int)(s->code_end() - s->entry_point()),
   203                   (int)(s->code_end() - s->entry_point()),
   204                   (int)(s->code_end() - __ pc()));
   204                   (int)(s->code_end() - __ pc()));
   205   }
   205   }
   206   guarantee(__ pc() <= s->code_end(), "overflowed buffer");
   206   guarantee(__ pc() <= s->code_end(), "overflowed buffer");
   207   // shut the door on sizing bugs
   207   // shut the door on sizing bugs