src/share/vm/oops/klassVtable.hpp
Print this page
*** 1,7 ****
/*
! * Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 20,29 ****
--- 20,37 ----
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
+ #ifndef SHARE_VM_OOPS_KLASSVTABLE_HPP
+ #define SHARE_VM_OOPS_KLASSVTABLE_HPP
+
+ #include "memory/allocation.hpp"
+ #include "oops/oopsHierarchy.hpp"
+ #include "runtime/handles.hpp"
+ #include "utilities/growableArray.hpp"
+
// A klassVtable abstracts the variable-length vtable that is embedded in instanceKlass
// and arrayKlass. klassVtable objects are used just as convenient transient accessors to the vtable,
// not to actually hold the vtable data.
// Note: the klassVtable should not be accessed before the class has been verified
// (until that point, the vtable is uninitialized).
*** 317,321 ****
--- 325,331 ----
NOT_PRODUCT(static int _total_classes;) // Total no. of classes with itables
NOT_PRODUCT(static long _total_size;) // Total no. of bytes used for itables
static void update_stats(int size) PRODUCT_RETURN NOT_PRODUCT({ _total_classes++; _total_size += size; })
};
+
+ #endif // SHARE_VM_OOPS_KLASSVTABLE_HPP