src/share/vm/ci/ciType.cpp

changeset 4037
da91efe96a93
parent 2314
f95d63e2154a
child 4278
070d523b96a7
     1.1 --- a/src/share/vm/ci/ciType.cpp	Fri Aug 31 16:39:35 2012 -0700
     1.2 +++ b/src/share/vm/ci/ciType.cpp	Sat Sep 01 13:25:18 2012 -0400
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -23,6 +23,7 @@
    1.11   */
    1.12  
    1.13  #include "precompiled.hpp"
    1.14 +#include "ci/ciEnv.hpp"
    1.15  #include "ci/ciType.hpp"
    1.16  #include "ci/ciUtilities.hpp"
    1.17  #include "classfile/systemDictionary.hpp"
    1.18 @@ -38,20 +39,15 @@
    1.19  // ------------------------------------------------------------------
    1.20  // ciType::ciType
    1.21  //
    1.22 -ciType::ciType(BasicType basic_type) : ciObject() {
    1.23 +ciType::ciType(BasicType basic_type) : ciMetadata() {
    1.24    assert(basic_type >= T_BOOLEAN && basic_type <= T_CONFLICT, "range check");
    1.25 -  assert(basic_type != T_OBJECT && basic_type != T_ARRAY, "not a reference type");
    1.26    _basic_type = basic_type;
    1.27  }
    1.28  
    1.29 -ciType::ciType(KlassHandle k) : ciObject(k) {
    1.30 +ciType::ciType(KlassHandle k) : ciMetadata(k()) {
    1.31    _basic_type = Klass::cast(k())->oop_is_array() ? T_ARRAY : T_OBJECT;
    1.32  }
    1.33  
    1.34 -ciType::ciType(ciKlass* klass) : ciObject(klass) {
    1.35 -  _basic_type = klass->is_array_klass_klass() ? T_ARRAY : T_OBJECT;
    1.36 -}
    1.37 -
    1.38  
    1.39  // ------------------------------------------------------------------
    1.40  // ciType::is_subtype_of
    1.41 @@ -87,7 +83,7 @@
    1.42  //
    1.43  ciInstance* ciType::java_mirror() {
    1.44    VM_ENTRY_MARK;
    1.45 -  return CURRENT_THREAD_ENV->get_object(Universe::java_mirror(basic_type()))->as_instance();
    1.46 +  return CURRENT_THREAD_ENV->get_instance(Universe::java_mirror(basic_type()));
    1.47  }
    1.48  
    1.49  // ------------------------------------------------------------------
    1.50 @@ -100,7 +96,7 @@
    1.51    if (basic_type() == T_VOID)  return NULL;
    1.52  
    1.53    VM_ENTRY_MARK;
    1.54 -  return CURRENT_THREAD_ENV->get_object(SystemDictionary::box_klass(basic_type()))->as_instance_klass();
    1.55 +  return CURRENT_THREAD_ENV->get_instance_klass(SystemDictionary::box_klass(basic_type()));
    1.56  }
    1.57  
    1.58  

mercurial