1 /* |
1 /* |
2 * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2010, 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. |
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
20 * or visit www.oracle.com if you need additional information or have any |
20 * or visit www.oracle.com if you need additional information or have any |
21 * questions. |
21 * questions. |
22 * |
22 * |
23 */ |
23 */ |
|
24 |
|
25 #ifndef SHARE_VM_CODE_VTABLESTUBS_HPP |
|
26 #define SHARE_VM_CODE_VTABLESTUBS_HPP |
|
27 |
|
28 #include "memory/allocation.hpp" |
24 |
29 |
25 // A VtableStub holds an individual code stub for a pair (vtable index, #args) for either itables or vtables |
30 // A VtableStub holds an individual code stub for a pair (vtable index, #args) for either itables or vtables |
26 // There's a one-to-one relationship between a VtableStub and such a pair. |
31 // There's a one-to-one relationship between a VtableStub and such a pair. |
27 |
32 |
28 class VtableStub { |
33 class VtableStub { |
119 static bool contains(address pc); // is pc within any stub? |
124 static bool contains(address pc); // is pc within any stub? |
120 static VtableStub* stub_containing(address pc); // stub containing pc or NULL |
125 static VtableStub* stub_containing(address pc); // stub containing pc or NULL |
121 static int number_of_vtable_stubs() { return _number_of_vtable_stubs; } |
126 static int number_of_vtable_stubs() { return _number_of_vtable_stubs; } |
122 static void initialize(); |
127 static void initialize(); |
123 }; |
128 }; |
|
129 |
|
130 #endif // SHARE_VM_CODE_VTABLESTUBS_HPP |