diff src/share/vm/ci/ciKlass.cpp @ 6948:e522a00b91aa

Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/ after NPG - C++ build works
author Doug Simon <doug.simon@oracle.com>
date Mon, 12 Nov 2012 23:14:12 +0100
parents 532be189cf09 da91efe96a93
children ce248dc0a656
line wrap: on
line diff
--- a/src/share/vm/ci/ciKlass.cpp	Mon Nov 12 18:11:17 2012 +0100
+++ b/src/share/vm/ci/ciKlass.cpp	Mon Nov 12 23:14:12 2012 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2012, 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
@@ -30,13 +30,13 @@
 
 // ciKlass
 //
-// This class represents a klassOop in the HotSpot virtual
+// This class represents a Klass* in the HotSpot virtual
 // machine.
 
 // ------------------------------------------------------------------
 // ciKlass::ciKlass
 ciKlass::ciKlass(KlassHandle h_k) : ciType(h_k) {
-  assert(get_oop()->is_klass(), "wrong type");
+  assert(get_Klass()->is_klass(), "wrong type");
   Klass* k = get_Klass();
   _layout_helper = k->layout_helper();
   Symbol* klass_name = k->name();
@@ -49,7 +49,7 @@
 //
 // Nameless klass variant.
 ciKlass::ciKlass(KlassHandle h_k, ciSymbol* name) : ciType(h_k) {
-  assert(get_oop()->is_klass(), "wrong type");
+  assert(get_Klass()->is_klass(), "wrong type");
   _name = name;
   _layout_helper = Klass::_lh_neutral_value;
 }
@@ -58,7 +58,7 @@
 // ciKlass::ciKlass
 //
 // Unloaded klass variant.
-ciKlass::ciKlass(ciSymbol* name, ciKlass* klass) : ciType(klass) {
+ciKlass::ciKlass(ciSymbol* name, BasicType bt) : ciType(bt) {
   _name = name;
   _layout_helper = Klass::_lh_neutral_value;
 }
@@ -67,7 +67,6 @@
 // ciKlass::is_subtype_of
 bool ciKlass::is_subtype_of(ciKlass* that) {
   assert(is_loaded() && that->is_loaded(), "must be loaded");
-  assert(is_java_klass() && that->is_java_klass(), "must be java klasses");
   // Check to see if the klasses are identical.
   if (this == that) {
     return true;
@@ -76,7 +75,7 @@
   VM_ENTRY_MARK;
 #endif
   Klass* this_klass = get_Klass();
-  klassOop that_klass = that->get_klassOop();
+  Klass* that_klass = that->get_Klass();
   bool result = this_klass->is_subtype_of(that_klass);
 
   return result;
@@ -86,12 +85,11 @@
 // ciKlass::is_subclass_of
 bool ciKlass::is_subclass_of(ciKlass* that) {
   assert(is_loaded() && that->is_loaded(), "must be loaded");
-  assert(is_java_klass() && that->is_java_klass(), "must be java klasses");
   // Check to see if the klasses are identical.
 
   VM_ENTRY_MARK;
   Klass* this_klass = get_Klass();
-  klassOop that_klass = that->get_klassOop();
+  Klass* that_klass = that->get_Klass();
   bool result = this_klass->is_subclass_of(that_klass);
 
   return result;
@@ -101,7 +99,6 @@
 // ciKlass::super_depth
 juint ciKlass::super_depth() {
   assert(is_loaded(), "must be loaded");
-  assert(is_java_klass(), "must be java klasses");
 
   VM_ENTRY_MARK;
   Klass* this_klass = get_Klass();
@@ -112,7 +109,6 @@
 // ciKlass::super_check_offset
 juint ciKlass::super_check_offset() {
   assert(is_loaded(), "must be loaded");
-  assert(is_java_klass(), "must be java klasses");
 
   VM_ENTRY_MARK;
   Klass* this_klass = get_Klass();
@@ -123,19 +119,17 @@
 // ciKlass::super_of_depth
 ciKlass* ciKlass::super_of_depth(juint i) {
   assert(is_loaded(), "must be loaded");
-  assert(is_java_klass(), "must be java klasses");
 
   VM_ENTRY_MARK;
   Klass* this_klass = get_Klass();
-  klassOop super = this_klass->primary_super_of_depth(i);
-  return (super != NULL) ? CURRENT_THREAD_ENV->get_object(super)->as_klass() : NULL;
+  Klass* super = this_klass->primary_super_of_depth(i);
+  return (super != NULL) ? CURRENT_THREAD_ENV->get_klass(super) : NULL;
 }
 
 // ------------------------------------------------------------------
 // ciKlass::can_be_primary_super
 bool ciKlass::can_be_primary_super() {
   assert(is_loaded(), "must be loaded");
-  assert(is_java_klass(), "must be java klasses");
 
   VM_ENTRY_MARK;
   Klass* this_klass = get_Klass();
@@ -157,7 +151,6 @@
 ciKlass*
 ciKlass::least_common_ancestor(ciKlass* that) {
   assert(is_loaded() && that->is_loaded(), "must be loaded");
-  assert(is_java_klass() && that->is_java_klass(), "must be java klasses");
   // Check to see if the klasses are identical.
   if (this == that) {
     return this;
@@ -179,7 +172,7 @@
 
   // Create the ciInstanceKlass for the lca.
   ciKlass* result =
-    CURRENT_THREAD_ENV->get_object(lca->as_klassOop())->as_klass();
+    CURRENT_THREAD_ENV->get_klass(lca);
 
   return result;
 }
@@ -205,7 +198,7 @@
     if (!is_loaded())
       return ciEnv::current()->get_unloaded_klass_mirror(this);
     oop java_mirror = get_Klass()->java_mirror();
-    return CURRENT_ENV->get_object(java_mirror)->as_instance();
+    return CURRENT_ENV->get_instance(java_mirror);
   )
 }