equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2018, 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. |
124 static address find_stub (bool is_vtable_stub, int vtable_index); |
124 static address find_stub (bool is_vtable_stub, int vtable_index); |
125 |
125 |
126 public: |
126 public: |
127 static address find_vtable_stub(int vtable_index) { return find_stub(true, vtable_index); } |
127 static address find_vtable_stub(int vtable_index) { return find_stub(true, vtable_index); } |
128 static address find_itable_stub(int itable_index) { return find_stub(false, itable_index); } |
128 static address find_itable_stub(int itable_index) { return find_stub(false, itable_index); } |
129 static bool is_entry_point(address pc); // is pc a vtable stub entry point? |
129 static VtableStub* entry_point(address pc); // vtable stub entry point for a pc |
130 static bool contains(address pc); // is pc within any stub? |
130 static bool contains(address pc); // is pc within any stub? |
131 static VtableStub* stub_containing(address pc); // stub containing pc or NULL |
131 static VtableStub* stub_containing(address pc); // stub containing pc or NULL |
132 static int number_of_vtable_stubs() { return _number_of_vtable_stubs; } |
132 static int number_of_vtable_stubs() { return _number_of_vtable_stubs; } |
133 static void initialize(); |
133 static void initialize(); |
134 static void vtable_stub_do(void f(VtableStub*)); // iterates over all vtable stubs |
134 static void vtable_stub_do(void f(VtableStub*)); // iterates over all vtable stubs |