2362N/A * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 2362N/A * published by the Free Software Foundation. 2362N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 0N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 0N/A// This class represents a klassOop in the HotSpot virtual 0N/A// ------------------------------------------------------------------ 0N/A// ------------------------------------------------------------------ 0N/A// Nameless klass variant. 0N/A// ------------------------------------------------------------------ 0N/A// Unloaded klass variant. 0N/A// ------------------------------------------------------------------ 0N/A// ciKlass::is_subtype_of 0N/A // Check to see if the klasses are identical. 0N/A// ------------------------------------------------------------------ 0N/A// ciKlass::is_subclass_of 0N/A // Check to see if the klasses are identical. 0N/A// ------------------------------------------------------------------ 0N/A// ciKlass::super_depth 0N/A// ------------------------------------------------------------------ 0N/A// ciKlass::super_check_offset 0N/A// ------------------------------------------------------------------ 0N/A// ciKlass::super_of_depth 0N/A// ------------------------------------------------------------------ 0N/A// ciKlass::can_be_primary_super 0N/A// ------------------------------------------------------------------ 0N/A// ciKlass::least_common_ancestor 0N/A// Get the shared parent of two klasses. 0N/A// Implementation note: this method currently goes "over the wall" 0N/A// and does all of the work on the VM side. It could be rewritten 0N/A// to use the super() method and do all of the work (aside from the 0N/A// lazy computation of super()) in native mode. This may be 0N/A// worthwhile if the compiler is repeatedly requesting the same lca 0N/A// computation or possibly if most of the superklasses have already 0N/A// been created as ciObjects anyway. Something to think about... 0N/A // Check to see if the klasses are identical. 0N/A // Many times the LCA will be either this_klass or that_klass. 0N/A // Treat these as special cases. 0N/A // Create the ciInstanceKlass for the lca. 0N/A// ------------------------------------------------------------------ 0N/A// ciKlass::find_klass 0N/A// Find a klass using this klass's class loader. 0N/A// ------------------------------------------------------------------ 0N/A// ciKlass::java_mirror 0N/A// Get the instance of java.lang.Class corresponding to this klass. 0N/A// If it is an unloaded instance or array klass, return an unloaded 0N/A// mirror object of type Class. 0N/A// ------------------------------------------------------------------ 0N/A// ciKlass::modifier_flags 0N/A// ------------------------------------------------------------------ 0N/A// ciKlass::access_flags 0N/A// ------------------------------------------------------------------ 0N/A// ciKlass::print_impl 0N/A// Implementation of the print method 0N/A// ------------------------------------------------------------------ 0N/A// ciKlass::print_name 0N/A// Print the name of this klass