comparison src/share/vm/oops/klassVtable.hpp @ 1972:f95d63e2154a

6989984: Use standard include model for Hospot Summary: Replaced MakeDeps and the includeDB files with more standardized solutions. Reviewed-by: coleenp, kvn, kamg
author stefank
date Tue, 23 Nov 2010 13:22:55 -0800
parents c18cbe5936b8
children 3582bf76420e
comparison
equal deleted inserted replaced
1971:e33f46fc48ed 1972:f95d63e2154a
1 /* 1 /*
2 * Copyright (c) 1997, 2009, 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_OOPS_KLASSVTABLE_HPP
26 #define SHARE_VM_OOPS_KLASSVTABLE_HPP
27
28 #include "memory/allocation.hpp"
29 #include "oops/oopsHierarchy.hpp"
30 #include "runtime/handles.hpp"
31 #include "utilities/growableArray.hpp"
24 32
25 // A klassVtable abstracts the variable-length vtable that is embedded in instanceKlass 33 // A klassVtable abstracts the variable-length vtable that is embedded in instanceKlass
26 // and arrayKlass. klassVtable objects are used just as convenient transient accessors to the vtable, 34 // and arrayKlass. klassVtable objects are used just as convenient transient accessors to the vtable,
27 // not to actually hold the vtable data. 35 // not to actually hold the vtable data.
28 // Note: the klassVtable should not be accessed before the class has been verified 36 // Note: the klassVtable should not be accessed before the class has been verified
317 NOT_PRODUCT(static int _total_classes;) // Total no. of classes with itables 325 NOT_PRODUCT(static int _total_classes;) // Total no. of classes with itables
318 NOT_PRODUCT(static long _total_size;) // Total no. of bytes used for itables 326 NOT_PRODUCT(static long _total_size;) // Total no. of bytes used for itables
319 327
320 static void update_stats(int size) PRODUCT_RETURN NOT_PRODUCT({ _total_classes++; _total_size += size; }) 328 static void update_stats(int size) PRODUCT_RETURN NOT_PRODUCT({ _total_classes++; _total_size += size; })
321 }; 329 };
330
331 #endif // SHARE_VM_OOPS_KLASSVTABLE_HPP