Mercurial > hg > truffle
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); |