comparison src/share/vm/ci/ciSignature.cpp @ 6822:f6b0eb4e44cf

7200949: JSR 292: rubybench/bench/time/bench_base64.rb fails with jruby.jar not on boot class path Reviewed-by: jrose, kvn
author twisti
date Mon, 01 Oct 2012 14:50:10 -0700
parents 5eb9169b1a14
children 78bbf4d43a14
comparison
equal deleted inserted replaced
6811:1b582b1bf7cb 6822:f6b0eb4e44cf
21 * questions. 21 * questions.
22 * 22 *
23 */ 23 */
24 24
25 #include "precompiled.hpp" 25 #include "precompiled.hpp"
26 #include "ci/ciMethodType.hpp"
26 #include "ci/ciSignature.hpp" 27 #include "ci/ciSignature.hpp"
27 #include "ci/ciUtilities.hpp" 28 #include "ci/ciUtilities.hpp"
28 #include "memory/allocation.inline.hpp" 29 #include "memory/allocation.inline.hpp"
29 #include "oops/oop.inline.hpp" 30 #include "oops/oop.inline.hpp"
30 #include "runtime/signature.hpp" 31 #include "runtime/signature.hpp"
78 _size = size; 79 _size = size;
79 _count = count; 80 _count = count;
80 } 81 }
81 82
82 // ------------------------------------------------------------------ 83 // ------------------------------------------------------------------
84 // ciSignature::ciSignature
85 ciSignature::ciSignature(ciKlass* accessing_klass, ciSymbol* symbol, ciMethodType* method_type) :
86 _symbol(symbol),
87 _accessing_klass(accessing_klass),
88 _size( method_type->ptype_slot_count()),
89 _count(method_type->ptype_count())
90 {
91 ASSERT_IN_VM;
92 EXCEPTION_CONTEXT;
93 Arena* arena = CURRENT_ENV->arena();
94 _types = new (arena) GrowableArray<ciType*>(arena, _count + 1, 0, NULL);
95 for (int i = 0; i < _count; i++) {
96 _types->append(method_type->ptype_at(i));
97 }
98 _types->append(method_type->rtype());
99 }
100
101 // ------------------------------------------------------------------
83 // ciSignature::return_type 102 // ciSignature::return_type
84 // 103 //
85 // What is the return type of this signature? 104 // What is the return type of this signature?
86 ciType* ciSignature::return_type() const { 105 ciType* ciSignature::return_type() const {
87 return _types->at(_count); 106 return _types->at(_count);