src/share/vm/ci/ciSignature.cpp

changeset 4133
f6b0eb4e44cf
parent 3197
5eb9169b1a14
child 6680
78bbf4d43a14
     1.1 --- a/src/share/vm/ci/ciSignature.cpp	Fri Sep 28 14:36:20 2012 -0700
     1.2 +++ b/src/share/vm/ci/ciSignature.cpp	Mon Oct 01 14:50:10 2012 -0700
     1.3 @@ -23,6 +23,7 @@
     1.4   */
     1.5  
     1.6  #include "precompiled.hpp"
     1.7 +#include "ci/ciMethodType.hpp"
     1.8  #include "ci/ciSignature.hpp"
     1.9  #include "ci/ciUtilities.hpp"
    1.10  #include "memory/allocation.inline.hpp"
    1.11 @@ -80,6 +81,24 @@
    1.12  }
    1.13  
    1.14  // ------------------------------------------------------------------
    1.15 +// ciSignature::ciSignature
    1.16 +ciSignature::ciSignature(ciKlass* accessing_klass, ciSymbol* symbol, ciMethodType* method_type) :
    1.17 +  _symbol(symbol),
    1.18 +  _accessing_klass(accessing_klass),
    1.19 +  _size( method_type->ptype_slot_count()),
    1.20 +  _count(method_type->ptype_count())
    1.21 +{
    1.22 +  ASSERT_IN_VM;
    1.23 +  EXCEPTION_CONTEXT;
    1.24 +  Arena* arena = CURRENT_ENV->arena();
    1.25 +  _types = new (arena) GrowableArray<ciType*>(arena, _count + 1, 0, NULL);
    1.26 +  for (int i = 0; i < _count; i++) {
    1.27 +    _types->append(method_type->ptype_at(i));
    1.28 +  }
    1.29 +  _types->append(method_type->rtype());
    1.30 +}
    1.31 +
    1.32 +// ------------------------------------------------------------------
    1.33  // ciSignature::return_type
    1.34  //
    1.35  // What is the return type of this signature?

mercurial