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?