1 /* |
1 /* |
2 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. |
2 * Copyright 1997-2009 Sun Microsystems, Inc. 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. |
296 static int compute_itable_size(objArrayHandle transitive_interfaces); |
296 static int compute_itable_size(objArrayHandle transitive_interfaces); |
297 static void setup_itable_offset_table(instanceKlassHandle klass); |
297 static void setup_itable_offset_table(instanceKlassHandle klass); |
298 |
298 |
299 // Resolving of method to index |
299 // Resolving of method to index |
300 static int compute_itable_index(methodOop m); |
300 static int compute_itable_index(methodOop m); |
|
301 // ...and back again: |
|
302 static methodOop method_for_itable_index(klassOop klass, int itable_index); |
301 |
303 |
302 // Debugging/Statistics |
304 // Debugging/Statistics |
303 static void print_statistics() PRODUCT_RETURN; |
305 static void print_statistics() PRODUCT_RETURN; |
304 private: |
306 private: |
305 intptr_t* vtable_start() const { return ((intptr_t*)_klass()) + _table_offset; } |
307 intptr_t* vtable_start() const { return ((intptr_t*)_klass()) + _table_offset; } |